chiark / gitweb /
Fix modifier key handling in Disobedience drag+drop logic.
authorRichard Kettlewell <rjk@greenend.org.uk>
Fri, 4 Jun 2010 17:39:32 +0000 (18:39 +0100)
committerRichard Kettlewell <rjk@greenend.org.uk>
Fri, 4 Jun 2010 17:39:32 +0000 (18:39 +0100)
disobedience/multidrag.c

index 8b28c94e53784f1c58a33869e2fe30bb07b53cd2..f4a5a768e1ada942985cafba7ae35d2ecad8dad8 100644 (file)
@@ -92,8 +92,9 @@ static gboolean multidrag_button_press_event(GtkWidget *w,
   /* We are only interested in left-button behavior */
   if(event->button != 1)
     return FALSE;
-  /* We are only interested in unmodified clicks (not SHIFT etc) */
-  if(event->state & GDK_MODIFIER_MASK)
+  /* We are only uninterested in clicks without CTRL or SHIFT.  GTK ignores the
+   * other possible modifiers, so we do too. */
+  if(event->state & (GDK_SHIFT_MASK|GDK_CONTROL_MASK))
     return FALSE;
   /* We are only interested if a well-defined path is clicked */
   GtkTreePath *path = NULL;