[gtk+/gtk-3-14] inspector: Properly update flashing hilight



commit 7833835930467ac82b22084cb139253f9bde60a4
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 b30b363..63dd156 100644
--- a/gtk/inspector/inspect-button.c
+++ b/gtk/inspector/inspect-button.c
@@ -198,6 +198,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);
@@ -383,12 +385,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]