only queue an item redraw from Item::show() or Item::Hide() if the call changes the...
authorPaul Davis <paul@linuxaudiosystems.com>
Tue, 4 Mar 2014 15:04:21 +0000 (10:04 -0500)
committerPaul Davis <paul@linuxaudiosystems.com>
Wed, 5 Mar 2014 02:58:17 +0000 (21:58 -0500)
libs/canvas/item.cc

index 8a8acce086052ab414bef231a22a2298ced0c2e1..418382da17c27c88a1deae3edf914dfad6fb3f09 100644 (file)
@@ -240,15 +240,19 @@ Item::lower_to_bottom ()
 void
 Item::hide ()
 {
-       _visible = false;
-       _canvas->item_shown_or_hidden (this);
+       if (_visible) {
+               _visible = false;
+               _canvas->item_shown_or_hidden (this);
+       }
 }
 
 void
 Item::show ()
 {
-       _visible = true;
-       _canvas->item_shown_or_hidden (this);
+       if (!_visible) {
+               _visible = true;
+               _canvas->item_shown_or_hidden (this);
+       }
 }
 
 Duple