brasero r1814 - in trunk: . src
- From: philippr svn gnome org
- To: svn-commits-list gnome org
- Subject: brasero r1814 - in trunk: . src
- Date: Fri, 23 Jan 2009 12:51:27 +0000 (UTC)
Author: philippr
Date: Fri Jan 23 12:51:27 2009
New Revision: 1814
URL: http://svn.gnome.org/viewvc/brasero?rev=1814&view=rev
Log:
2009-01-23 Philippe Rouquier <ykw localhost localdomain>
Try to fix #560114 â seg fault when dragging files from user's directory
* src/eggtreemultidnd.c (egg_tree_multi_drag_button_press_event):
Modified:
trunk/ChangeLog
trunk/src/eggtreemultidnd.c
Modified: trunk/src/eggtreemultidnd.c
==============================================================================
--- trunk/src/eggtreemultidnd.c (original)
+++ trunk/src/eggtreemultidnd.c Fri Jan 23 12:51:27 2009
@@ -373,10 +373,25 @@
&path, &column,
&cell_x, &cell_y);
- selection = gtk_tree_view_get_selection (tree_view);
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view));
if (path && gtk_tree_selection_path_is_selected (selection, path))
{
+ GList *iter;
+ GList *selected;
+ GtkWidgetClass *widget_klass;
+
+ /* The call to ::button_press_event will unselect all selected rows so
+ * we must save the selection and select all previously selected rows
+ * again. */
+ selected = gtk_tree_selection_get_selected_rows (selection, NULL);
+
+ widget_klass = GTK_WIDGET_GET_CLASS (tree_view);
+ widget_klass->button_press_event (widget, event);
+
+ for (iter = selected; iter; iter = iter->next)
+ gtk_tree_selection_select_path (selection, iter->data);
+
priv_data->pressed_button = event->button;
priv_data->x = event->x;
priv_data->y = event->y;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]