summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
Diffstat (limited to 'gtk')
-rw-r--r--gtk/gtktooltip.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/gtk/gtktooltip.c b/gtk/gtktooltip.c
index 8e17ce2f7a..56a944d00d 100644
--- a/gtk/gtktooltip.c
+++ b/gtk/gtktooltip.c
@@ -704,7 +704,7 @@ gtk_tooltip_display_closed (GdkDisplay *display,
gboolean was_error,
GtkTooltip *tooltip)
{
- g_object_set (display, "gdk-display-current-tooltip", NULL);
+ g_object_set_data (G_OBJECT (display), "gdk-display-current-tooltip", NULL);
}
static gboolean
@@ -1090,6 +1090,9 @@ _gtk_tooltip_toggle_keyboard_mode (GtkWidget *widget)
g_object_set_data_full (G_OBJECT (display),
"gdk-display-current-tooltip",
tooltip, g_object_unref);
+ g_signal_connect (display, "closed",
+ G_CALLBACK (gtk_tooltip_display_closed),
+ tooltip);
}
tooltip->keyboard_mode_enabled ^= 1;
@@ -1264,6 +1267,9 @@ _gtk_tooltip_handle_event (GdkEvent *event)
g_object_set_data_full (G_OBJECT (display),
"gdk-display-current-tooltip",
current_tooltip, g_object_unref);
+ g_signal_connect (display, "closed",
+ G_CALLBACK (gtk_tooltip_display_closed),
+ current_tooltip);
current_tooltip->last_window = event->any.window;
gdk_event_get_root_coords (event,