diff options
author | Caolán McNamara <caolanm@redhat.com> | 2014-12-02 17:42:55 +0000 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-12-04 16:53:38 +0000 |
commit | 1086ed32aacd2d6f9e98514f052567c1a9fc17fd (patch) | |
tree | 1c608a8e9eb6da8592e9a9aa56a5ccd468180c76 /sw | |
parent | 9a63f1baddecb61f92eeadc484ac31fffdbc4bbf (diff) |
Only call super-expensive Invalidate on scrollbar toggling
otherwise even using backspace in an annotated area will cause super slow
behaviour as each keystroke causes a full page render
This became a problem after
commit 0761f81643a6890457e9ef7d913ab5c88c2593a4
Date: Thu Dec 19 18:50:58 2013 +0000
123792: complete annotations on text ranges feature
but underlying problem was always there ready to trigger.
For this case only render the full page if the state
of comments scrollbars *toggles*, i.e. if there wasn't
scrollbars and there ends up still with no scrollbars
avoid the (bad) hack of invalidating the page
(cherry picked from commit 378c74ce290ab772f962db51ff8cba200cb40144)
Conflicts:
sw/source/uibase/docvw/PostItMgr.cxx
Change-Id: Ic7fd432d2317b0f5ad8d8773636f99fe75d660d6
(cherry picked from commit 7e75eab406c5e58e40987ab8a249dbacbb685551)
Reviewed-on: https://gerrit.libreoffice.org/13279
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/core/uibase/docvw/PostItMgr.cxx | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sw/source/core/uibase/docvw/PostItMgr.cxx b/sw/source/core/uibase/docvw/PostItMgr.cxx index d51ebff2b082..b36e86fa67ef 100644 --- a/sw/source/core/uibase/docvw/PostItMgr.cxx +++ b/sw/source/core/uibase/docvw/PostItMgr.cxx @@ -764,7 +764,8 @@ void SwPostItMgr::LayoutPostIts() } else { - bUpdate = true; + if (mPages[n]->bScrollbar) + bUpdate = true; mPages[n]->bScrollbar = false; } } @@ -796,7 +797,6 @@ void SwPostItMgr::LayoutPostIts() if ( bRepair ) CheckForRemovedPostIts(); } - // notes scrollbar is otherwise not drawn correctly for some cases // scrollbar area is enough if (bUpdate) |