[maemo-commits] [maemo-commits] r19016 - in projects/haf/trunk/hildon-welcome: . data debian src

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Fri Jul 31 14:27:28 EEST 2009
Author: schulhof
Date: 2009-07-31 14:27:26 +0300 (Fri, 31 Jul 2009)
New Revision: 19016

Modified:
   projects/haf/trunk/hildon-welcome/configure.ac
   projects/haf/trunk/hildon-welcome/data/10hildon_welcome
   projects/haf/trunk/hildon-welcome/debian/changelog
   projects/haf/trunk/hildon-welcome/src/main.c
Log:
Ampersand now works.

Modified: projects/haf/trunk/hildon-welcome/configure.ac
===================================================================
--- projects/haf/trunk/hildon-welcome/configure.ac	2009-07-31 11:21:10 UTC (rev 19015)
+++ projects/haf/trunk/hildon-welcome/configure.ac	2009-07-31 11:27:26 UTC (rev 19016)
@@ -1,5 +1,5 @@
 # Mandatory, inits autoconf
-AC_INIT(hildon-welcome, 0.17)
+AC_INIT(hildon-welcome, 0.21)
 
 # Tests that source dir exists
 AC_CONFIG_SRCDIR([src/main.c])

Modified: projects/haf/trunk/hildon-welcome/data/10hildon_welcome
===================================================================
--- projects/haf/trunk/hildon-welcome/data/10hildon_welcome	2009-07-31 11:21:10 UTC (rev 19015)
+++ projects/haf/trunk/hildon-welcome/data/10hildon_welcome	2009-07-31 11:27:26 UTC (rev 19016)
@@ -21,4 +21,4 @@
 # License along with this library; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 
-/usr/bin/hildon-welcome --gst-disable-registry-update
+/usr/bin/hildon-welcome --gst-disable-registry-update &

Modified: projects/haf/trunk/hildon-welcome/debian/changelog
===================================================================
--- projects/haf/trunk/hildon-welcome/debian/changelog	2009-07-31 11:21:10 UTC (rev 19015)
+++ projects/haf/trunk/hildon-welcome/debian/changelog	2009-07-31 11:27:26 UTC (rev 19016)
@@ -1,3 +1,11 @@
+hildon-welcome (0.21-1) unstable; urgency=low
+
+  * Yank the fork(2)ing code back out, since '&' now seems to work
+  * Add '&' to the 10hildon_welcome xsession script
+  * Fixes: NB#130208 (Customized start-up video not shown)
+
+ -- Gabriel Schulhof <gabriel.schulhof at nokia.com>  Fri, 31 Jul 2009 14:23:12 +0300
+
 hildon-welcome (0.20-1) unstable; urgency=low
 
   [ Gabriel Schulhof ]
@@ -4,7 +12,7 @@
   * Fork into the background when poised to play first logo.
     Fixes: NB#126816 - hildon welcome parallel startup
 
- -- Viktor Nagy <viktor.nagy at blumsoft.eu>  Tue, 14 Jul 2009 15:51:56 +0200
+ -- Viktor Nagy <vik at garage.maemo.org>  Tue, 14 Jul 2009 15:51:56 +0200
 
 hildon-welcome (0.19-2) unstable; urgency=low
 

Modified: projects/haf/trunk/hildon-welcome/src/main.c
===================================================================
--- projects/haf/trunk/hildon-welcome/src/main.c	2009-07-31 11:21:10 UTC (rev 19015)
+++ projects/haf/trunk/hildon-welcome/src/main.c	2009-07-31 11:27:26 UTC (rev 19016)
@@ -29,6 +29,7 @@
 #include <X11/Xlib.h>
 #include <X11/extensions/Xcomposite.h>
 #include <gst/gst.h>
+#include <libprofile.h>
 #ifdef HAVE_MCE
 # include <dbus/dbus.h>
 # include <mce/dbus-names.h>
@@ -153,7 +154,7 @@
 }
 
 static void
-wait_for_eos(GstElement *pipeline, Display *dpy, int duration, TimeoutParams *play_to, int detach_fd)
+wait_for_eos(GstElement *pipeline, Display *dpy, int duration, TimeoutParams *play_to)
 {
   GError *err = NULL;
   char *debug = NULL;
@@ -167,12 +168,6 @@
     switch(GST_MESSAGE_TYPE(message)) {
       case GST_MESSAGE_ASYNC_DONE:
         g_debug("wait_for_eos: Ready to play: duration = %d\n", duration);
-        if (detach_fd >= 0) {
-          char c = 0;
-          g_debug("wait_for_eos: Asking parent process to exit\n");
-          write (detach_fd, &c, 1);
-          close (detach_fd);
-        }
         if ((duration > 500) && !(play_to->timeout_id))
           post_eos_timeout_add(duration, pipeline, NULL, play_to);
         break;
@@ -225,7 +220,7 @@
 }
 
 static GstElement *
-play_logo(Display *dpy, char *video, char *audio, int duration, int detach_fd)
+play_logo(Display *dpy, char *video, char *audio, int duration)
 {
   GstElement* pipeline = NULL;
   GString *pipeline_str = g_string_new("");
@@ -262,7 +257,7 @@
 
     gst_element_set_state(pipeline, GST_STATE_PLAYING);
     unblank_screen();
-    wait_for_eos(pipeline, dpy, duration, &play_to, detach_fd);
+    wait_for_eos(pipeline, dpy, duration, &play_to);
 
     post_eos_timeout_remove(&kill_to);
     post_eos_timeout_remove(&play_to);
@@ -293,47 +288,6 @@
   XFlush(dpy);
 }
 
-static int
-prepare_detach_fd()
-{
-  static gboolean already_forked = FALSE;
-  int fork_result = -1;
-  int pipe_fd[2] = { -1, -1 };
-
-  if (already_forked)
-    g_warning("prepare_detach_fd: Already forked\n");
-  else {
-    if (!pipe(pipe_fd)) {
-      fork_result = fork();
-
-      if (fork_result < 0) {
-        g_warning("prepare_detach_fd: fork(2) failed\n");
-        close(pipe_fd[0]); pipe_fd[0] = -1;
-        close(pipe_fd[1]); pipe_fd[1] = -1;
-      }
-      else {
-        g_debug("prepare_detach_fd: fork(2) succeeded\n");
-        already_forked = TRUE;
-
-        if (fork_result > 0) {
-          char c;
-
-          g_debug("prepare_detach_fd: waiting for child process to signal exit\n");
-          read(pipe_fd[0], &c, 1);
-          close(pipe_fd[0]); pipe_fd[0] = -1;
-          close(pipe_fd[1]); pipe_fd[1] = -1;
-          g_debug("prepare_detach_fd: exit(2)-ing\n");
-          exit(0);
-        }
-      }
-    }
-    else
-      g_warning("prepare_detach_fd: pipe(2) failed\n");
-  }
-
-  return pipe_fd[1];
-}
-
 int
 main(int argc, char **argv)
 {
@@ -372,7 +326,7 @@
   GError *err;
   Display *display = NULL;
   char *video = NULL, *audio = NULL;
-  int duration, detach_fd;
+  int duration;
   ConfFileIterator *itr;
   GstElement *new_pipeline = NULL, *old_pipeline = NULL;
 
@@ -382,8 +336,6 @@
 
   g_log_set_default_handler(my_log_func, NULL);
 
-  detach_fd = prepare_detach_fd();
-
   ctx = g_option_context_new(NULL);
   g_option_context_add_main_entries (ctx, options, NULL);
   g_option_context_add_group (ctx, gst_init_get_option_group());
@@ -398,7 +350,7 @@
 
   if ((itr = conf_file_iterator_new())) {
     while (conf_file_iterator_get(itr, &video, &audio, &duration)) {
-      new_pipeline = play_logo(display, video, audio, duration, detach_fd);
+      new_pipeline = play_logo(display, video, audio, duration);
       g_free(video); video = NULL;
       g_free(audio); audio = NULL;
       duration = 0;

More information about the maemo-commits mailing list