From dde4d3bbc322f86f638ddc34a47b016f53a55633 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 4 Mar 2014 10:04:21 -0500 Subject: only queue an item redraw from Item::show() or Item::Hide() if the call changes the visibility status of the item (i.e. make no-ops really be no-ops) --- libs/canvas/item.cc | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'libs') diff --git a/libs/canvas/item.cc b/libs/canvas/item.cc index 8a8acce086..418382da17 100644 --- a/libs/canvas/item.cc +++ b/libs/canvas/item.cc @@ -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 -- cgit v1.2.3