[gtk+] inspector: Properly update flashing hilight



commit 4d7369d1a82f6d09a80f38f54bc36a49699557b2
Author: Benjamin Otte <otte redhat com>
Date:   Mon Dec 1 15:38:26 2014 +0100

    inspector: Properly update flashing hilight
    
    Previously, the inspector would not change the hilight while the
    previous hilight was still flashing.
    This is inconvenient while arrowing through the object selection
    treeview though where you want the currently selected row to hilight
    when arrowing quickly.

 gtk/inspector/inspect-button.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)
---
diff --git a/gtk/inspector/inspect-button.c b/gtk/inspector/inspect-button.c
index a006bc9..f469a62 100644
--- a/gtk/inspector/inspect-button.c
+++ b/gtk/inspector/inspect-button.c
@@ -199,6 +199,8 @@ static void
 start_flash (GtkInspectorWindow *iw,
              GtkWidget          *widget)
 {
+  clear_flash (iw);
+
   iw->flash_count = 1;
   iw->flash_widget = widget;
   g_signal_connect_after (widget, "draw", G_CALLBACK (draw_flash), iw);
@@ -447,12 +449,15 @@ void
 gtk_inspector_flash_widget (GtkInspectorWindow *iw,
                             GtkWidget          *widget)
 {
-  if (iw->flash_cnx != 0)
-    return;
-
   if (!gtk_widget_get_visible (widget) || !gtk_widget_get_mapped (widget))
     return;
 
+  if (iw->flash_cnx != 0)
+    {
+      g_source_remove (iw->flash_cnx);
+      iw->flash_cnx = 0;
+    }
+
   start_flash (iw, widget);
   iw->flash_cnx = g_timeout_add (150, (GSourceFunc) on_flash_timeout, iw);
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]