+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
+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.
<SUBSECTION>
GtkBorder
+gtk_border_new
gtk_border_copy
gtk_border_free
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
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.
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);
}
/**
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_);