2008-03-03 Sven Herzberg <sven@imendio.com>
authorSven Herzberg <herzi@imendio.com>
Mon, 3 Mar 2008 07:22:36 +0000 (07:22 +0000)
committerSven Herzberg <herzi@imendio.com>
Mon, 3 Mar 2008 07:22:36 +0000 (07:22 +0000)
Fixes: MB#1276: wrong allocators used in hildon_window_get_borders

* src/hildon-window.c: (hildon_window_get_borders): don't imply any
knowledge about the border allocators used within GTK+

ChangeLog
debian/changelog
src/hildon-window.c

index a2507ea..db27407 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-03-03  Sven Herzberg  <sven@imendio.com>
+
+       Fixes: MB#1276: wrong allocators used in hildon_window_get_borders
+
+       * src/hildon-window.c: (hildon_window_get_borders): don't imply any
+       knowledge about the border allocators used within GTK+
+
 2008-02-26  Sven Herzberg  <sven@imendio.com>
 
        Fixes: MB#2981: Build with asserts broken
index 2aac940..e271d30 100644 (file)
@@ -1,3 +1,9 @@
+libhildon (2.0.1-2) gutsy; urgency=low
+
+  * Fixes: MB#1276: wrong allocators used in hildon_window_get_borders
+
+ -- Sven Herzberg <sven@imendio.com>  Mon, 25 Feb 2008 11:50:10 +0100
+
 libhildon (2.0.1-1) unstable; urgency=low
 
   * Do not use PACKAGE_VERSION_MAJOR for the API revision.
index c03909c..c1b2241 100644 (file)
@@ -365,7 +365,7 @@ hildon_window_finalize                          (GObject * obj_self)
       priv->escape_timeout = 0;
     }
 
-    if (priv->borders) 
+    if (priv->borders)
         gtk_border_free (priv->borders);
 
     if (priv->toolbar_borders)
@@ -496,6 +496,7 @@ hildon_window_get_property                      (GObject *object,
 static void
 hildon_window_get_borders                       (HildonWindow *window)
 {
+    GtkBorder zero = {0, 0, 0, 0};
     HildonWindowPrivate *priv = HILDON_WINDOW_GET_PRIVATE (window);
     g_assert (priv);
 
@@ -522,14 +523,14 @@ hildon_window_get_borders                       (HildonWindow *window)
     if (borders) {
         priv->borders = gtk_border_copy (borders);
         gtk_border_free (borders);
-    } else 
-        priv->borders = g_slice_new0 (GtkBorder);
+    } else
+        priv->borders = g_boxed_copy (GTK_TYPE_BORDER, &zero);
 
     if (toolbar_borders) {
         priv->toolbar_borders = gtk_border_copy (toolbar_borders);
         gtk_border_free (toolbar_borders);
     } else
-        priv->toolbar_borders = g_slice_new0 (GtkBorder);
+        priv->toolbar_borders = g_boxed_copy (GTK_TYPE_BORDER, &zero);
 }
 
 static gboolean