[maemo-commits] [maemo-commits] r13598 - in projects/haf/trunk/hildon-1: . src
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Wed Sep 5 14:48:34 EEST 2007
- Previous message: [maemo-commits] r13597 - in projects/haf/trunk/hildon-1: . src
- Next message: [maemo-commits] r13599 - in projects/haf/trunk/hildon-1: . src
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: mdk Date: 2007-09-05 14:48:33 +0300 (Wed, 05 Sep 2007) New Revision: 13598 Modified: projects/haf/trunk/hildon-1/ChangeLog projects/haf/trunk/hildon-1/src/hildon-window.c Log: Fixing the border freeing on destroy. Modified: projects/haf/trunk/hildon-1/ChangeLog =================================================================== --- projects/haf/trunk/hildon-1/ChangeLog 2007-09-05 11:26:50 UTC (rev 13597) +++ projects/haf/trunk/hildon-1/ChangeLog 2007-09-05 11:48:33 UTC (rev 13598) @@ -1,5 +1,9 @@ 2007-09-05 Michael Dominic Kostrzewa <michael.kostrzewa at nokia.com> + * src/hildon-window.c: Fixing the border freeing on destroy. + +2007-09-05 Michael Dominic Kostrzewa <michael.kostrzewa at nokia.com> + * src/hildon-code-dialog-private.h: * src/hildon-code-dialog.c: Adding a patch by Tomas Junnonen to fix the kw keyboard support in HildonCodeDialog. Modified: projects/haf/trunk/hildon-1/src/hildon-window.c =================================================================== --- projects/haf/trunk/hildon-1/src/hildon-window.c 2007-09-05 11:26:50 UTC (rev 13597) +++ projects/haf/trunk/hildon-1/src/hildon-window.c 2007-09-05 11:48:33 UTC (rev 13598) @@ -391,9 +391,12 @@ priv->escape_timeout = 0; } - g_free (priv->borders); - g_free (priv->toolbar_borders); + if (priv->borders) + gtk_border_free (priv->borders); + if (priv->toolbar_borders) + gtk_border_free (priv->toolbar_borders); + if (G_OBJECT_CLASS (parent_class)->finalize) G_OBJECT_CLASS (parent_class)->finalize (obj_self); @@ -497,18 +500,37 @@ HildonWindowPrivate *priv = HILDON_WINDOW_GET_PRIVATE (window); g_assert (priv); - g_free (priv->borders); - g_free (priv->toolbar_borders); + GtkBorder *borders = NULL; + GtkBorder *toolbar_borders = NULL; - gtk_widget_style_get (GTK_WIDGET (window), "borders",&priv->borders, - "toolbar-borders", &priv->toolbar_borders, + if (priv->borders) + gtk_border_free (priv->borders); + if (priv->toolbar_borders) + gtk_border_free (priv->toolbar_borders); + + priv->borders = NULL; + priv->toolbar_borders = NULL; + + gtk_widget_style_get (GTK_WIDGET (window), "borders",&borders, + "toolbar-borders", &toolbar_borders, NULL); - if (! priv->borders) - priv->borders = (GtkBorder *) g_malloc0 (sizeof (GtkBorder)); + // We're doing a copy here instead of reusing the pointer, + // as we don't know where it comes from (has it been allocated using + // malloc or slices... and we want to free it sanely. Blowing on + // cold probbably. - if (! priv->toolbar_borders) - priv->toolbar_borders = (GtkBorder *) g_malloc0 (sizeof (GtkBorder)); + if (borders) { + priv->borders = gtk_border_copy (borders); + gtk_border_free (borders); + } else + priv->borders = g_slice_new0 (GtkBorder); + + if (toolbar_borders) { + priv->toolbar_borders = gtk_border_copy (toolbar_borders); + gtk_border_free (toolbar_borders); + } else + priv->toolbar_borders = g_slice_new0 (GtkBorder); } static void
- Previous message: [maemo-commits] r13597 - in projects/haf/trunk/hildon-1: . src
- Next message: [maemo-commits] r13599 - in projects/haf/trunk/hildon-1: . src
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]