]> Pileus Git - ~andy/gtk/commitdiff
Add gtk_border_new to avoid memory allocator confusions when using
authorXan Lopez <xan@gnome.org>
Thu, 27 Dec 2007 14:04:37 +0000 (14:04 +0000)
committerXan Lopez <xan@src.gnome.org>
Thu, 27 Dec 2007 14:04:37 +0000 (14:04 +0000)
2007-12-27  Xan Lopez  <xan@gnome.org>

* gtk/gtk.symbols:
* gtk/gtkstyle.c (gtk_border_new, gtk_border_copy):

Add gtk_border_new to avoid memory allocator confusions when using
GtkBorders. Also, make gtk_border_copy use g_slice_dup. (#454042)

svn path=/trunk/; revision=19248

ChangeLog
docs/reference/ChangeLog
docs/reference/gtk/gtk-sections.txt
gtk/gtk.symbols
gtk/gtkstyle.c
gtk/gtkstyle.h

index 17726636ba2e9171c8ba643c91bde7287513f3c3..45889a81851692fcb196448024ccdded8a8a4b9f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2007-12-27  Xan Lopez  <xan@gnome.org>
+
+       * gtk/gtk.symbols: 
+       * gtk/gtkstyle.c (gtk_border_new, gtk_border_copy): 
+
+       Add gtk_border_new to avoid memory allocator confusions when using
+       GtkBorders. Also, make gtk_border_copy use g_slice_dup. (#454042)
+
 2007-12-27  Christian Persch  <chpe@gnome.org>
 
        * gdk/x11/gdkscreen-x11.c: (init_randr12): Fir the patch from 
index 0db89fe048cd63003181981ee2c49ef301287fba..ee848683e234230c7a65c54709bbf4ff3a8e7b52 100644 (file)
@@ -1,3 +1,7 @@
+2007-12-27  Xan Lopez  <xan@gnome.org>
+
+       * gtk/gtk-sections.txt: Add gtk_border_new
+
 2007-12-19 19:54:11  Tim Janik  <timj@imendio.com>
 
        * libgail-util/Makefile.am: include Makefile.decl to unbreak test rules.
index f557f878e777fcec4bb70b072630fb18294a32ec..cc0051a1175ee3b89890011e94deba3c861da656 100644 (file)
@@ -5646,6 +5646,7 @@ gtk_draw_insertion_cursor
 
 <SUBSECTION>
 GtkBorder
+gtk_border_new
 gtk_border_copy
 gtk_border_free
 
index c3aace362b50d50bc57173e5d536aa7dd840395e..71e1fb9b0b82498d26003d7b5a1220c967f8857b 100644 (file)
@@ -1172,6 +1172,7 @@ gtk_paint_shadow_gap
 gtk_paint_slider
 gtk_paint_tab
 gtk_paint_vline
+gtk_border_new G_GNUC_MALLOC
 gtk_border_copy
 gtk_border_free
 gtk_border_get_type G_GNUC_CONST
index 1eaa9da64ec5d13d22e625cfde2320ba1e631572..5f63f8ff0dc6014929e183ba387f6d18dad70939 100644 (file)
@@ -6398,6 +6398,21 @@ gtk_paint_resize_grip (GtkStyle      *style,
                                                  edge, x, y, width, height);
 }
 
+/**
+ * gtk_border_new:
+ *
+ * Allocates a new #GtkBorder structure and initializes its elements to zero.
+ * 
+ * Returns: a new empty #GtkBorder. The newly allocated #GtkBorder should be freed
+ * with gtk_border_free()
+ * Since: 2.16
+ **/
+GtkBorder *
+gtk_border_new (void)
+{
+  return g_slice_new0 (GtkBorder);
+}
+
 /**
  * gtk_border_copy:
  * @border_: a #GtkBorder.
@@ -6408,15 +6423,9 @@ gtk_paint_resize_grip (GtkStyle      *style,
 GtkBorder *
 gtk_border_copy (const GtkBorder *border)
 {
-  GtkBorder *ret;
-
   g_return_val_if_fail (border != NULL, NULL);
 
-  ret = g_slice_new (GtkBorder);
-
-  *ret = *border;
-
-  return ret;
+  return g_slice_dup (GtkBorder, border);
 }
 
 /**
index bed56e0c2fb2dfc174c598a056ff344d1169963f..3d5afc1443181506c716c3e4cd8609c8b8032862 100644 (file)
@@ -856,6 +856,7 @@ void gtk_paint_resize_grip (GtkStyle                *style,
 
 
 GType      gtk_border_get_type (void) G_GNUC_CONST;
+GtkBorder *gtk_border_new      (void) G_GNUC_MALLOC;
 GtkBorder *gtk_border_copy     (const GtkBorder *border_);
 void       gtk_border_free     (GtkBorder       *border_);