[maemo-commits] [maemo-commits] r13971 - in projects/haf/trunk/hildon-1: . src
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Fri Sep 21 12:10:50 EEST 2007
- Previous message: [maemo-commits] r13970 - in projects/haf/trunk/libhildonmime: . debian libhildonmime
- Next message: [maemo-commits] r13972 - in projects/haf/trunk/sapwood: . src
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: mdk Date: 2007-09-21 12:10:48 +0300 (Fri, 21 Sep 2007) New Revision: 13971 Modified: projects/haf/trunk/hildon-1/ChangeLog projects/haf/trunk/hildon-1/src/hildon-color-chooser-dialog.c projects/haf/trunk/hildon-1/src/hildon-color-chooser.c projects/haf/trunk/hildon-1/src/hildon-font-selection-dialog.c Log: Adding two patches by Tommi to fix memory leaks in font selector and color selector. Fixes: NB#70499 and NB#70474. Modified: projects/haf/trunk/hildon-1/ChangeLog =================================================================== --- projects/haf/trunk/hildon-1/ChangeLog 2007-09-21 08:25:13 UTC (rev 13970) +++ projects/haf/trunk/hildon-1/ChangeLog 2007-09-21 09:10:48 UTC (rev 13971) @@ -1,3 +1,11 @@ +2007-09-21 Michael Dominic Kostrzewa <michael.kostrzewa at nokia.com> + + * src/hildon-color-chooser-dialog.c: + * src/hildon-color-chooser.c: + * src/hildon-font-selection-dialog.c: Adding two patches by Tommi to fix + memory leaks in font selector and color selector. Fixes: NB#70499 and + NB#70474. + 2007-09-20 Johan Bilien <johan.bilien at nokia.com> * src/hildon-helper.c: Fixed the leak of the a GList. Fixes: NB#70273. Modified: projects/haf/trunk/hildon-1/src/hildon-color-chooser-dialog.c =================================================================== --- projects/haf/trunk/hildon-1/src/hildon-color-chooser-dialog.c 2007-09-21 08:25:13 UTC (rev 13970) +++ projects/haf/trunk/hildon-1/src/hildon-color-chooser-dialog.c 2007-09-21 09:10:48 UTC (rev 13971) @@ -489,6 +489,7 @@ for (i = 0; i < tmp; i++) { g_object_unref (priv->gc_array[i]); + priv->gc_array[i] = NULL; } GTK_WIDGET_CLASS (parent_class)->unrealize (widget); @@ -538,6 +539,7 @@ for (i = 0; i < tmpn; i++) { g_object_unref (priv->gc_array[i]); + priv->gc_array[i] = NULL; } } @@ -556,6 +558,11 @@ (priv->style_info.num_buttons.top * priv->style_info.num_buttons.bottom); priv->gc_array = (GdkGC **) g_malloc0 (sizeof (GdkGC *) * tmpn); + if (GTK_WIDGET_REALIZED (widget)) { + for (i = 0; i < tmpn; i++) { + priv->gc_array[i] = gdk_gc_new (widget->window); + } + } if (priv->gconf_client) { @@ -1013,7 +1020,7 @@ if (tmp1) { priv->style_info.cont_sizes = *tmp1; - g_free (tmp1); + gtk_border_free (tmp1); } else { priv->style_info.cont_sizes.left = 0; priv->style_info.cont_sizes.right = 8; @@ -1023,7 +1030,7 @@ if (tmp2) { priv->style_info.radio_sizes = *tmp2; - g_free (tmp2); + gtk_border_free (tmp2); } else { priv->style_info.radio_sizes.left = 16; priv->style_info.radio_sizes.right = 16; @@ -1033,7 +1040,7 @@ if (tmp3) { priv->style_info.num_buttons = *tmp3; - g_free (tmp3); + gtk_border_free (tmp3); } else { priv->style_info.num_buttons.left = 8; priv->style_info.num_buttons.right = 2; Modified: projects/haf/trunk/hildon-1/src/hildon-color-chooser.c =================================================================== --- projects/haf/trunk/hildon-1/src/hildon-color-chooser.c 2007-09-21 08:25:13 UTC (rev 13970) +++ projects/haf/trunk/hildon-1/src/hildon-color-chooser.c 2007-09-21 09:10:48 UTC (rev 13971) @@ -73,6 +73,9 @@ static void hildon_color_chooser_realize (GtkWidget *widget); +static void +hildon_color_chooser_unrealize (GtkWidget *widget); + static void hildon_color_chooser_map (GtkWidget *widget); @@ -262,6 +265,7 @@ widget_class->size_request = hildon_color_chooser_size_request; widget_class->size_allocate = hildon_color_chooser_size_allocate; widget_class->realize = hildon_color_chooser_realize; + widget_class->unrealize = hildon_color_chooser_unrealize; widget_class->map = hildon_color_chooser_map; widget_class->unmap = hildon_color_chooser_unmap; widget_class->expose_event = hildon_color_chooser_expose; @@ -403,11 +407,24 @@ gdk_window_set_user_data (priv->event_window, widget); - widget->window = gtk_widget_get_parent_window (widget); - widget->style = gtk_style_attach (widget->style, widget->window); + GTK_WIDGET_CLASS (parent_class)->realize (widget); +} - GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED); +static void +hildon_color_chooser_unrealize (GtkWidget *widget) +{ + HildonColorChooserPrivate *priv = HILDON_COLOR_CHOOSER_GET_PRIVATE (widget); + + g_assert (priv); + + if (priv->event_window) { + gdk_window_set_user_data (priv->event_window, NULL); + gdk_window_destroy (priv->event_window); + priv->event_window = NULL; + } + + GTK_WIDGET_CLASS(parent_class)->unrealize(widget); } static void Modified: projects/haf/trunk/hildon-1/src/hildon-font-selection-dialog.c =================================================================== --- projects/haf/trunk/hildon-1/src/hildon-font-selection-dialog.c 2007-09-21 08:25:13 UTC (rev 13970) +++ projects/haf/trunk/hildon-1/src/hildon-font-selection-dialog.c 2007-09-21 09:10:48 UTC (rev 13971) @@ -889,6 +889,8 @@ priv->cbx_positioning, NULL, HILDON_CAPTION_OPTIONAL); + g_object_unref (group); + gtk_box_pack_start (GTK_BOX (vbox_tab[2]), caption_control, FALSE, FALSE, 0); /* Populate notebook */
- Previous message: [maemo-commits] r13970 - in projects/haf/trunk/libhildonmime: . debian libhildonmime
- Next message: [maemo-commits] r13972 - in projects/haf/trunk/sapwood: . src
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]