[gtk+] inspector: Remove flash timeout from widgets being unmapped
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] inspector: Remove flash timeout from widgets being unmapped
- Date: Mon, 16 Mar 2015 15:30:06 +0000 (UTC)
commit 70e7b4c8480f9cfc351291bc7f12147690f7ff49
Author: Carlos Garnacho <carlosg gnome org>
Date: Mon Mar 16 13:57:03 2015 +0100
inspector: Remove flash timeout from widgets being unmapped
Otherwise the timeout can keep running, even if the widget is being
destroyed.
gtk/inspector/inspect-button.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
---
diff --git a/gtk/inspector/inspect-button.c b/gtk/inspector/inspect-button.c
index 55d92da..937e006 100644
--- a/gtk/inspector/inspect-button.c
+++ b/gtk/inspector/inspect-button.c
@@ -191,6 +191,7 @@ clear_flash (GtkInspectorWindow *iw)
{
gtk_widget_queue_draw (iw->flash_widget);
g_signal_handlers_disconnect_by_func (iw->flash_widget, draw_flash, iw);
+ g_signal_handlers_disconnect_by_func (iw->flash_widget, clear_flash, iw);
iw->flash_widget = NULL;
}
}
@@ -204,6 +205,7 @@ start_flash (GtkInspectorWindow *iw,
iw->flash_count = 1;
iw->flash_widget = widget;
g_signal_connect_after (widget, "draw", G_CALLBACK (draw_flash), iw);
+ g_signal_connect_swapped (widget, "unmap", G_CALLBACK (clear_flash), iw);
gtk_widget_queue_draw (widget);
}
@@ -434,6 +436,7 @@ on_flash_timeout (GtkInspectorWindow *iw)
if (iw->flash_count == 6)
{
g_signal_handlers_disconnect_by_func (iw->flash_widget, draw_flash, iw);
+ g_signal_handlers_disconnect_by_func (iw->flash_widget, clear_flash, iw);
iw->flash_widget = NULL;
iw->flash_cnx = 0;
@@ -471,6 +474,7 @@ void
gtk_inspector_stop_highlight (GtkWidget *widget)
{
g_signal_handlers_disconnect_by_func (widget, draw_flash, NULL);
+ g_signal_handlers_disconnect_by_func (widget, clear_flash, NULL);
gtk_widget_queue_draw (widget);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]