Review Request 124042: Fix for KoResourceItemView flickering due to content resize and scrollbar appearing

Stefano Bonicatti smjert at gmail.com
Mon Jun 8 18:08:26 BST 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124042/
-----------------------------------------------------------

Review request for Calligra.


Bugs: 344968
    http://bugs.kde.org/show_bug.cgi?id=344968


Repository: calligra


Description
-------

When vertically resizing a KoResourceItemView and the vertical scrollbar appears, the tiles that represents the items are resized to fit the viewport with their width, but this also reduces their height making the scrollbar not needed again.
The scrollbar disappearing lets the viewport expand and so the tiles, in height, making the scrollbar needed again and this loops forever generating a considerable slowdown.

The fix consists in always showing the vertical scrollbar so that no resizing happens due to them.
This is extended also in the other cases, where rows are fixed and a horizontal scrollbar is used, or when scrollbar appearing should be dynamic.
    
To avoid unnecessary work and event spam i've added check in KoResourceItemChooser::setSynced function if the value passed corresponds to its current status already.

Fixed also a small typo while i was at it.

Thanks to mmolch for pointing in the right direction with his patch.

Now this patch is on review not only because changes a calligra class, but because when a part of it was first proposed, it apparently still created some issues to the bug reporter, so it would be better to test it more.
krita-presetdockerflickering-bonicatti branch contains this patch.


Diffs
-----

  libs/widgets/KoResourceItemChooser.cpp 6eb984c 
  libs/widgets/KoResourceItemView.h 3e0ae94 
  libs/widgets/KoResourceItemView.cpp f933b9c 

Diff: https://git.reviewboard.kde.org/r/124042/diff/


Testing
-------

Tested resizing in the special condition and had no flickering or performance hit.
The original bug reporter said that he was unable to properly resize the main krita window (with XFCE), but i had none of those problems (using KDE).


Thanks,

Stefano Bonicatti

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20150608/ce8e9191/attachment.htm>


More information about the calligra-devel mailing list