[maemo-commits] [maemo-commits] r11155 - in projects/haf/trunk/hildon-1: . src
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Thu Apr 19 15:38:29 EEST 2007
- Previous message: [maemo-commits] r11154 - projects/haf/hafbuildbot
- Next message: [maemo-commits] r11156 - in projects/haf/trunk/gtk+: . gtk
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: mdk Date: 2007-04-19 15:38:28 +0300 (Thu, 19 Apr 2007) New Revision: 11155 Modified: projects/haf/trunk/hildon-1/ChangeLog projects/haf/trunk/hildon-1/src/hildon-banner.c Log: Fixing a problem with timed banners having their parrent destroyed before they are. Modified: projects/haf/trunk/hildon-1/ChangeLog =================================================================== --- projects/haf/trunk/hildon-1/ChangeLog 2007-04-19 12:26:08 UTC (rev 11154) +++ projects/haf/trunk/hildon-1/ChangeLog 2007-04-19 12:38:28 UTC (rev 11155) @@ -1,3 +1,8 @@ +2007-04-19 Michael Dominic Kostrzewa <michael.kostrzewa at nokia.com> + + * src/hildon-banner.c: Fixing a problem with timed banners having + their parrent destroyed before they are. + 2007-04-17 Xan Lopez <xan.lopez at nokia.com> * src/hildon-bread-crumb.c: Modified: projects/haf/trunk/hildon-1/src/hildon-banner.c =================================================================== --- projects/haf/trunk/hildon-1/src/hildon-banner.c 2007-04-19 12:26:08 UTC (rev 11154) +++ projects/haf/trunk/hildon-1/src/hildon-banner.c 2007-04-19 12:38:28 UTC (rev 11155) @@ -130,6 +130,9 @@ guint n_construct_params, GObjectConstructParam *construct_params); +static void +hildon_banner_finalize (GObject *object); + static gboolean hildon_banner_map_event (GtkWidget *widget, GdkEventAny *event); @@ -396,12 +399,17 @@ case PROP_PARENT_WINDOW: window = g_value_get_object (value); + if (priv->parent) { + g_object_remove_weak_pointer(G_OBJECT (priv->parent), (gpointer *)&priv->parent); + } gtk_window_set_transient_for (GTK_WINDOW (object), (GtkWindow *) window); priv->parent = (GtkWindow *) window; - if (window) + if (window) { gtk_window_set_destroy_with_parent (GTK_WINDOW (object), TRUE); + g_object_add_weak_pointer(G_OBJECT (window), (gpointer *)&priv->parent); + } break; @@ -547,6 +555,18 @@ return banner; } +static void +hildon_banner_finalize (GObject *object) +{ + HildonBannerPrivate *priv = HILDON_BANNER_GET_PRIVATE (object); + + if (priv->parent) { + g_object_remove_weak_pointer(G_OBJECT (priv->parent), (gpointer *)&priv->parent); + } + + G_OBJECT_CLASS (parent_class)->finalize (object); +} + /* We start the timer for timed notifications after the window appears on screen */ static gboolean hildon_banner_map_event (GtkWidget *widget, @@ -650,6 +670,7 @@ /* Override virtual methods */ object_class->constructor = hildon_banner_constructor; + object_class->finalize = hildon_banner_finalize; object_class->set_property = hildon_banner_set_property; object_class->get_property = hildon_banner_get_property; GTK_OBJECT_CLASS (klass)->destroy = hildon_banner_destroy;
- Previous message: [maemo-commits] r11154 - projects/haf/hafbuildbot
- Next message: [maemo-commits] r11156 - in projects/haf/trunk/gtk+: . gtk
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]