summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2014-10-25 15:55:54 -0400
committerMatthias Clasen <mclasen@redhat.com>2014-10-25 16:00:00 -0400
commit041ccd7f878f6412c3a47eec4665ea86123ea048 (patch)
tree30dbf566372efbc25586fe2759f2bbda9d622e7f
parente35d91d18f2deab7238dfcd2ad96451acce73f51 (diff)
downloadgtk+-041ccd7f878f6412c3a47eec4665ea86123ea048.tar.gz
GtkPlacesSidebar: Don't crash on dnd
gtk_get_current_event() can return NULL. Don't crash if it does. https://bugzilla.gnome.org/show_bug.cgi?id=739150
-rw-r--r--gtk/gtkplacessidebar.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/gtk/gtkplacessidebar.c b/gtk/gtkplacessidebar.c
index c6d53f7358..cdc5ce1f8f 100644
--- a/gtk/gtkplacessidebar.c
+++ b/gtk/gtkplacessidebar.c
@@ -1420,11 +1420,13 @@ static gboolean
clicked_eject_button (GtkPlacesSidebar *sidebar,
GtkTreePath **path)
{
- GdkEvent *event = gtk_get_current_event ();
- GdkEventButton *button_event = (GdkEventButton *) event;
+ GdkEvent *event;
- if ((event->type == GDK_BUTTON_PRESS || event->type == GDK_BUTTON_RELEASE) &&
- over_eject_button (sidebar, button_event->x, button_event->y, path))
+ event = gtk_get_current_event ();
+
+ if (event &&
+ (event->type == GDK_BUTTON_PRESS || event->type == GDK_BUTTON_RELEASE) &&
+ over_eject_button (sidebar, ((GdkEventButton *)event)->x, ((GdkEventButton *)event)->y, path))
return TRUE;
return FALSE;