Send commitlog mailing list submissions to
        [email protected]

To subscribe or unsubscribe via the World Wide Web, visit
        http://lists.openmoko.org/mailman/listinfo/commitlog
or, via email, send a message with subject or body 'help' to
        [EMAIL PROTECTED]

You can reach the person managing the list at
        [EMAIL PROTECTED]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of commitlog digest..."
Today's Topics:

   1. r2158 - in trunk/src/target/OM-2007/openmoko-libs: .
      libmokoui ([EMAIL PROTECTED])
   2. r2159 -
      trunk/src/target/OM-2007/artwork/themes/openmoko-standard/gtk-2.0
      ([EMAIL PROTECTED])
   3. r2160 -
      trunk/src/target/OM-2007/applications/openmoko-dialer/src
      ([EMAIL PROTECTED])
   4. r2161 -
      trunk/src/target/OM-2007/applications/openmoko-dialer/src
      ([EMAIL PROTECTED])
   5. r2162 -
      trunk/src/target/OM-2007/applications/openmoko-dialer/src
      ([EMAIL PROTECTED])
   6. r2163 - trunk/src/target/OM-2007/artwork/sounds
      ([EMAIL PROTECTED])
   7. r2164 -
      trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src
      ([EMAIL PROTECTED])
   8. r2165 - in
      trunk/src/target/OM-2007/applications/openmoko-today: . src
      ([EMAIL PROTECTED])
--- Begin Message ---
Author: thomas
Date: 2007-06-05 13:18:52 +0200 (Tue, 05 Jun 2007)
New Revision: 2158

Modified:
   trunk/src/target/OM-2007/openmoko-libs/ChangeLog
   trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-finger-tool-box.c
Log:
        * libmokoui/moko-finger-tool-box.c: (cb_configure): Use bg_pixmap as 
reference
        for compositing pixmap


Modified: trunk/src/target/OM-2007/openmoko-libs/ChangeLog
===================================================================
--- trunk/src/target/OM-2007/openmoko-libs/ChangeLog    2007-06-05 02:52:02 UTC 
(rev 2157)
+++ trunk/src/target/OM-2007/openmoko-libs/ChangeLog    2007-06-05 11:18:52 UTC 
(rev 2158)
@@ -1,3 +1,8 @@
+2007-06-05  Thomas Wood  <[EMAIL PROTECTED]>
+
+       * libmokoui/moko-finger-tool-box.c: (cb_configure): Use bg_pixmap as 
reference
+       for compositing pixmap
+
 2007-05-30  Thomas Wood  <[EMAIL PROTECTED]>
 
        * libmokoui/moko-finger-tool-box.c: (cb_configure): Remove use of

Modified: 
trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-finger-tool-box.c
===================================================================
--- trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-finger-tool-box.c     
2007-06-05 02:52:02 UTC (rev 2157)
+++ trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-finger-tool-box.c     
2007-06-05 11:18:52 UTC (rev 2158)
@@ -64,6 +64,11 @@
 
 } MokoFingerToolBoxPrivate;
 
+static gchar* get_bg_pixmap_name (GtkWidget *widget)
+{
+   return widget->style->rc_style->bg_pixmap_name[GTK_STATE_NORMAL];
+}
+
 static void
 moko_finger_tool_box_dispose (GObject *object)
 {
@@ -182,14 +187,10 @@
     if ( priv->rightArrowVisible ) maxButtonsPerPage--;
     moko_debug( "max buttons per page is %d", maxButtonsPerPage );
 
-    //gtk_widget_ensure_style( GTK_WIDGET(self) );
-    GtkStyle* style = gtk_rc_get_style( GTK_WIDGET(self) );
-    g_assert( style->rc_style );
-
     if ( !priv->background_pixbuf )
     {
         gchar *filename;
-        if (filename = style->rc_style->bg_pixmap_name[GTK_STATE_NORMAL])
+        if (filename = get_bg_pixmap_name (GTK_WIDGET (self)))
         {
           priv->background_pixbuf = gdk_pixbuf_new_from_file( filename, NULL);
           if (!priv->background_pixbuf)
@@ -203,7 +204,12 @@
             g_warning ("moko_finger_tool_box: theme does not specify a 
background image for the finger tool box");
             return;
         }
-
+        /* TODO: ideally this should inspect bg_pixmap of the child items */
+        gchar *dirname = g_path_get_dirname (filename);
+        gchar *buttonfile = g_build_filename (dirname, "btn_type03.png", NULL);
+        priv->button_pixbuf = gdk_pixbuf_new_from_file( buttonfile, NULL);
+        g_free (dirname);
+        g_free (buttonfile);
     }
     GdkPixbuf* pixbuf = gdk_pixbuf_scale_simple( priv->background_pixbuf, 
a->width, a->height, GDK_INTERP_BILINEAR );
     guint w = gdk_pixbuf_get_width( priv->button_pixbuf );
@@ -233,7 +239,7 @@
     {
       /* FIXME: this really should be retrieved from the style */
         if ( !priv->rightarrow_pixbuf )
-            priv->rightarrow_pixbuf = gdk_pixbuf_new_from_file( 
gtk_rc_find_pixmap_in_path (gtk_settings_get_default (), NULL, 
"btn_dialog_next.png"), NULL);
+            priv->rightarrow_pixbuf = gdk_pixbuf_new_from_file( 
get_bg_pixmap_name (priv->rightarrow) , NULL);
 
         guint rightarrow_w = gdk_pixbuf_get_width( priv->rightarrow_pixbuf );
         guint rightarrow_h = gdk_pixbuf_get_height( priv->rightarrow_pixbuf );




--- End Message ---
--- Begin Message ---
Author: thomas
Date: 2007-06-05 13:19:35 +0200 (Tue, 05 Jun 2007)
New Revision: 2159

Modified:
   
trunk/src/target/OM-2007/artwork/themes/openmoko-standard/gtk-2.0/mokofingertoolbox
Log:
theme: add bg_pixmaps to mokofingertoolbox to be used when compositing the
toolbox


Modified: 
trunk/src/target/OM-2007/artwork/themes/openmoko-standard/gtk-2.0/mokofingertoolbox
===================================================================
--- 
trunk/src/target/OM-2007/artwork/themes/openmoko-standard/gtk-2.0/mokofingertoolbox
 2007-06-05 11:18:52 UTC (rev 2158)
+++ 
trunk/src/target/OM-2007/artwork/themes/openmoko-standard/gtk-2.0/mokofingertoolbox
 2007-06-05 11:19:35 UTC (rev 2159)
@@ -1,4 +1,5 @@
 style "mokofingertoolbox-leftarrow" {
+   bg_pixmap[NORMAL] = "btn_dialog_prev.png"
    engine "pixmap" {
         image {
             function        = BOX
@@ -30,6 +31,7 @@
 widget "*.mokofingertoolbox-leftarrow" style "mokofingertoolbox-leftarrow"
 
 style "mokofingertoolbox-rightarrow" {
+   bg_pixmap[NORMAL] = "btn_dialog_next.png"
    engine "pixmap" {
         image {
             function        = BOX
@@ -61,6 +63,7 @@
 widget "*.mokofingertoolbox-rightarrow" style "mokofingertoolbox-rightarrow"
 
 style "mokofingertoolbox-toolbutton" {
+   bg_pixmap[NORMAL] = "btn_type03.png"
    engine "pixmap" {
         image {
             function        = BOX




--- End Message ---
--- Begin Message ---
Author: njp
Date: 2007-06-05 13:27:56 +0200 (Tue, 05 Jun 2007)
New Revision: 2160

Modified:
   
trunk/src/target/OM-2007/applications/openmoko-dialer/src/dialer-window-history.c
Log:
Added some debugging for the journal

Modified: 
trunk/src/target/OM-2007/applications/openmoko-dialer/src/dialer-window-history.c
===================================================================
--- 
trunk/src/target/OM-2007/applications/openmoko-dialer/src/dialer-window-history.c
   2007-06-05 11:19:35 UTC (rev 2159)
+++ 
trunk/src/target/OM-2007/applications/openmoko-dialer/src/dialer-window-history.c
   2007-06-05 11:27:56 UTC (rev 2160)
@@ -288,7 +288,6 @@
       gtk_tree_view_set_cursor (treeview, path, 0, 0);
     }
     //we deleted the last one.
-
   }
 
   gtk_tree_path_free (path);
@@ -721,7 +720,7 @@
   GtkTreeViewColumn *col;
   GtkCellRenderer *renderer;
   GtkWidget *contactview = NULL;
-  int i = 0, j =0;
+  int i = 0, j =0, n_entries;
   MokoJournalEntry *j_entry;
   //DBG_ENTER();
 
@@ -788,7 +787,7 @@
    */
   if (!p_dialer_data->journal)
   {
-    g_print ("there is no journal\n");
+    g_warning ("there is no journal\n");
     return 1;
   } 
     /* We register callbacks for when an entry is added, so we can keep the
@@ -797,12 +796,16 @@
                         (MokoJournalEntryAddedFunc)on_entry_added_cb,
                         (gpointer)p_dialer_data);
                         
-  if (!moko_journal_get_nb_entries (p_dialer_data->journal))
+  
+  n_entries = moko_journal_get_nb_entries (p_dialer_data->journal);
+  g_print ("Journal entries = %d", n_entries);
+  if (n_entries < 1)
   {
     g_print ("there are no entries in the journal\n");
     return 1;
   }
-
+  
+  i = j = 0;
   while (moko_journal_get_entry_at (p_dialer_data->journal, i, &j_entry))
   {
     /* We're not interested in anything other than voice entrys */




--- End Message ---
--- Begin Message ---
Author: njp
Date: 2007-06-05 14:02:58 +0200 (Tue, 05 Jun 2007)
New Revision: 2161

Modified:
   
trunk/src/target/OM-2007/applications/openmoko-dialer/src/dialer-window-history.c
Log:
gtk-2.6 fixes

Modified: 
trunk/src/target/OM-2007/applications/openmoko-dialer/src/dialer-window-history.c
===================================================================
--- 
trunk/src/target/OM-2007/applications/openmoko-dialer/src/dialer-window-history.c
   2007-06-05 11:27:56 UTC (rev 2160)
+++ 
trunk/src/target/OM-2007/applications/openmoko-dialer/src/dialer-window-history.c
   2007-06-05 12:02:58 UTC (rev 2161)
@@ -636,6 +636,7 @@
 static gboolean
 history_add_entry (GtkListStore *store, MokoJournalEntry *j_entry)
 {
+  GtkTreeIter iter;
   const gchar *uid, *number;
   gchar *icon_name;
   const gchar *display_text;
@@ -688,7 +689,7 @@
   /* FIXME: look up uid */
   display_text = number;
   
-  gtk_list_store_insert_with_values (store, NULL, 0,
+  gtk_list_store_insert_with_values (store, &iter, 0,
       HISTORY_NUMBER_COLUMN, number,
       HISTORY_DSTART_COLUMN, dstart,
       HISTORY_ICON_NAME_COLUMN, icon_name,




--- End Message ---
--- Begin Message ---
Author: njp
Date: 2007-06-05 14:17:43 +0200 (Tue, 05 Jun 2007)
New Revision: 2162

Modified:
   
trunk/src/target/OM-2007/applications/openmoko-dialer/src/dialer-window-history.c
Log:
Changed liststore and renderers to work properly with gtk-2.6

Modified: 
trunk/src/target/OM-2007/applications/openmoko-dialer/src/dialer-window-history.c
===================================================================
--- 
trunk/src/target/OM-2007/applications/openmoko-dialer/src/dialer-window-history.c
   2007-06-05 12:02:58 UTC (rev 2161)
+++ 
trunk/src/target/OM-2007/applications/openmoko-dialer/src/dialer-window-history.c
   2007-06-05 12:17:43 UTC (rev 2162)
@@ -45,6 +45,10 @@
 #define HISTORY_CALL_OUTGOING_ICON "moko-history-call-out"
 #define HISTORY_CALL_MISSED_ICON "moko-history-call-missed"
 
+static GdkPixbuf *history_in_icon = NULL;
+static GdkPixbuf *history_out_icon = NULL;
+static GdkPixbuf *history_missed_icon = NULL;
+
 /* function declarations */
 
 static gint history_update_counter (MokoDialerData * p_dialer_data);
@@ -376,9 +380,26 @@
   DBG_LEAVE ();
 }
 
+static void
+history_create_icons ()
+{
+        GtkIconTheme *theme = gtk_icon_theme_get_default ();
+        
+        history_in_icon = gtk_icon_theme_load_icon (theme, 
+                                                    HISTORY_CALL_INCOMING_ICON,
+                                                    GTK_ICON_SIZE_MENU,
+                                                    0, NULL);
+        history_out_icon = gtk_icon_theme_load_icon (theme, 
+                                                    HISTORY_CALL_OUTGOING_ICON,
+                                                    GTK_ICON_SIZE_MENU,
+                                                    0, NULL);
+        history_missed_icon = gtk_icon_theme_load_icon (theme, 
+                                                    HISTORY_CALL_MISSED_ICON,
+                                                    GTK_ICON_SIZE_MENU,
+                                                    0, NULL);
+}
 
 
-
 gint
 window_history_init (MokoDialerData * p_dialer_data)
 {
@@ -388,7 +409,7 @@
 
   if (p_dialer_data->window_history == 0)
   {
-
+    history_create_icons ();
     history_create_menu_history (p_dialer_data);
 
     MokoFingerWindow *window = NULL;
@@ -638,7 +659,7 @@
 {
   GtkTreeIter iter;
   const gchar *uid, *number;
-  gchar *icon_name;
+  GdkPixbuf *icon = NULL;
   const gchar *display_text;
   time_t dstart;
   enum MessageDirection direction;
@@ -668,19 +689,19 @@
   /* Load the correct icon */
   if (direction == DIRECTION_OUT)
   {
-    icon_name = HISTORY_CALL_OUTGOING_ICON;
+    icon = history_out_icon;
     type = OUTGOING;
   }
   else
   {
     if (was_missed)
     {
-      icon_name = HISTORY_CALL_MISSED_ICON;
+      icon = history_missed_icon;
       type = MISSED;
     }
     else
     { 
-      icon_name = HISTORY_CALL_INCOMING_ICON;
+      icon = history_in_icon;
       type = INCOMING;      
     }
   }
@@ -692,7 +713,7 @@
   gtk_list_store_insert_with_values (store, &iter, 0,
       HISTORY_NUMBER_COLUMN, number,
       HISTORY_DSTART_COLUMN, dstart,
-      HISTORY_ICON_NAME_COLUMN, icon_name,
+      HISTORY_ICON_NAME_COLUMN, icon,
       HISTORY_DISPLAY_TEXT_COLUMN, display_text,
       HISTORY_CALL_TYPE_COLUMN, type,
       HISTORY_ENTRY_POINTER, (gpointer)j_entry,
@@ -737,7 +758,7 @@
   renderer = gtk_cell_renderer_pixbuf_new ();
   gtk_tree_view_column_pack_start (col, renderer, FALSE);
   gtk_tree_view_column_set_attributes (col, renderer,
-                                       "icon-name", HISTORY_ICON_NAME_COLUMN,
+                                       "pixbuf", HISTORY_ICON_NAME_COLUMN,
                                         NULL);
 
   renderer = gtk_cell_renderer_text_new ();
@@ -753,7 +774,7 @@
   /* UID, DSTART, MISSED, DIRECTION */
   list_store = gtk_list_store_new (6, G_TYPE_STRING, 
                                       G_TYPE_INT, 
-                                      G_TYPE_STRING, 
+                                      GDK_TYPE_PIXBUF, 
                                       G_TYPE_STRING,
                                       G_TYPE_INT,
                                       G_TYPE_POINTER);




--- End Message ---
--- Begin Message ---
Author: mickey
Date: 2007-06-05 14:25:25 +0200 (Tue, 05 Jun 2007)
New Revision: 2163

Added:
   trunk/src/target/OM-2007/artwork/sounds/touchscreen_click.wav
Log:
sounds: add sound for touchscreen click


Added: trunk/src/target/OM-2007/artwork/sounds/touchscreen_click.wav
===================================================================
(Binary files differ)


Property changes on: 
trunk/src/target/OM-2007/artwork/sounds/touchscreen_click.wav
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream




--- End Message ---
--- Begin Message ---
Author: mickey
Date: 2007-06-05 14:30:26 +0200 (Tue, 05 Jun 2007)
New Revision: 2164

Modified:
   
trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/buttonactions.c
   
trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/buttonactions.h
Log:
openmoko-panel-mainmenu: add key clicks
NOTE: While we are developing this feature, to enable the power management 
functions,
you need to export the MOKO_POWERSAVE environment variable to "yes". Restart 
the matchbox-panel afterwards.


Modified: 
trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/buttonactions.c
===================================================================
--- 
trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/buttonactions.c
  2007-06-05 12:25:25 UTC (rev 2163)
+++ 
trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/buttonactions.c
  2007-06-05 12:30:26 UTC (rev 2164)
@@ -48,12 +48,14 @@
     #define POWER_BUTTON_EVENT_PATH "/dev/input/event2"
     #define POWER_BUTTON_KEYCODE 116
     #define TOUCHSCREEN_EVENT_PATH "/dev/input/touchscreen0"
+    #define TOUCHSCREEN_BUTTON_KEYCODE 0x14a
 #else
     #define AUX_BUTTON_EVENT_PATH "/dev/input/event1"
     #define AUX_BUTTON_KEYCODE 0x25
     #define POWER_BUTTON_EVENT_PATH "/dev/input/event0"
     #define POWER_BUTTON_KEYCODE 0x25
     #define TOUCHSCREEN_EVENT_PATH "/dev/input/event2"
+    #define TOUCHSCREEN_BUTTON_KEYCODE 0x14a
 #endif
 
 GPollFD aux_fd;
@@ -147,18 +149,24 @@
     g_source_add_poll( button_watcher, &power_fd );
     g_source_attach( button_watcher, NULL );
 
-    int tsfd = open( TOUCHSCREEN_EVENT_PATH, O_RDONLY );
-    if ( tsfd < 0 )
+    if ( getenv( "MOKO_POWERSAVE" ) )
     {
-        g_debug( "can't open " TOUCHSCREEN_EVENT_PATH " (%s)", strerror( errno 
) );
-        return FALSE;
+
+        int tsfd = open( TOUCHSCREEN_EVENT_PATH, O_RDONLY );
+        if ( tsfd < 0 )
+        {
+            g_debug( "can't open " TOUCHSCREEN_EVENT_PATH " (%s)", strerror( 
errno ) );
+            return FALSE;
+        }
+        touchscreen_io = g_io_channel_unix_new( tsfd );
+        g_io_add_watch( touchscreen_io, G_IO_IN, 
panel_mainmenu_touchscreen_cb, NULL );
+
+        panel_mainmenu_powersave_reset();
+        panel_mainmenu_set_display( 100 );
     }
-    touchscreen_io = g_io_channel_unix_new( tsfd );
-    g_io_add_watch( touchscreen_io, G_IO_IN, panel_mainmenu_touchscreen_cb, 
NULL );
+    else
+        g_debug( "MOKO_POWERSAVE set. Not enabling power management." );
 
-    //panel_mainmenu_powersave_reset();
-    //panel_mainmenu_set_display( 100 );
-
     return TRUE;
 }
 
@@ -353,14 +361,27 @@
 
     struct input_event event;
     int size = read( g_io_channel_unix_get_fd( source ), &event, sizeof( 
struct input_event ) );
-    g_debug( "read %d bytes from power_fd %d", size, power_fd.fd );
+    g_debug( "read %d bytes from touchscreen_fd %d", size, 
g_io_channel_unix_get_fd( source ) );
     g_debug( "input event = ( %0x, %0x, %0x )", event.type, event.code, 
event.value );
 
-    panel_mainmenu_powersave_reset();
-    if ( power_state != NORMAL )
+    if ( event.type == 1 && event.code == TOUCHSCREEN_BUTTON_KEYCODE )
     {
-        panel_mainmenu_set_display( 100 );
-        power_state = NORMAL;
+        if ( event.value == 1 ) /* pressed */
+        {
+            g_debug( "stylus pressed" );
+            panel_mainmenu_play_stylus_click();
+        }
+        else if ( event.value == 0 ) /* released */
+        {
+            g_debug( "stylus released" );
+        }
+
+        panel_mainmenu_powersave_reset();
+        if ( power_state != NORMAL )
+        {
+            panel_mainmenu_set_display( 100 );
+            power_state = NORMAL;
+        }
     }
     return TRUE;
 }
@@ -417,3 +438,11 @@
     power_state = NORMAL;
     return FALSE;
 }
+
+void panel_mainmenu_play_stylus_click()
+{
+    g_debug( "mainmenu play stylus click" );
+    //TODO add function to libmokoui that talks alsa
+    //yes, this is hardcoded... it's just a proof of concept
+    system( "/usr/bin/aplay /usr/share/openmoko/touchscreen_click.wav &" );
+}

Modified: 
trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/buttonactions.h
===================================================================
--- 
trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/buttonactions.h
  2007-06-05 12:25:25 UTC (rev 2163)
+++ 
trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/buttonactions.h
  2007-06-05 12:30:26 UTC (rev 2164)
@@ -2,6 +2,7 @@
 #define BUTTONACTIONS_H
 
 #include <glib.h>
+#include <gdk/gdk.h>
 
 gboolean panel_mainmenu_input_prepare( GSource* source, gint* timeout );
 gboolean panel_mainmenu_input_check( GSource* source );
@@ -19,5 +20,6 @@
 gboolean panel_mainmenu_powersave_timeout3( guint timeout );
 
 void panel_mainmenu_set_display( int brightness );
+void panel_mainmenu_play_stylus_click();
 
 #endif




--- End Message ---
--- Begin Message ---
Author: thomas
Date: 2007-06-05 15:59:46 +0200 (Tue, 05 Jun 2007)
New Revision: 2165

Modified:
   trunk/src/target/OM-2007/applications/openmoko-today/ChangeLog
   trunk/src/target/OM-2007/applications/openmoko-today/src/today-main.c
Log:
* src/today-main.c: (today_launcher_clicked_cb), (create_ui): Update launcher
code to use g_spawn_async ()


Modified: trunk/src/target/OM-2007/applications/openmoko-today/ChangeLog
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-today/ChangeLog      
2007-06-05 12:30:26 UTC (rev 2164)
+++ trunk/src/target/OM-2007/applications/openmoko-today/ChangeLog      
2007-06-05 13:59:46 UTC (rev 2165)
@@ -1,3 +1,8 @@
+2007-06-05  Thomas Wood  <[EMAIL PROTECTED]>
+
+       * src/today-main.c: (today_launcher_clicked_cb), (create_ui): Update 
launcher
+       code to use g_spawn_async ()
+
 2007-06-01  Thomas Wood  <[EMAIL PROTECTED]>
 
        * src/today-main.c: (network_register_cb), (create_ui), (main): Add 
MokoGsmdConnection object

Modified: trunk/src/target/OM-2007/applications/openmoko-today/src/today-main.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-today/src/today-main.c       
2007-06-05 12:30:26 UTC (rev 2164)
+++ trunk/src/target/OM-2007/applications/openmoko-today/src/today-main.c       
2007-06-05 13:59:46 UTC (rev 2165)
@@ -161,17 +161,26 @@
  */
 
 static void
+child_setup (gpointer user_data)
+{
+  if (user_data) {
+    sn_launcher_context_setup_child_process (user_data);
+  }
+}
+
+static void
 today_launcher_clicked_cb (GtkWidget *widget, gchar *command)
 {
   /* The following code is a modified version of code from launcher-util.c in
    * matchbox-desktop-2 and is copyright (C) 2007 OpenedHand Ltd, made 
available
    * under the GNU General Public License.
    */
-  pid_t child_pid = 0;
   SnLauncherContext *context;
   SnDisplay *sn_dpy;
   Display *display;
   int screen;
+  GError *error = NULL;
+  gchar *argv[1];
 
   display = gdk_x11_display_get_xdisplay (gtk_widget_get_display (widget));
   sn_dpy = sn_display_new (display, NULL, NULL);
@@ -183,16 +192,15 @@
   /* sn_launcher_context_set_name (context, data->name); */
   sn_launcher_context_set_binary_name (context, command);
   sn_launcher_context_initiate (context, "openmoko-today", command, 
CurrentTime);
-  switch ((child_pid = fork ())) {
-  case -1:
-    g_warning ("Fork failed");
-    break;
-  case 0:
-    sn_launcher_context_setup_child_process (context);
-    execlp (command, NULL);
-    g_warning ("Failed to execlp() %s", command);
-    _exit (1);
-    break;
+
+  argv[0] = command;
+  if (!g_spawn_async (NULL, argv, NULL,
+                            G_SPAWN_SEARCH_PATH, child_setup, context,
+                            NULL, &error))
+  {
+    g_warning ("Cannot launch %s: %s", command, error->message);
+    g_error_free (error);
+    sn_launcher_context_complete (context);
   }
   sn_launcher_context_unref (context);
 }
@@ -338,7 +346,7 @@
 
   /* set up connection management */
   MokoGsmdConnection *connection = moko_gsmd_connection_new ();
-  g_signal_connect (G_OBJECT (connection), "network-registration", 
network_register_cb, message);
+  g_signal_connect (G_OBJECT (connection), "network-registration", (GCallback) 
network_register_cb, message);
 
 
   gtk_widget_show_all (window);




--- End Message ---
_______________________________________________
commitlog mailing list
[email protected]
http://lists.openmoko.org/mailman/listinfo/commitlog

Reply via email to