[maemo-commits] [maemo-commits] r13296 - in projects/haf/trunk/hildon-desktop: . src

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Mon Aug 20 15:06:40 EEST 2007
Author: lucasr
Date: 2007-08-20 15:06:38 +0300 (Mon, 20 Aug 2007)
New Revision: 13296

Modified:
   projects/haf/trunk/hildon-desktop/ChangeLog
   projects/haf/trunk/hildon-desktop/src/hd-home-window.c
Log:
2007-08-20  Lucas Rocha  <lucas.rocha at nokia.com>

	* src/hd-home-window.c (pid_from_exec_name,
	background_apply_callback): kill a potential osso_startup_greeting
	process after applying the background image in home window.


Modified: projects/haf/trunk/hildon-desktop/ChangeLog
===================================================================
--- projects/haf/trunk/hildon-desktop/ChangeLog	2007-08-20 12:01:41 UTC (rev 13295)
+++ projects/haf/trunk/hildon-desktop/ChangeLog	2007-08-20 12:06:38 UTC (rev 13296)
@@ -1,3 +1,9 @@
+2007-08-20  Lucas Rocha  <lucas.rocha at nokia.com>
+
+	* src/hd-home-window.c (pid_from_exec_name,
+	background_apply_callback): kill a potential osso_startup_greeting
+	process after applying the background image in home window.
+
 2007-08-16  Lucas Rocha  <lucas.rocha at nokia.com>
 
 	* libhildondesktop/hildon-desktop-popup-menu.c

Modified: projects/haf/trunk/hildon-desktop/src/hd-home-window.c
===================================================================
--- projects/haf/trunk/hildon-desktop/src/hd-home-window.c	2007-08-20 12:01:41 UTC (rev 13295)
+++ projects/haf/trunk/hildon-desktop/src/hd-home-window.c	2007-08-20 12:06:38 UTC (rev 13296)
@@ -34,7 +34,6 @@
 #include <libosso.h>
 #endif
 
-
 #include <libhildonwm/hd-wm.h>
 
 #include <libhildondesktop/hildon-home-area.h>
@@ -46,6 +45,10 @@
 
 #include <dbus/dbus-glib.h>
 
+#include <stdio.h>
+#include <sys/types.h>
+#include <signal.h>
+
 #include <X11/Xatom.h>
 #include <X11/extensions/Xrender.h>
 
@@ -524,6 +527,31 @@
   }
 }
 
+static guint
+pid_from_exec_name (char *exec_name)
+{
+  FILE *pfile = NULL;
+  gchar *cmdline = NULL;
+  guint the_pid = 0;
+
+  if ((cmdline = g_strdup_printf ("pidof %s", exec_name)) != NULL) 
+  {
+    if ((pfile = popen (cmdline, "r")) != NULL) 
+    {
+      fscanf (pfile, "%d", &the_pid);
+      pclose (pfile);
+    }
+    else
+    {
+      return 0;
+    }
+
+    g_free (cmdline);
+  }
+
+  return the_pid;
+}
+
 static void
 background_apply_callback (HildonDesktopBackground     *background,
                            Picture                      picture,
@@ -531,6 +559,8 @@
                            HDHomeWindow                *window)
 {
   HDHomeWindowPrivate  *priv;
+  guint greeting_pid;
+
   g_debug ("Background applied!");
 
   priv = HD_HOME_WINDOW_GET_PRIVATE (window);
@@ -595,7 +625,6 @@
                                 (GdkRectangle*)(&GTK_WIDGET (window)->allocation),
                                 TRUE);
 
-
   if (background != priv->background)
     {
       if (priv->background)
@@ -603,6 +632,11 @@
       priv->background = g_object_ref (background);
     }
 
+  /* If there's a process osso_startup_greeting, kill it with SIGUSR1. */
+  greeting_pid = pid_from_exec_name ("osso_startup_greeting"); 
+
+  if (greeting_pid > 0)
+    kill (greeting_pid, SIGUSR1);
 }
 
 static void


More information about the maemo-commits mailing list