[maemo-commits] [maemo-commits] r9451 - in projects/haf/trunk/maemo-af-desktop: . hildon-home hildon-status-bar

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Tue Jan 30 11:20:12 EET 2007
Author: jobi
Date: 2007-01-30 11:20:09 +0200 (Tue, 30 Jan 2007)
New Revision: 9451

Modified:
   projects/haf/trunk/maemo-af-desktop/ChangeLog
   projects/haf/trunk/maemo-af-desktop/Makefile.am
   projects/haf/trunk/maemo-af-desktop/hildon-home/background-manager.c
   projects/haf/trunk/maemo-af-desktop/hildon-home/hildon-home-area.c
   projects/haf/trunk/maemo-af-desktop/hildon-home/hildon-home-main.c
   projects/haf/trunk/maemo-af-desktop/hildon-status-bar/hildon-status-bar-main.c
   projects/haf/trunk/maemo-af-desktop/maemo-af-desktop-main.c
Log:

2007-01-30  Johan Bilien <johan.bilien at nokia.com>

	* hildon-status-bar/hildon-status-bar-main.c: add a weak
	reference to the delayed banners' parent window so the
	banner can be removed when the parent window is destroyed

2007-01-30  Johan Bilien <johan.bilien at nokia.com>

	* hildon-home/background-manager.c: Don't generate an alpha
	bitmask
	* hildon-home/hildon-home-area.c: Iterate the main loop between
	the load of each applet
	* hildon-home/hildon-home-main.c, maemo-af-desktop-main.c:
	Move loading of home applets after the load of statusbar applets
	Fixes: NB#43960



Modified: projects/haf/trunk/maemo-af-desktop/ChangeLog
===================================================================
--- projects/haf/trunk/maemo-af-desktop/ChangeLog	2007-01-30 09:17:27 UTC (rev 9450)
+++ projects/haf/trunk/maemo-af-desktop/ChangeLog	2007-01-30 09:20:09 UTC (rev 9451)
@@ -1,3 +1,19 @@
+2007-01-30  Johan Bilien <johan.bilien at nokia.com>
+
+	* hildon-status-bar/hildon-status-bar-main.c: add a weak
+	reference to the delayed banners' parent window so the
+	banner can be removed when the parent window is destroyed
+
+2007-01-30  Johan Bilien <johan.bilien at nokia.com>
+
+	* hildon-home/background-manager.c: Don't generate an alpha
+	bitmask
+	* hildon-home/hildon-home-area.c: Iterate the main loop between
+	the load of each applet
+	* hildon-home/hildon-home-main.c, maemo-af-desktop-main.c:
+	Move loading of home applets after the load of statusbar applets
+	Fixes: NB#43960
+
 2007-01-25  Johan Bilien <johan.bilien at nokia.com>
 
 	* hildon-navigator/hn-others-button.c: unprotect spawned

Modified: projects/haf/trunk/maemo-af-desktop/Makefile.am
===================================================================
--- projects/haf/trunk/maemo-af-desktop/Makefile.am	2007-01-30 09:17:27 UTC (rev 9450)
+++ projects/haf/trunk/maemo-af-desktop/Makefile.am	2007-01-30 09:20:09 UTC (rev 9451)
@@ -51,8 +51,12 @@
         
 maemo_af_desktop_SOURCES = maemo-af-desktop-main.c maemo-af-desktop-main.h
 
+# Flags to be removed from link
+LD_UNWANTED = -export-dynamic -Wl,--export-dynamic
+
 # libraries needed by task navigator, status bar and home to build them together
 maemo_af_desktop_LDADD = \
+	$(filter-out $(LD_UNWANTED), \
 	hildon-navigator/.libs/libhildonnavigator.a \
 	hildon-status-bar/.libs/libhildonstatusbarmain.a \
 	hildon-status-bar/libhildonstatusbar.la \
@@ -66,7 +70,9 @@
 	$(XTEST_LIBS) \
 	$(ESD_LIBS) \
 	$(LAUNCHER_LDFLAGS) \
-	libdesktop/.libs/libdesktop.a
+	libdesktop/.libs/libdesktop.a) 
+	
+AM_LDFLAGS = -Wl,--version-script=export.map
 
 initexecdir=$(sysconfdir)/osso-af-init/init.d
 initexec_SCRIPTS = maemo-af-desktop-launch.sh

Modified: projects/haf/trunk/maemo-af-desktop/hildon-home/background-manager.c
===================================================================
--- projects/haf/trunk/maemo-af-desktop/hildon-home/background-manager.c	2007-01-30 09:17:27 UTC (rev 9450)
+++ projects/haf/trunk/maemo-af-desktop/hildon-home/background-manager.c	2007-01-30 09:20:09 UTC (rev 9451)
@@ -1757,7 +1757,6 @@
   BackgroundManagerPrivate *priv;
   GdkColormap *colormap;
   GdkPixmap *pixmap = NULL;
-  GdkBitmap *bitmask = NULL;
   
   if (G_UNLIKELY (!pixbuf))
     return;
@@ -1777,7 +1776,7 @@
 
   gdk_pixbuf_render_pixmap_and_mask_for_colormap (pixbuf, colormap,
                                                   &pixmap,
-                                                  &bitmask,
+                                                  NULL,
                                                   0);
   if (pixmap)
     {
@@ -1785,9 +1784,6 @@
       g_object_unref (pixmap);
     }
 
-  if (bitmask)
-    g_object_unref (bitmask);
-
   gdk_flush ();
 }
 

Modified: projects/haf/trunk/maemo-af-desktop/hildon-home/hildon-home-area.c
===================================================================
--- projects/haf/trunk/maemo-af-desktop/hildon-home/hildon-home-area.c	2007-01-30 09:17:27 UTC (rev 9450)
+++ projects/haf/trunk/maemo-af-desktop/hildon-home/hildon-home-area.c	2007-01-30 09:20:09 UTC (rev 9451)
@@ -31,7 +31,9 @@
 #include <hildon-widgets/hildon-note.h>
 #include <string.h> /* strlen */
 
+#include <gtk/gtkmain.h>
 
+
 enum
 {
   HILDON_HOME_AREA_PROPERTY_LAYOUT_MODE = 1
@@ -590,6 +592,10 @@
           gtk_widget_set_size_request (applet, width, height);
         }
       n_groups --;
+
+      while (gtk_events_pending ())
+        gtk_main_iteration ();
+
     }
 
   /* Remove all the applets left in the list, they are no longer  */

Modified: projects/haf/trunk/maemo-af-desktop/hildon-home/hildon-home-main.c
===================================================================
--- projects/haf/trunk/maemo-af-desktop/hildon-home/hildon-home-main.c	2007-01-30 09:17:27 UTC (rev 9450)
+++ projects/haf/trunk/maemo-af-desktop/hildon-home/hildon-home-main.c	2007-01-30 09:20:09 UTC (rev 9451)
@@ -198,6 +198,15 @@
   osso_deinitialize (osso_home);
 }
 
+gboolean hildon_home_window_applets_init_wrapper (gpointer data);
+
+gboolean
+hildon_home_window_applets_init_wrapper (gpointer data)
+{
+  hildon_home_window_applets_init (HILDON_HOME_WINDOW (home_window));
+  return FALSE;
+}
+
 int
 hildon_home_main (void)
 {
@@ -244,8 +253,6 @@
   hs.memory_low_ind = TRUE;
   osso_hw_set_event_cb (osso_home, &hs, hildon_home_osso_lowmem_cb, window);
   
-  hildon_home_window_applets_init (HILDON_HOME_WINDOW (window));
-  
   root_window = gdk_get_default_root_window ();
   gdk_window_set_events (root_window,
 		         gdk_window_get_events (root_window)

Modified: projects/haf/trunk/maemo-af-desktop/hildon-status-bar/hildon-status-bar-main.c
===================================================================
--- projects/haf/trunk/maemo-af-desktop/hildon-status-bar/hildon-status-bar-main.c	2007-01-30 09:17:27 UTC (rev 9450)
+++ projects/haf/trunk/maemo-af-desktop/hildon-status-bar/hildon-status-bar-main.c	2007-01-30 09:20:09 UTC (rev 9451)
@@ -740,6 +740,8 @@
         }
 
 	g_free (plugin_path);
+        while (gtk_events_pending ())
+          gtk_main_iteration ();
     }
 
     /* Cleanup */
@@ -1554,12 +1556,19 @@
     g_source_remove(info->timeout_to_show_id);
  
     info->timeout_to_show_id = 0;
-     
+        
     info->banner = hildon_banner_show_animation( NULL, NULL, info->text );
     if (info->parent_window_id) {
         GdkWindow *parent_window = gdk_window_foreign_new (info->parent_window_id);
+            
         if (parent_window) {
             gdk_window_set_transient_for (info->banner->window, parent_window);
+
+            /* When the parent window is destroyed, remove this
+             * banner */
+            g_object_weak_ref (G_OBJECT (parent_window),
+                               (GWeakNotify)_delayed_infobanner_remove,
+                               data);
             g_object_unref (parent_window);
         }
     }

Modified: projects/haf/trunk/maemo-af-desktop/maemo-af-desktop-main.c
===================================================================
--- projects/haf/trunk/maemo-af-desktop/maemo-af-desktop-main.c	2007-01-30 09:17:27 UTC (rev 9450)
+++ projects/haf/trunk/maemo-af-desktop/maemo-af-desktop-main.c	2007-01-30 09:20:09 UTC (rev 9451)
@@ -191,10 +191,16 @@
     return (TRUE);		/* keep the event source */
 }
 
+gboolean hildon_home_window_applets_init_wrapper (gpointer data);
+
 static gboolean
 start_status_bar (void)
 {
     status_bar_main(osso, &panel);
+
+    /* load home applets when status bar is done */
+    g_idle_add (&hildon_home_window_applets_init_wrapper, NULL);
+ 
     return FALSE;
 }
 


More information about the maemo-commits mailing list