diff options
author | nick_m <mainsbridge@gmail.com> | 2014-06-19 00:06:32 +1000 |
---|---|---|
committer | nick_m <mainsbridge@gmail.com> | 2014-06-19 00:06:32 +1000 |
commit | 0bd17ed2e462578fee592a242b6d70c005d9e819 (patch) | |
tree | 6c985d4bc633465ccbc2f9ea537c0e8b8bb30e8b /libs/canvas/item.cc | |
parent | 47efeb9f21c936cf2767ea3099e3fe711ff80334 (diff) |
Canvas tweaks.
* Only queue a draw for changed items that are set visible and in-window.
Diffstat (limited to 'libs/canvas/item.cc')
-rw-r--r-- | libs/canvas/item.cc | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/libs/canvas/item.cc b/libs/canvas/item.cc index ce15782b9e..90bf0972f0 100644 --- a/libs/canvas/item.cc +++ b/libs/canvas/item.cc @@ -545,10 +545,12 @@ Item::begin_change () void Item::end_change () { - _canvas->item_changed (this, _pre_change_bounding_box); + if (_visible) { + _canvas->item_changed (this, _pre_change_bounding_box); - if (_parent) { - _parent->child_changed (); + if (_parent) { + _parent->child_changed (); + } } } @@ -560,7 +562,9 @@ Item::begin_visual_change () void Item::end_visual_change () { - _canvas->item_visual_property_changed (this); + if (_visible) { + _canvas->item_visual_property_changed (this); + } } void |