patch 8.2.2999: balloon sometimes does not hide with GTK 3
Problem: Balloon sometimes does not hide with GTK 3. Solution: Also listen to GDK_LEAVE_NOTIFY. (Johannes Stezenbach)
This commit is contained in:
@ -253,6 +253,9 @@ addEventHandler(GtkWidget *target, BalloonEval *beval)
|
||||
if (gtk_socket_id == 0 && gui.mainwin != NULL
|
||||
&& gtk_widget_is_ancestor(target, gui.mainwin))
|
||||
{
|
||||
gtk_widget_add_events(gui.mainwin,
|
||||
GDK_LEAVE_NOTIFY_MASK);
|
||||
|
||||
g_signal_connect(G_OBJECT(gui.mainwin), "event",
|
||||
G_CALLBACK(mainwin_event_cb),
|
||||
beval);
|
||||
@ -360,6 +363,12 @@ mainwin_event_cb(GtkWidget *widget UNUSED, GdkEvent *event, gpointer data)
|
||||
case GDK_KEY_RELEASE:
|
||||
key_event(beval, event->key.keyval, FALSE);
|
||||
break;
|
||||
case GDK_LEAVE_NOTIFY:
|
||||
// Ignore LeaveNotify events that are not "normal".
|
||||
// Apparently we also get it when somebody else grabs focus.
|
||||
if (event->crossing.mode == GDK_CROSSING_NORMAL)
|
||||
cancelBalloon(beval);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@ -750,6 +750,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
2999,
|
||||
/**/
|
||||
2998,
|
||||
/**/
|
||||
|
||||
Reference in New Issue
Block a user