popover: Fix setting priv->button_pressed in ::event handler
authorTimm Bäder <mail@baedert.org>
Sun, 27 May 2018 15:44:31 +0000 (17:44 +0200)
committerTimm Bäder <mail@baedert.org>
Sun, 27 May 2018 15:51:51 +0000 (17:51 +0200)
There were two cases in that if/else cascade handling the
event_type == GDK_BUTTON_PRESS case, so priv->button_pressed never got
set.

gtk/gtkpopover.c

index 8d64a6fbe2bbec39a629aa2ed7b6f1236806de7e..ca78db5558c10795416141ef8df6ac753d7f6157 100644 (file)
@@ -1381,6 +1381,8 @@ gtk_popover_event (GtkWidget *widget,
       GtkWidget *toplevel, *focus;
       guint keyval;
 
+      priv->button_pressed = TRUE;
+
       if (!gdk_event_get_keyval ((GdkEvent *) event, &keyval))
         return GDK_EVENT_PROPAGATE;
 
@@ -1405,8 +1407,6 @@ gtk_popover_event (GtkWidget *widget,
 
       return GDK_EVENT_PROPAGATE;
     }
-  else if (gdk_event_get_event_type (event) == GDK_BUTTON_PRESS)
-    priv->button_pressed = TRUE;
   else if (gdk_event_get_event_type (event) == GDK_BUTTON_RELEASE)
     {
       GtkAllocation child_alloc;