[gtk+/gtk-2-24] Bug 653450 - gtkfilechooser crashes when added favorite



commit 94fc15ad95cc06a42cfec5873ece84f297b40fcd
Author: John Ralls <jralls ceridwen us>
Date:   Sun Jul 3 16:40:03 2011 -0700

    Bug 653450 - gtkfilechooser crashes when added favorite
    
    Ensure that display is set during drag-and-drop, and that string lists'
    memory is zeroed after allocation to prevent g_strfreev() from
    over-running.

 gdk/quartz/gdkselection-quartz.c |    4 +---
 gtk/gtkdnd-quartz.c              |    1 +
 gtk/gtkquartz.c                  |    3 ++-
 3 files changed, 4 insertions(+), 4 deletions(-)
---
diff --git a/gdk/quartz/gdkselection-quartz.c b/gdk/quartz/gdkselection-quartz.c
index c327eb9..50d1d28 100644
--- a/gdk/quartz/gdkselection-quartz.c
+++ b/gdk/quartz/gdkselection-quartz.c
@@ -179,10 +179,8 @@ make_list (const gchar  *text,
     }
 
   if (list)
-    *list = g_new (gchar *, n_strings + 1);
+    *list = g_new0 (gchar *, n_strings + 1);
 
-  (*list)[n_strings] = NULL;
-  
   i = n_strings;
   tmp_list = strings;
   while (tmp_list)
diff --git a/gtk/gtkdnd-quartz.c b/gtk/gtkdnd-quartz.c
index 8dd47b9..f7b82a2 100644
--- a/gtk/gtkdnd-quartz.c
+++ b/gtk/gtkdnd-quartz.c
@@ -153,6 +153,7 @@ struct _GtkDragFindData
   selection_data.data = NULL;
   selection_data.length = -1;
   selection_data.target = _gtk_quartz_pasteboard_type_to_atom (type);
+  selection_data.display = gdk_display_get_default ();
 
   if (gtk_target_list_find (info->target_list, 
 			    selection_data.target, 
diff --git a/gtk/gtkquartz.c b/gtk/gtkquartz.c
index 265d9ff..5b28969 100644
--- a/gtk/gtkquartz.c
+++ b/gtk/gtkquartz.c
@@ -160,7 +160,8 @@ _gtk_quartz_get_selection_data_from_pasteboard (NSPasteboard *pasteboard,
   selection_data = g_slice_new0 (GtkSelectionData);
   selection_data->selection = selection;
   selection_data->target = target;
-
+  if (!selection_data->display)
+    selection_data->display = gdk_display_get_default ();
   if (target == gdk_atom_intern_static_string ("UTF8_STRING"))
     {
       NSString *s = [pasteboard stringForType:NSStringPboardType];



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]