summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog16
-rw-r--r--ChangeLog.pre-2-016
-rw-r--r--ChangeLog.pre-2-1016
-rw-r--r--ChangeLog.pre-2-216
-rw-r--r--ChangeLog.pre-2-416
-rw-r--r--ChangeLog.pre-2-616
-rw-r--r--ChangeLog.pre-2-816
-rw-r--r--gtk/gtkimage.c36
-rw-r--r--gtk/gtklabel.c2
-rw-r--r--gtk/gtktextlayout.c2
-rw-r--r--gtk/testgtk.c2
-rw-r--r--tests/testgtk.c2
12 files changed, 148 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 44b5af546..79db30750 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2001-01-24 <alexl@redhat.com>
+
+ * gtk/gtkimage.c:
+ Splitted gtk_image_clear into gtk_image_clear() and
+ gtk_image_reset(). Call gtk_image_clear() in ::destroy
+ to avoid leaks.
+
+ * gtk/gtklabel.c (set_markup):
+ Don't leak text.
+
+ * gtk/gtktextlayout.c:
+ Always free display->shaped_objects.
+
+ * gtk/testgtk.c (create_clist):
+ Don't leak custom style.
+
2001-01-23 <alexl@redhat.com>
* gtk/gtkcolorsel.c (grab_color_at_mouse):
diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0
index 44b5af546..79db30750 100644
--- a/ChangeLog.pre-2-0
+++ b/ChangeLog.pre-2-0
@@ -1,3 +1,19 @@
+2001-01-24 <alexl@redhat.com>
+
+ * gtk/gtkimage.c:
+ Splitted gtk_image_clear into gtk_image_clear() and
+ gtk_image_reset(). Call gtk_image_clear() in ::destroy
+ to avoid leaks.
+
+ * gtk/gtklabel.c (set_markup):
+ Don't leak text.
+
+ * gtk/gtktextlayout.c:
+ Always free display->shaped_objects.
+
+ * gtk/testgtk.c (create_clist):
+ Don't leak custom style.
+
2001-01-23 <alexl@redhat.com>
* gtk/gtkcolorsel.c (grab_color_at_mouse):
diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10
index 44b5af546..79db30750 100644
--- a/ChangeLog.pre-2-10
+++ b/ChangeLog.pre-2-10
@@ -1,3 +1,19 @@
+2001-01-24 <alexl@redhat.com>
+
+ * gtk/gtkimage.c:
+ Splitted gtk_image_clear into gtk_image_clear() and
+ gtk_image_reset(). Call gtk_image_clear() in ::destroy
+ to avoid leaks.
+
+ * gtk/gtklabel.c (set_markup):
+ Don't leak text.
+
+ * gtk/gtktextlayout.c:
+ Always free display->shaped_objects.
+
+ * gtk/testgtk.c (create_clist):
+ Don't leak custom style.
+
2001-01-23 <alexl@redhat.com>
* gtk/gtkcolorsel.c (grab_color_at_mouse):
diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2
index 44b5af546..79db30750 100644
--- a/ChangeLog.pre-2-2
+++ b/ChangeLog.pre-2-2
@@ -1,3 +1,19 @@
+2001-01-24 <alexl@redhat.com>
+
+ * gtk/gtkimage.c:
+ Splitted gtk_image_clear into gtk_image_clear() and
+ gtk_image_reset(). Call gtk_image_clear() in ::destroy
+ to avoid leaks.
+
+ * gtk/gtklabel.c (set_markup):
+ Don't leak text.
+
+ * gtk/gtktextlayout.c:
+ Always free display->shaped_objects.
+
+ * gtk/testgtk.c (create_clist):
+ Don't leak custom style.
+
2001-01-23 <alexl@redhat.com>
* gtk/gtkcolorsel.c (grab_color_at_mouse):
diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4
index 44b5af546..79db30750 100644
--- a/ChangeLog.pre-2-4
+++ b/ChangeLog.pre-2-4
@@ -1,3 +1,19 @@
+2001-01-24 <alexl@redhat.com>
+
+ * gtk/gtkimage.c:
+ Splitted gtk_image_clear into gtk_image_clear() and
+ gtk_image_reset(). Call gtk_image_clear() in ::destroy
+ to avoid leaks.
+
+ * gtk/gtklabel.c (set_markup):
+ Don't leak text.
+
+ * gtk/gtktextlayout.c:
+ Always free display->shaped_objects.
+
+ * gtk/testgtk.c (create_clist):
+ Don't leak custom style.
+
2001-01-23 <alexl@redhat.com>
* gtk/gtkcolorsel.c (grab_color_at_mouse):
diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6
index 44b5af546..79db30750 100644
--- a/ChangeLog.pre-2-6
+++ b/ChangeLog.pre-2-6
@@ -1,3 +1,19 @@
+2001-01-24 <alexl@redhat.com>
+
+ * gtk/gtkimage.c:
+ Splitted gtk_image_clear into gtk_image_clear() and
+ gtk_image_reset(). Call gtk_image_clear() in ::destroy
+ to avoid leaks.
+
+ * gtk/gtklabel.c (set_markup):
+ Don't leak text.
+
+ * gtk/gtktextlayout.c:
+ Always free display->shaped_objects.
+
+ * gtk/testgtk.c (create_clist):
+ Don't leak custom style.
+
2001-01-23 <alexl@redhat.com>
* gtk/gtkcolorsel.c (grab_color_at_mouse):
diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8
index 44b5af546..79db30750 100644
--- a/ChangeLog.pre-2-8
+++ b/ChangeLog.pre-2-8
@@ -1,3 +1,19 @@
+2001-01-24 <alexl@redhat.com>
+
+ * gtk/gtkimage.c:
+ Splitted gtk_image_clear into gtk_image_clear() and
+ gtk_image_reset(). Call gtk_image_clear() in ::destroy
+ to avoid leaks.
+
+ * gtk/gtklabel.c (set_markup):
+ Don't leak text.
+
+ * gtk/gtktextlayout.c:
+ Always free display->shaped_objects.
+
+ * gtk/testgtk.c (create_clist):
+ Don't leak custom style.
+
2001-01-23 <alexl@redhat.com>
* gtk/gtkcolorsel.c (grab_color_at_mouse):
diff --git a/gtk/gtkimage.c b/gtk/gtkimage.c
index 294eab906..c44ad0fe3 100644
--- a/gtk/gtkimage.c
+++ b/gtk/gtkimage.c
@@ -34,7 +34,9 @@ static gint gtk_image_expose (GtkWidget *widget,
GdkEventExpose *event);
static void gtk_image_size_request (GtkWidget *widget,
GtkRequisition *requisition);
+static void gtk_image_destroy (GtkObject *object);
static void gtk_image_clear (GtkImage *image);
+static void gtk_image_reset (GtkImage *image);
static void gtk_image_update_size (GtkImage *image,
gint image_width,
gint image_height);
@@ -69,10 +71,15 @@ gtk_image_get_type (void)
static void
gtk_image_class_init (GtkImageClass *class)
{
+ GtkObjectClass *object_class;
GtkWidgetClass *widget_class;
parent_class = g_type_class_peek_parent (class);
+
+ object_class = (GtkObjectClass *) class;
+ object_class->destroy = gtk_image_destroy;
+
widget_class = (GtkWidgetClass*) class;
widget_class->expose_event = gtk_image_expose;
@@ -87,6 +94,17 @@ gtk_image_init (GtkImage *image)
image->storage_type = GTK_IMAGE_EMPTY;
}
+static void
+gtk_image_destroy (GtkObject *object)
+{
+ GtkImage *image = GTK_IMAGE (object);
+
+ gtk_image_clear (image);
+
+ GTK_OBJECT_CLASS (parent_class)->destroy (object);
+}
+
+
GtkWidget*
gtk_image_new_from_pixmap (GdkPixmap *pixmap,
GdkBitmap *mask)
@@ -180,7 +198,7 @@ gtk_image_set_from_pixmap (GtkImage *image,
if (mask)
g_object_ref (G_OBJECT (mask));
- gtk_image_clear (image);
+ gtk_image_reset (image);
if (pixmap)
{
@@ -222,7 +240,7 @@ gtk_image_set_from_image (GtkImage *image,
if (mask)
g_object_ref (G_OBJECT (mask));
- gtk_image_clear (image);
+ gtk_image_reset (image);
if (gdk_image)
{
@@ -250,7 +268,7 @@ gtk_image_set_from_file (GtkImage *image,
g_return_if_fail (GTK_IS_IMAGE (image));
g_return_if_fail (filename != NULL);
- gtk_image_clear (image);
+ gtk_image_reset (image);
if (filename == NULL)
return;
@@ -276,7 +294,7 @@ gtk_image_set_from_pixbuf (GtkImage *image,
if (pixbuf)
g_object_ref (G_OBJECT (pixbuf));
- gtk_image_clear (image);
+ gtk_image_reset (image);
if (pixbuf != NULL)
{
@@ -297,7 +315,7 @@ gtk_image_set_from_stock (GtkImage *image,
{
g_return_if_fail (GTK_IS_IMAGE (image));
- gtk_image_clear (image);
+ gtk_image_reset (image);
if (stock_id)
{
@@ -323,7 +341,7 @@ gtk_image_set_from_icon_set (GtkImage *image,
if (icon_set)
gtk_icon_set_ref (icon_set);
- gtk_image_clear (image);
+ gtk_image_reset (image);
if (icon_set)
{
@@ -697,7 +715,13 @@ gtk_image_clear (GtkImage *image)
}
image->storage_type = GTK_IMAGE_EMPTY;
+}
+static void
+gtk_image_reset (GtkImage *image)
+{
+ gtk_image_clear (image);
+
GTK_WIDGET (image)->requisition.width = 0;
GTK_WIDGET (image)->requisition.height = 0;
diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c
index 17036974e..f8ab0f5cd 100644
--- a/gtk/gtklabel.c
+++ b/gtk/gtklabel.c
@@ -276,7 +276,7 @@ set_markup (GtkLabel *label,
}
if (text)
- gtk_label_set_text (label, text);
+ gtk_label_set_text_internal (label, text);
if (attrs)
{
diff --git a/gtk/gtktextlayout.c b/gtk/gtktextlayout.c
index 3afabc589..ff9bdca23 100644
--- a/gtk/gtktextlayout.c
+++ b/gtk/gtktextlayout.c
@@ -1903,8 +1903,8 @@ gtk_text_layout_free_line_display (GtkTextLayout *layout,
{
g_slist_foreach (display->cursors, (GFunc)g_free, NULL);
g_slist_free (display->cursors);
- g_slist_free (display->shaped_objects);
}
+ g_slist_free (display->shaped_objects);
g_free (display);
}
diff --git a/gtk/testgtk.c b/gtk/testgtk.c
index 5a12f67e1..534c93736 100644
--- a/gtk/testgtk.c
+++ b/gtk/testgtk.c
@@ -4747,6 +4747,8 @@ create_clist (void)
}
}
+ gtk_style_unref (style);
+
separator = gtk_hseparator_new ();
gtk_box_pack_start (GTK_BOX (vbox), separator, FALSE, TRUE, 0);
diff --git a/tests/testgtk.c b/tests/testgtk.c
index 5a12f67e1..534c93736 100644
--- a/tests/testgtk.c
+++ b/tests/testgtk.c
@@ -4747,6 +4747,8 @@ create_clist (void)
}
}
+ gtk_style_unref (style);
+
separator = gtk_hseparator_new ();
gtk_box_pack_start (GTK_BOX (vbox), separator, FALSE, TRUE, 0);