]> Pileus Git - ~andy/gtk/commitdiff
Free dash list if necessary.
authorAnders Carlsson <andersca@gnu.org>
Thu, 3 Jan 2002 00:30:39 +0000 (00:30 +0000)
committerAnders Carlsson <andersca@src.gnome.org>
Thu, 3 Jan 2002 00:30:39 +0000 (00:30 +0000)
2002-01-03  Anders Carlsson  <andersca@gnu.org>

* gtk/gtkstyle.c (gtk_default_draw_focus): Free dash list if
necessary.

* gtk/gtkhsv.c (gtk_hsv_get_focus_gc): Free dash list.

* gtk/gtkcolorsel.c (get_focus_gc): Free dash list.

* gtk/gtkdnd.c (set_icon_stock_pixbuf): Don't unref the mask
if it's NULL.

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkcolorsel.c
gtk/gtkdnd.c
gtk/gtkhsv.c
gtk/gtkstyle.c

index a8dbde1c2d14f4b4d3967e7df00eca1f07380209..bcb8054c3c62dcd80dd2527b81617bdcd5060a5a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2002-01-03  Anders Carlsson  <andersca@gnu.org>
 
+       * gtk/gtkstyle.c (gtk_default_draw_focus): Free dash list if
+       necessary.
+
+       * gtk/gtkhsv.c (gtk_hsv_get_focus_gc): Free dash list.
+
+       * gtk/gtkcolorsel.c (get_focus_gc): Free dash list.
+
+       * gtk/gtkdnd.c (set_icon_stock_pixbuf): Don't unref the mask
+       if it's NULL.
+
        * gtk/gtktreeview.c: Rename gtk_tree_view_queue_draw_node to
        _gtk_tree_view_queue_draw_node.
        (gtk_tree_view_row_has_child_toggled): Only redraw one node.
index a8dbde1c2d14f4b4d3967e7df00eca1f07380209..bcb8054c3c62dcd80dd2527b81617bdcd5060a5a 100644 (file)
@@ -1,5 +1,15 @@
 2002-01-03  Anders Carlsson  <andersca@gnu.org>
 
+       * gtk/gtkstyle.c (gtk_default_draw_focus): Free dash list if
+       necessary.
+
+       * gtk/gtkhsv.c (gtk_hsv_get_focus_gc): Free dash list.
+
+       * gtk/gtkcolorsel.c (get_focus_gc): Free dash list.
+
+       * gtk/gtkdnd.c (set_icon_stock_pixbuf): Don't unref the mask
+       if it's NULL.
+
        * gtk/gtktreeview.c: Rename gtk_tree_view_queue_draw_node to
        _gtk_tree_view_queue_draw_node.
        (gtk_tree_view_row_has_child_toggled): Only redraw one node.
index a8dbde1c2d14f4b4d3967e7df00eca1f07380209..bcb8054c3c62dcd80dd2527b81617bdcd5060a5a 100644 (file)
@@ -1,5 +1,15 @@
 2002-01-03  Anders Carlsson  <andersca@gnu.org>
 
+       * gtk/gtkstyle.c (gtk_default_draw_focus): Free dash list if
+       necessary.
+
+       * gtk/gtkhsv.c (gtk_hsv_get_focus_gc): Free dash list.
+
+       * gtk/gtkcolorsel.c (get_focus_gc): Free dash list.
+
+       * gtk/gtkdnd.c (set_icon_stock_pixbuf): Don't unref the mask
+       if it's NULL.
+
        * gtk/gtktreeview.c: Rename gtk_tree_view_queue_draw_node to
        _gtk_tree_view_queue_draw_node.
        (gtk_tree_view_row_has_child_toggled): Only redraw one node.
index a8dbde1c2d14f4b4d3967e7df00eca1f07380209..bcb8054c3c62dcd80dd2527b81617bdcd5060a5a 100644 (file)
@@ -1,5 +1,15 @@
 2002-01-03  Anders Carlsson  <andersca@gnu.org>
 
+       * gtk/gtkstyle.c (gtk_default_draw_focus): Free dash list if
+       necessary.
+
+       * gtk/gtkhsv.c (gtk_hsv_get_focus_gc): Free dash list.
+
+       * gtk/gtkcolorsel.c (get_focus_gc): Free dash list.
+
+       * gtk/gtkdnd.c (set_icon_stock_pixbuf): Don't unref the mask
+       if it's NULL.
+
        * gtk/gtktreeview.c: Rename gtk_tree_view_queue_draw_node to
        _gtk_tree_view_queue_draw_node.
        (gtk_tree_view_row_has_child_toggled): Only redraw one node.
index a8dbde1c2d14f4b4d3967e7df00eca1f07380209..bcb8054c3c62dcd80dd2527b81617bdcd5060a5a 100644 (file)
@@ -1,5 +1,15 @@
 2002-01-03  Anders Carlsson  <andersca@gnu.org>
 
+       * gtk/gtkstyle.c (gtk_default_draw_focus): Free dash list if
+       necessary.
+
+       * gtk/gtkhsv.c (gtk_hsv_get_focus_gc): Free dash list.
+
+       * gtk/gtkcolorsel.c (get_focus_gc): Free dash list.
+
+       * gtk/gtkdnd.c (set_icon_stock_pixbuf): Don't unref the mask
+       if it's NULL.
+
        * gtk/gtktreeview.c: Rename gtk_tree_view_queue_draw_node to
        _gtk_tree_view_queue_draw_node.
        (gtk_tree_view_row_has_child_toggled): Only redraw one node.
index a8dbde1c2d14f4b4d3967e7df00eca1f07380209..bcb8054c3c62dcd80dd2527b81617bdcd5060a5a 100644 (file)
@@ -1,5 +1,15 @@
 2002-01-03  Anders Carlsson  <andersca@gnu.org>
 
+       * gtk/gtkstyle.c (gtk_default_draw_focus): Free dash list if
+       necessary.
+
+       * gtk/gtkhsv.c (gtk_hsv_get_focus_gc): Free dash list.
+
+       * gtk/gtkcolorsel.c (get_focus_gc): Free dash list.
+
+       * gtk/gtkdnd.c (set_icon_stock_pixbuf): Don't unref the mask
+       if it's NULL.
+
        * gtk/gtktreeview.c: Rename gtk_tree_view_queue_draw_node to
        _gtk_tree_view_queue_draw_node.
        (gtk_tree_view_row_has_child_toggled): Only redraw one node.
index a8dbde1c2d14f4b4d3967e7df00eca1f07380209..bcb8054c3c62dcd80dd2527b81617bdcd5060a5a 100644 (file)
@@ -1,5 +1,15 @@
 2002-01-03  Anders Carlsson  <andersca@gnu.org>
 
+       * gtk/gtkstyle.c (gtk_default_draw_focus): Free dash list if
+       necessary.
+
+       * gtk/gtkhsv.c (gtk_hsv_get_focus_gc): Free dash list.
+
+       * gtk/gtkcolorsel.c (get_focus_gc): Free dash list.
+
+       * gtk/gtkdnd.c (set_icon_stock_pixbuf): Don't unref the mask
+       if it's NULL.
+
        * gtk/gtktreeview.c: Rename gtk_tree_view_queue_draw_node to
        _gtk_tree_view_queue_draw_node.
        (gtk_tree_view_row_has_child_toggled): Only redraw one node.
index 891f7ce6cbcab60cac6be25b794d79a36bb8accf..64be1c05b369f49807d0cf752e1b0092dea538e8 100644 (file)
@@ -676,6 +676,8 @@ get_focus_gc (GtkWidget *drawing_area,
   if (dash_list[0])
     gdk_gc_set_dashes (gc, 0, dash_list, strlen (dash_list));
 
+  g_free (dash_list);
+  
   return gc;
 }
 
index 6af2c50d9d7fd52c7ef017de8f86b16a4213579f..83b79ef46018492b25c19d21af81dffaf3e078e5 100644 (file)
@@ -2169,7 +2169,9 @@ set_icon_stock_pixbuf (GdkDragContext    *context,
     gtk_widget_shape_combine_mask (window, mask, 0, 0);
 
   g_object_unref (G_OBJECT (pixmap));
-  g_object_unref (G_OBJECT (mask));
+
+  if (mask)
+    g_object_unref (G_OBJECT (mask));
 
   gtk_drag_set_icon_window (context, window, hot_x, hot_y, TRUE);
 }
index cc041c589d8ec413b9a59524f9962a90730e83b2..737c1b4636785244ba9260787e787057e6625a0d 100644 (file)
@@ -1755,5 +1755,7 @@ gtk_hsv_get_focus_gc (GtkHSV *hsv,
   if (dash_list[0])
     gdk_gc_set_dashes (focus_gc, 0, dash_list, strlen (dash_list));
 
+  g_free (dash_list);
+  
   return focus_gc;
 }
index ed8a4ba5b14b83f9b81c856eaab0e635384f9028..9f5d91bad964ebf21bc527110599d4acba238756 100644 (file)
@@ -3804,6 +3804,7 @@ gtk_default_draw_focus (GtkStyle      *style,
 {
   GdkPoint points[5];
   GdkGC    *gc;
+  gboolean free_dash_list = FALSE;
   gint line_width = 1;
   gchar *dash_list = "\1\1";
   gint dash_len;
@@ -3811,11 +3812,15 @@ gtk_default_draw_focus (GtkStyle      *style,
   gc = style->fg_gc[state_type];
 
   if (widget)
-    gtk_widget_style_get (widget,
-                         "focus-line-width", &line_width,
-                         "focus-line-pattern", (gchar *)&dash_list,
-                         NULL);
-  
+    {
+      gtk_widget_style_get (widget,
+                           "focus-line-width", &line_width,
+                           "focus-line-pattern", (gchar *)&dash_list,
+                           NULL);
+
+      free_dash_list = TRUE;
+  }
+
   sanitize_size (window, &width, &height);
   
   if (area)
@@ -3827,7 +3832,13 @@ gtk_default_draw_focus (GtkStyle      *style,
 
 
   if (detail && !strcmp (detail, "add-mode"))
-    dash_list = "\4\4";
+    {
+      if (free_dash_list)
+       g_free (dash_list);
+      
+      dash_list = "\4\4";
+      free_dash_list = FALSE;
+    }
 
   points[0].x = x + line_width / 2;
   points[0].y = y + line_width / 2;
@@ -3911,6 +3922,9 @@ gtk_default_draw_focus (GtkStyle      *style,
 
   if (area)
     gdk_gc_set_clip_rectangle (gc, NULL);
+
+  if (free_dash_list)
+    g_free (dash_list);
 }
 
 static void