[gtk+] Use GSlice for GtkRequisition
- From: Javier Jardón <jjardon src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] Use GSlice for GtkRequisition
- Date: Sat, 10 Jul 2010 04:17:17 +0000 (UTC)
commit eaab96c066b550445df1883b2fe8728d61f42b99
Author: Javier Jardón <jjardon gnome org>
Date: Tue May 4 05:27:50 2010 +0200
Use GSlice for GtkRequisition
Also add gtk_requisition_new to avoid memory allocator confusions when
using GtkRequisitions.
Based on a Christian Persch patch.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=461618
docs/reference/gtk/gtk3-sections.txt | 1 +
gtk/gtk.symbols | 1 +
gtk/gtkwidget.c | 20 ++++++++++++++++++--
gtk/gtkwidget.h | 1 +
4 files changed, 21 insertions(+), 2 deletions(-)
---
diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt
index ffce376..ce77892 100644
--- a/docs/reference/gtk/gtk3-sections.txt
+++ b/docs/reference/gtk/gtk3-sections.txt
@@ -4942,6 +4942,7 @@ gtk_widget_get_requisition
gtk_widget_device_is_shadowed
<SUBSECTION>
+gtk_requisition_new
gtk_requisition_copy
gtk_requisition_free
diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols
index b5125d0..fe70e5c 100644
--- a/gtk/gtk.symbols
+++ b/gtk/gtk.symbols
@@ -4312,6 +4312,7 @@ gtk_vseparator_new
gtk_requisition_copy
gtk_requisition_free
gtk_requisition_get_type G_GNUC_CONST
+gtk_requisition_new G_GNUC_MALLOC
gtk_widget_activate
gtk_widget_is_composited
gtk_widget_add_accelerator
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index a7d391b..a4141af 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -10241,6 +10241,22 @@ gtk_widget_class_path (GtkWidget *widget,
}
/**
+ * gtk_requisition_new:
+ *
+ * Allocates a new #GtkRequisition structure and initializes its elements to zero.
+ *
+ * Returns: a new empty #GtkRequisition. The newly allocated #GtkRequisition should
+ * be freed with gtk_requisition_free().
+ *
+ * Since: 3.0
+ */
+GtkRequisition *
+gtk_requisition_new (void)
+{
+ return g_slice_new0 (GtkRequisition);
+}
+
+/**
* gtk_requisition_copy:
* @requisition: a #GtkRequisition
*
@@ -10251,7 +10267,7 @@ gtk_widget_class_path (GtkWidget *widget,
GtkRequisition *
gtk_requisition_copy (const GtkRequisition *requisition)
{
- return (GtkRequisition *)g_memdup (requisition, sizeof (GtkRequisition));
+ return g_slice_dup (GtkRequisition, requisition);
}
/**
@@ -10263,7 +10279,7 @@ gtk_requisition_copy (const GtkRequisition *requisition)
void
gtk_requisition_free (GtkRequisition *requisition)
{
- g_free (requisition);
+ g_slice_free (GtkRequisition, requisition);
}
GType
diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h
index 15ec198..0bae2c6 100644
--- a/gtk/gtkwidget.h
+++ b/gtk/gtkwidget.h
@@ -954,6 +954,7 @@ void gtk_widget_set_has_tooltip (GtkWidget *widget,
gboolean gtk_widget_get_has_tooltip (GtkWidget *widget);
GType gtk_requisition_get_type (void) G_GNUC_CONST;
+GtkRequisition *gtk_requisition_new (void) G_GNUC_MALLOC;
GtkRequisition *gtk_requisition_copy (const GtkRequisition *requisition);
void gtk_requisition_free (GtkRequisition *requisition);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]