[gtk+/gtk-3-22] Make sure to remove tooltip timeout.
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/gtk-3-22] Make sure to remove tooltip timeout.
- Date: Tue, 9 May 2017 10:55:38 +0000 (UTC)
commit c05c78f9c96341b211655bc652f569df0fb43bb1
Author: Olof-Joachim Frahm <olof macrolet net>
Date: Sun Feb 5 19:08:56 2017 +0100
Make sure to remove tooltip timeout.
Otherwise in GC-ed environments the `g_source_remove` call during
disposal might be called on an already removed source, which results in
unnecessary console output.
https://bugzilla.gnome.org/show_bug.cgi?id=778301
gtk/gtktooltip.c | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtktooltip.c b/gtk/gtktooltip.c
index 19a4963..84ed9fd 100644
--- a/gtk/gtktooltip.c
+++ b/gtk/gtktooltip.c
@@ -761,6 +761,12 @@ tooltip_browse_mode_expired (gpointer data)
tooltip->browse_mode_enabled = FALSE;
tooltip->browse_mode_timeout_id = 0;
+ if (tooltip->timeout_id)
+ {
+ g_source_remove (tooltip->timeout_id);
+ tooltip->timeout_id = 0;
+ }
+
/* destroy tooltip */
display = gtk_widget_get_display (tooltip->window);
g_object_set_qdata (G_OBJECT (display), quark_current_tooltip, NULL);
@@ -773,6 +779,12 @@ gtk_tooltip_display_closed (GdkDisplay *display,
gboolean was_error,
GtkTooltip *tooltip)
{
+ if (tooltip->timeout_id)
+ {
+ g_source_remove (tooltip->timeout_id);
+ tooltip->timeout_id = 0;
+ }
+
g_object_set_qdata (G_OBJECT (display), quark_current_tooltip, NULL);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]