Re: Review Request: Fix KCategorizedView race

2011-12-09 Thread Jaime Torres Amate

---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/103335/#review8815
---


It works for me. You have my ship it.

- Jaime Torres Amate


On Dec. 8, 2011, 6:04 p.m., Thomas Lübking wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/103335/
 ---
 
 (Updated Dec. 8, 2011, 6:04 p.m.)
 
 
 Review request for kdelibs, Rafael Fernández López and Jaime Torres Amate.
 
 
 Description
 ---
 
 Also see https://git.reviewboard.kde.org/r/103313/
 
 
 QListView::updateGeometries() has it's own opinion on whether the scrollbars 
 should be visible (valid range) or not
 and triggers a (sometimes additionally timered) resize through 
 ::layoutChildren()
 http://qt.gitorious.org/qt/qt/blobs/4.7/src/gui/itemviews/qlistview.cpp#line1499
 (the comment above the main block isn't all accurate, layoutChldren is called 
 regardless of the policy)
 
 As a result QListView and KCategorizedView occasionally started a race on the 
 scrollbar visibility, effectively blocking the UI
 So we prevent QListView from having an own opinion on the scrollbar 
 visibility by
 fixing it before calling the baseclass QListView::updateGeometries() and 
 restoring the policy afterwards
 
 
 This addresses bugs 213068 and 287847.
 http://bugs.kde.org/show_bug.cgi?id=213068
 http://bugs.kde.org/show_bug.cgi?id=287847
 
 
 Diffs
 -
 
   kdeui/itemviews/kcategorizedview.cpp 5e33861 
 
 Diff: http://git.reviewboard.kde.org/r/103335/diff/diff
 
 
 Testing
 ---
 
 Yes, resizing the kcmshell4 kwincompositing, all effects KPluginSelector 
 with large scrollbar sizes (bespin/position indicator/32px; oxygen was often 
 sufficient with the default size) after commit 
 e91e5fed6b1aad365e12e919f430c3e8147552d3 (see 
 https://git.reviewboard.kde.org/r/103165/ ) was a reliable way to trigger the 
 issue for me.
 It also showed that resize/updateGeometries occured in pairs (ie 4calls 
 forming  a block), what's never happened again with the patch.
 
 
 Thanks,
 
 Thomas Lübking
 




Re: Review Request: Fix KCategorizedView race

2011-12-09 Thread Thomas Lübking


 On Dec. 9, 2011, 8:46 a.m., Jaime Torres Amate wrote:
  It works for me. You have my ship it.

If nobody else has a comment and since it's confirmed by Jaime and myself to be 
better than the current state, i'll push this 21:00 CET - so shout HOLD right 
now ;-)


- Thomas


---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/103335/#review8815
---


On Dec. 8, 2011, 6:04 p.m., Thomas Lübking wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/103335/
 ---
 
 (Updated Dec. 8, 2011, 6:04 p.m.)
 
 
 Review request for kdelibs, Rafael Fernández López and Jaime Torres Amate.
 
 
 Description
 ---
 
 Also see https://git.reviewboard.kde.org/r/103313/
 
 
 QListView::updateGeometries() has it's own opinion on whether the scrollbars 
 should be visible (valid range) or not
 and triggers a (sometimes additionally timered) resize through 
 ::layoutChildren()
 http://qt.gitorious.org/qt/qt/blobs/4.7/src/gui/itemviews/qlistview.cpp#line1499
 (the comment above the main block isn't all accurate, layoutChldren is called 
 regardless of the policy)
 
 As a result QListView and KCategorizedView occasionally started a race on the 
 scrollbar visibility, effectively blocking the UI
 So we prevent QListView from having an own opinion on the scrollbar 
 visibility by
 fixing it before calling the baseclass QListView::updateGeometries() and 
 restoring the policy afterwards
 
 
 This addresses bugs 213068 and 287847.
 http://bugs.kde.org/show_bug.cgi?id=213068
 http://bugs.kde.org/show_bug.cgi?id=287847
 
 
 Diffs
 -
 
   kdeui/itemviews/kcategorizedview.cpp 5e33861 
 
 Diff: http://git.reviewboard.kde.org/r/103335/diff/diff
 
 
 Testing
 ---
 
 Yes, resizing the kcmshell4 kwincompositing, all effects KPluginSelector 
 with large scrollbar sizes (bespin/position indicator/32px; oxygen was often 
 sufficient with the default size) after commit 
 e91e5fed6b1aad365e12e919f430c3e8147552d3 (see 
 https://git.reviewboard.kde.org/r/103165/ ) was a reliable way to trigger the 
 issue for me.
 It also showed that resize/updateGeometries occured in pairs (ie 4calls 
 forming  a block), what's never happened again with the patch.
 
 
 Thanks,
 
 Thomas Lübking
 




Re: Review Request: Fix KCategorizedView race

2011-12-09 Thread Commit Hook

---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/103335/#review8834
---


This review has been submitted with commit 
8095c11d181e967cb161de3452f45c1df81bbc66 by Thomas Lübking to branch KDE/4.7.

- Commit Hook


On Dec. 8, 2011, 6:04 p.m., Thomas Lübking wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/103335/
 ---
 
 (Updated Dec. 8, 2011, 6:04 p.m.)
 
 
 Review request for kdelibs, Rafael Fernández López and Jaime Torres Amate.
 
 
 Description
 ---
 
 Also see https://git.reviewboard.kde.org/r/103313/
 
 
 QListView::updateGeometries() has it's own opinion on whether the scrollbars 
 should be visible (valid range) or not
 and triggers a (sometimes additionally timered) resize through 
 ::layoutChildren()
 http://qt.gitorious.org/qt/qt/blobs/4.7/src/gui/itemviews/qlistview.cpp#line1499
 (the comment above the main block isn't all accurate, layoutChldren is called 
 regardless of the policy)
 
 As a result QListView and KCategorizedView occasionally started a race on the 
 scrollbar visibility, effectively blocking the UI
 So we prevent QListView from having an own opinion on the scrollbar 
 visibility by
 fixing it before calling the baseclass QListView::updateGeometries() and 
 restoring the policy afterwards
 
 
 This addresses bugs 213068 and 287847.
 http://bugs.kde.org/show_bug.cgi?id=213068
 http://bugs.kde.org/show_bug.cgi?id=287847
 
 
 Diffs
 -
 
   kdeui/itemviews/kcategorizedview.cpp 5e33861 
 
 Diff: http://git.reviewboard.kde.org/r/103335/diff/diff
 
 
 Testing
 ---
 
 Yes, resizing the kcmshell4 kwincompositing, all effects KPluginSelector 
 with large scrollbar sizes (bespin/position indicator/32px; oxygen was often 
 sufficient with the default size) after commit 
 e91e5fed6b1aad365e12e919f430c3e8147552d3 (see 
 https://git.reviewboard.kde.org/r/103165/ ) was a reliable way to trigger the 
 issue for me.
 It also showed that resize/updateGeometries occured in pairs (ie 4calls 
 forming  a block), what's never happened again with the patch.
 
 
 Thanks,
 
 Thomas Lübking
 




Re: Review Request: Fix KCategorizedView race

2011-12-08 Thread Christoph Feck


 On Dec. 6, 2011, 6:39 p.m., Commit Hook wrote:
  This review has been submitted with commit 
  08325ba32b72326030004cc28430431193d82fc2 by Thomas Lübking to branch 
  KDE/4.7.

This commit causes systemsettings to go into endless recursion, see 
http://privatepaste.com/0e43ad214c

zemo on #plasma confirmed that reverting it fixes the regression.


- Christoph


---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/103335/#review8765
---


On Dec. 5, 2011, 2:21 p.m., Thomas Lübking wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/103335/
 ---
 
 (Updated Dec. 5, 2011, 2:21 p.m.)
 
 
 Review request for kdelibs, Rafael Fernández López and Jaime Torres Amate.
 
 
 Description
 ---
 
 Also see https://git.reviewboard.kde.org/r/103313/
 
 
 QListView::updateGeometries() has it's own opinion on whether the scrollbars 
 should be visible (valid range) or not
 and triggers a (sometimes additionally timered) resize through 
 ::layoutChildren()
 http://qt.gitorious.org/qt/qt/blobs/4.7/src/gui/itemviews/qlistview.cpp#line1499
 (the comment above the main block isn't all accurate, layoutChldren is called 
 regardless of the policy)
 
 As a result QListView and KCategorizedView occasionally started a race on the 
 scrollbar visibility, effectively blocking the UI
 So we prevent QListView from having an own opinion on the scrollbar 
 visibility by
 fixing it before calling the baseclass QListView::updateGeometries() and 
 restoring the policy afterwards
 
 
 This addresses bugs 213068 and 287847.
 http://bugs.kde.org/show_bug.cgi?id=213068
 http://bugs.kde.org/show_bug.cgi?id=287847
 
 
 Diffs
 -
 
   kdeui/itemviews/kcategorizedview.cpp 46a1cde 
   kutils/kpluginselector.cpp ca0691d 
 
 Diff: http://git.reviewboard.kde.org/r/103335/diff/diff
 
 
 Testing
 ---
 
 Yes, resizing the kcmshell4 kwincompositing, all effects KPluginSelector 
 with large scrollbar sizes (bespin/position indicator/32px; oxygen was often 
 sufficient with the default size) after commit 
 e91e5fed6b1aad365e12e919f430c3e8147552d3 (see 
 https://git.reviewboard.kde.org/r/103165/ ) was a reliable way to trigger the 
 issue for me.
 It also showed that resize/updateGeometries occured in pairs (ie 4calls 
 forming  a block), what's never happened again with the patch.
 
 
 Thanks,
 
 Thomas Lübking
 




Re: Review Request: Fix KCategorizedView race

2011-12-08 Thread Jaime
The new endless loop (causing a stack overflow here when I resize
systemsettings view) this time is in:
QListView::resizeEvent(QResizeEvent *e)
  that calls QAbstractItemView::resizeEvent(e);
QAbstractItemView::resizeEvent(QResizeEvent *event)
  that calls KCategorizedView::updateGeometries();
QFrame::setFrameRect(QRect const)
  that calls QWidget::setContextsMargins(cr.left(), cr.top(),
rect().right() - cr.right(), rect().bottom() - cr.bottom());
QWidget::setContestsMargin(int,int,int,int)
  that calls QCoreApplication::notifyInternal(receiver, event)
QAbstractScrollArea::setHorizontalScrollBarPolicy(Qt::ScrollBarPolicy
policy)
  that calls QAbstractScrollAreaPrivate::layoutChildren()

This time the infinite recursion is even harder (two squares with 8 squares
inside each one).

In my machine, the infinite recursions seen until now (krunner and
systemsettings) are gone with the attached patch.
(tested resizing them all I can).

Best Regards.

2011/12/8 Christoph Feck christ...@maxiom.de

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

 On December 6th, 2011, 6:39 p.m., *Commit Hook* wrote:

 This review has been submitted with commit 
 08325ba32b72326030004cc28430431193d82fc2 by Thomas Lübking to branch KDE/4.7.

  This commit causes systemsettings to go into endless recursion, see 
 http://privatepaste.com/0e43ad214c

 zemo on #plasma confirmed that reverting it fixes the regression.


 - Christoph

 On December 5th, 2011, 2:21 p.m., Thomas Lübking wrote:
   Review request for kdelibs, Rafael Fernández López and Jaime Torres
 Amate.
 By Thomas Lübking.

 *Updated Dec. 5, 2011, 2:21 p.m.*
 Description

 Also see https://git.reviewboard.kde.org/r/103313/


 QListView::updateGeometries() has it's own opinion on whether the scrollbars 
 should be visible (valid range) or not
 and triggers a (sometimes additionally timered) resize through 
 ::layoutChildren()http://qt.gitorious.org/qt/qt/blobs/4.7/src/gui/itemviews/qlistview.cpp#line1499
 (the comment above the main block isn't all accurate, layoutChldren is called 
 regardless of the policy)

 As a result QListView and KCategorizedView occasionally started a race on the 
 scrollbar visibility, effectively blocking the UI
 So we prevent QListView from having an own opinion on the scrollbar 
 visibility by
 fixing it before calling the baseclass QListView::updateGeometries() and 
 restoring the policy afterwards

   Testing

 Yes, resizing the kcmshell4 kwincompositing, all effects KPluginSelector 
 with large scrollbar sizes (bespin/position indicator/32px; oxygen was often 
 sufficient with the default size) after commit 
 e91e5fed6b1aad365e12e919f430c3e8147552d3 (see 
 https://git.reviewboard.kde.org/r/103165/ ) was a reliable way to trigger the 
 issue for me.
 It also showed that resize/updateGeometries occured in pairs (ie 4calls 
 forming  a block), what's never happened again with the patch.

   *Bugs: * 213068 http://bugs.kde.org/show_bug.cgi?id=213068, 
 287847http://bugs.kde.org/show_bug.cgi?id=287847
 Diffs

- kdeui/itemviews/kcategorizedview.cpp (46a1cde)
- kutils/kpluginselector.cpp (ca0691d)

 View Diff http://git.reviewboard.kde.org/r/103335/diff/



infinite.diff
Description: Binary data


Re: Review Request: Fix KCategorizedView race

2011-12-08 Thread Thomas Lübking


 On Dec. 6, 2011, 6:39 p.m., Commit Hook wrote:
  This review has been submitted with commit 
  08325ba32b72326030004cc28430431193d82fc2 by Thomas Lübking to branch 
  KDE/4.7.
 
 Christoph Feck wrote:
 This commit causes systemsettings to go into endless recursion, see 
 http://privatepaste.com/0e43ad214c
 
 zemo on #plasma confirmed that reverting it fixes the regression.

*g* - gonna check tonight, have solution tomorrow. thomas angry. |


- Thomas


---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/103335/#review8765
---


On Dec. 5, 2011, 2:21 p.m., Thomas Lübking wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/103335/
 ---
 
 (Updated Dec. 5, 2011, 2:21 p.m.)
 
 
 Review request for kdelibs, Rafael Fernández López and Jaime Torres Amate.
 
 
 Description
 ---
 
 Also see https://git.reviewboard.kde.org/r/103313/
 
 
 QListView::updateGeometries() has it's own opinion on whether the scrollbars 
 should be visible (valid range) or not
 and triggers a (sometimes additionally timered) resize through 
 ::layoutChildren()
 http://qt.gitorious.org/qt/qt/blobs/4.7/src/gui/itemviews/qlistview.cpp#line1499
 (the comment above the main block isn't all accurate, layoutChldren is called 
 regardless of the policy)
 
 As a result QListView and KCategorizedView occasionally started a race on the 
 scrollbar visibility, effectively blocking the UI
 So we prevent QListView from having an own opinion on the scrollbar 
 visibility by
 fixing it before calling the baseclass QListView::updateGeometries() and 
 restoring the policy afterwards
 
 
 This addresses bugs 213068 and 287847.
 http://bugs.kde.org/show_bug.cgi?id=213068
 http://bugs.kde.org/show_bug.cgi?id=287847
 
 
 Diffs
 -
 
   kdeui/itemviews/kcategorizedview.cpp 46a1cde 
   kutils/kpluginselector.cpp ca0691d 
 
 Diff: http://git.reviewboard.kde.org/r/103335/diff/diff
 
 
 Testing
 ---
 
 Yes, resizing the kcmshell4 kwincompositing, all effects KPluginSelector 
 with large scrollbar sizes (bespin/position indicator/32px; oxygen was often 
 sufficient with the default size) after commit 
 e91e5fed6b1aad365e12e919f430c3e8147552d3 (see 
 https://git.reviewboard.kde.org/r/103165/ ) was a reliable way to trigger the 
 issue for me.
 It also showed that resize/updateGeometries occured in pairs (ie 4calls 
 forming  a block), what's never happened again with the patch.
 
 
 Thanks,
 
 Thomas Lübking
 




Re: Review Request: Fix KCategorizedView race

2011-12-08 Thread Tomaz Canabrava
On Thu, Dec 8, 2011 at 2:33 AM, Thomas Lübking thomas.luebk...@web.dewrote:

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

 On December 6th, 2011, 6:39 p.m., *Commit Hook* wrote:

 This review has been submitted with commit 
 08325ba32b72326030004cc28430431193d82fc2 by Thomas Lübking to branch KDE/4.7.

  On December 8th, 2011, 2:40 a.m., *Christoph Feck* wrote:

 This commit causes systemsettings to go into endless recursion, see 
 http://privatepaste.com/0e43ad214c

 zemo on #plasma confirmed that reverting it fixes the regression.

  *g* - gonna check tonight, have solution tomorrow. thomas angry. |


What about jaime patch?


 - Thomas

 On December 5th, 2011, 2:21 p.m., Thomas Lübking wrote:
   Review request for kdelibs, Rafael Fernández López and Jaime Torres
 Amate.
 By Thomas Lübking.

 *Updated Dec. 5, 2011, 2:21 p.m.*
 Description

 Also see https://git.reviewboard.kde.org/r/103313/


 QListView::updateGeometries() has it's own opinion on whether the scrollbars 
 should be visible (valid range) or not
 and triggers a (sometimes additionally timered) resize through 
 ::layoutChildren()http://qt.gitorious.org/qt/qt/blobs/4.7/src/gui/itemviews/qlistview.cpp#line1499
 (the comment above the main block isn't all accurate, layoutChldren is called 
 regardless of the policy)

 As a result QListView and KCategorizedView occasionally started a race on the 
 scrollbar visibility, effectively blocking the UI
 So we prevent QListView from having an own opinion on the scrollbar 
 visibility by
 fixing it before calling the baseclass QListView::updateGeometries() and 
 restoring the policy afterwards

   Testing

 Yes, resizing the kcmshell4 kwincompositing, all effects KPluginSelector 
 with large scrollbar sizes (bespin/position indicator/32px; oxygen was often 
 sufficient with the default size) after commit 
 e91e5fed6b1aad365e12e919f430c3e8147552d3 (see 
 https://git.reviewboard.kde.org/r/103165/ ) was a reliable way to trigger the 
 issue for me.
 It also showed that resize/updateGeometries occured in pairs (ie 4calls 
 forming  a block), what's never happened again with the patch.

   *Bugs: * 213068 http://bugs.kde.org/show_bug.cgi?id=213068, 
 287847http://bugs.kde.org/show_bug.cgi?id=287847
 Diffs

- kdeui/itemviews/kcategorizedview.cpp (46a1cde)
- kutils/kpluginselector.cpp (ca0691d)

 View Diff http://git.reviewboard.kde.org/r/103335/diff/



Re: Review Request: Fix KCategorizedView race

2011-12-08 Thread Thomas Lübking
Am Thu, 8 Dec 2011 07:59:43 -0800
schrieb Tomaz Canabrava tcanabr...@kde.org:

 What about jaime patch?
yeah, static policies work - we know that ;-)

This one is quite different (recursion, not race - though maybe both),
from the first rough look there seem two recursions, one direct (easy
to catch) and one through the viewport event (i recall that tricking
them wasn't all easy)

I *will* have a non static policy fix for this by tomorrow morning (and
if that means to rewrite the entire class tonight, i'll just do that ;-)

With a little luck of course i'll post a fix asap.

Cheers,
Thomas


Re: Review Request: Fix KCategorizedView race

2011-12-08 Thread Thomas Lübking

---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/103335/#review8802
---


- Thomas Lübking


On Dec. 8, 2011, 6:04 p.m., Thomas Lübking wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/103335/
 ---
 
 (Updated Dec. 8, 2011, 6:04 p.m.)
 
 
 Review request for kdelibs, Rafael Fernández López and Jaime Torres Amate.
 
 
 Description
 ---
 
 Also see https://git.reviewboard.kde.org/r/103313/
 
 
 QListView::updateGeometries() has it's own opinion on whether the scrollbars 
 should be visible (valid range) or not
 and triggers a (sometimes additionally timered) resize through 
 ::layoutChildren()
 http://qt.gitorious.org/qt/qt/blobs/4.7/src/gui/itemviews/qlistview.cpp#line1499
 (the comment above the main block isn't all accurate, layoutChldren is called 
 regardless of the policy)
 
 As a result QListView and KCategorizedView occasionally started a race on the 
 scrollbar visibility, effectively blocking the UI
 So we prevent QListView from having an own opinion on the scrollbar 
 visibility by
 fixing it before calling the baseclass QListView::updateGeometries() and 
 restoring the policy afterwards
 
 
 This addresses bugs 213068 and 287847.
 http://bugs.kde.org/show_bug.cgi?id=213068
 http://bugs.kde.org/show_bug.cgi?id=287847
 
 
 Diffs
 -
 
   kdeui/itemviews/kcategorizedview.cpp 5e33861 
 
 Diff: http://git.reviewboard.kde.org/r/103335/diff/diff
 
 
 Testing
 ---
 
 Yes, resizing the kcmshell4 kwincompositing, all effects KPluginSelector 
 with large scrollbar sizes (bespin/position indicator/32px; oxygen was often 
 sufficient with the default size) after commit 
 e91e5fed6b1aad365e12e919f430c3e8147552d3 (see 
 https://git.reviewboard.kde.org/r/103165/ ) was a reliable way to trigger the 
 issue for me.
 It also showed that resize/updateGeometries occured in pairs (ie 4calls 
 forming  a block), what's never happened again with the patch.
 
 
 Thanks,
 
 Thomas Lübking
 




Re: Review Request: Fix KCategorizedView race

2011-12-08 Thread Thomas Lübking

---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/103335/#review8803
---



kdeui/itemviews/kcategorizedview.cpp
http://git.reviewboard.kde.org/r/103335/#comment7375

bug in reviewboard?
the first comment meant to say: relict, gone in commit


- Thomas Lübking


On Dec. 8, 2011, 6:04 p.m., Thomas Lübking wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/103335/
 ---
 
 (Updated Dec. 8, 2011, 6:04 p.m.)
 
 
 Review request for kdelibs, Rafael Fernández López and Jaime Torres Amate.
 
 
 Description
 ---
 
 Also see https://git.reviewboard.kde.org/r/103313/
 
 
 QListView::updateGeometries() has it's own opinion on whether the scrollbars 
 should be visible (valid range) or not
 and triggers a (sometimes additionally timered) resize through 
 ::layoutChildren()
 http://qt.gitorious.org/qt/qt/blobs/4.7/src/gui/itemviews/qlistview.cpp#line1499
 (the comment above the main block isn't all accurate, layoutChldren is called 
 regardless of the policy)
 
 As a result QListView and KCategorizedView occasionally started a race on the 
 scrollbar visibility, effectively blocking the UI
 So we prevent QListView from having an own opinion on the scrollbar 
 visibility by
 fixing it before calling the baseclass QListView::updateGeometries() and 
 restoring the policy afterwards
 
 
 This addresses bugs 213068 and 287847.
 http://bugs.kde.org/show_bug.cgi?id=213068
 http://bugs.kde.org/show_bug.cgi?id=287847
 
 
 Diffs
 -
 
   kdeui/itemviews/kcategorizedview.cpp 5e33861 
 
 Diff: http://git.reviewboard.kde.org/r/103335/diff/diff
 
 
 Testing
 ---
 
 Yes, resizing the kcmshell4 kwincompositing, all effects KPluginSelector 
 with large scrollbar sizes (bespin/position indicator/32px; oxygen was often 
 sufficient with the default size) after commit 
 e91e5fed6b1aad365e12e919f430c3e8147552d3 (see 
 https://git.reviewboard.kde.org/r/103165/ ) was a reliable way to trigger the 
 issue for me.
 It also showed that resize/updateGeometries occured in pairs (ie 4calls 
 forming  a block), what's never happened again with the patch.
 
 
 Thanks,
 
 Thomas Lübking
 




Re: Review Request: Fix KCategorizedView race

2011-12-08 Thread Thomas Lübking

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

(Updated Dec. 8, 2011, 6:04 p.m.)


Review request for kdelibs, Rafael Fernández López and Jaime Torres Amate.


Changes
---

Suck this, you little nasty bug )

It's required to keep the policy down all the time and change the visibility 
according to it's original at the end.
I was not able to reproduce issues with either systemsettings or plugins.

Tests, anyone?


Description
---

Also see https://git.reviewboard.kde.org/r/103313/


QListView::updateGeometries() has it's own opinion on whether the scrollbars 
should be visible (valid range) or not
and triggers a (sometimes additionally timered) resize through 
::layoutChildren()
http://qt.gitorious.org/qt/qt/blobs/4.7/src/gui/itemviews/qlistview.cpp#line1499
(the comment above the main block isn't all accurate, layoutChldren is called 
regardless of the policy)

As a result QListView and KCategorizedView occasionally started a race on the 
scrollbar visibility, effectively blocking the UI
So we prevent QListView from having an own opinion on the scrollbar visibility 
by
fixing it before calling the baseclass QListView::updateGeometries() and 
restoring the policy afterwards


This addresses bugs 213068 and 287847.
http://bugs.kde.org/show_bug.cgi?id=213068
http://bugs.kde.org/show_bug.cgi?id=287847


Diffs (updated)
-

  kdeui/itemviews/kcategorizedview.cpp 5e33861 

Diff: http://git.reviewboard.kde.org/r/103335/diff/diff


Testing
---

Yes, resizing the kcmshell4 kwincompositing, all effects KPluginSelector 
with large scrollbar sizes (bespin/position indicator/32px; oxygen was often 
sufficient with the default size) after commit 
e91e5fed6b1aad365e12e919f430c3e8147552d3 (see 
https://git.reviewboard.kde.org/r/103165/ ) was a reliable way to trigger the 
issue for me.
It also showed that resize/updateGeometries occured in pairs (ie 4calls forming 
 a block), what's never happened again with the patch.


Thanks,

Thomas Lübking



Re: Review Request: Fix KCategorizedView race

2011-12-06 Thread Aaron J. Seigo

---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/103335/#review8750
---

Ship it!


Ship It!

- Aaron J. Seigo


On Dec. 5, 2011, 2:21 p.m., Thomas Lübking wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/103335/
 ---
 
 (Updated Dec. 5, 2011, 2:21 p.m.)
 
 
 Review request for kdelibs, Rafael Fernández López and Jaime Torres Amate.
 
 
 Description
 ---
 
 Also see https://git.reviewboard.kde.org/r/103313/
 
 
 QListView::updateGeometries() has it's own opinion on whether the scrollbars 
 should be visible (valid range) or not
 and triggers a (sometimes additionally timered) resize through 
 ::layoutChildren()
 http://qt.gitorious.org/qt/qt/blobs/4.7/src/gui/itemviews/qlistview.cpp#line1499
 (the comment above the main block isn't all accurate, layoutChldren is called 
 regardless of the policy)
 
 As a result QListView and KCategorizedView occasionally started a race on the 
 scrollbar visibility, effectively blocking the UI
 So we prevent QListView from having an own opinion on the scrollbar 
 visibility by
 fixing it before calling the baseclass QListView::updateGeometries() and 
 restoring the policy afterwards
 
 
 This addresses bugs 213068 and 287847.
 http://bugs.kde.org/show_bug.cgi?id=213068
 http://bugs.kde.org/show_bug.cgi?id=287847
 
 
 Diffs
 -
 
   kdeui/itemviews/kcategorizedview.cpp 46a1cde 
   kutils/kpluginselector.cpp ca0691d 
 
 Diff: http://git.reviewboard.kde.org/r/103335/diff/diff
 
 
 Testing
 ---
 
 Yes, resizing the kcmshell4 kwincompositing, all effects KPluginSelector 
 with large scrollbar sizes (bespin/position indicator/32px; oxygen was often 
 sufficient with the default size) after commit 
 e91e5fed6b1aad365e12e919f430c3e8147552d3 (see 
 https://git.reviewboard.kde.org/r/103165/ ) was a reliable way to trigger the 
 issue for me.
 It also showed that resize/updateGeometries occured in pairs (ie 4calls 
 forming  a block), what's never happened again with the patch.
 
 
 Thanks,
 
 Thomas Lübking
 




Re: Review Request: Fix KCategorizedView race

2011-12-06 Thread Commit Hook

---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/103335/#review8765
---


This review has been submitted with commit 
08325ba32b72326030004cc28430431193d82fc2 by Thomas Lübking to branch KDE/4.7.

- Commit Hook


On Dec. 5, 2011, 2:21 p.m., Thomas Lübking wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/103335/
 ---
 
 (Updated Dec. 5, 2011, 2:21 p.m.)
 
 
 Review request for kdelibs, Rafael Fernández López and Jaime Torres Amate.
 
 
 Description
 ---
 
 Also see https://git.reviewboard.kde.org/r/103313/
 
 
 QListView::updateGeometries() has it's own opinion on whether the scrollbars 
 should be visible (valid range) or not
 and triggers a (sometimes additionally timered) resize through 
 ::layoutChildren()
 http://qt.gitorious.org/qt/qt/blobs/4.7/src/gui/itemviews/qlistview.cpp#line1499
 (the comment above the main block isn't all accurate, layoutChldren is called 
 regardless of the policy)
 
 As a result QListView and KCategorizedView occasionally started a race on the 
 scrollbar visibility, effectively blocking the UI
 So we prevent QListView from having an own opinion on the scrollbar 
 visibility by
 fixing it before calling the baseclass QListView::updateGeometries() and 
 restoring the policy afterwards
 
 
 This addresses bugs 213068 and 287847.
 http://bugs.kde.org/show_bug.cgi?id=213068
 http://bugs.kde.org/show_bug.cgi?id=287847
 
 
 Diffs
 -
 
   kdeui/itemviews/kcategorizedview.cpp 46a1cde 
   kutils/kpluginselector.cpp ca0691d 
 
 Diff: http://git.reviewboard.kde.org/r/103335/diff/diff
 
 
 Testing
 ---
 
 Yes, resizing the kcmshell4 kwincompositing, all effects KPluginSelector 
 with large scrollbar sizes (bespin/position indicator/32px; oxygen was often 
 sufficient with the default size) after commit 
 e91e5fed6b1aad365e12e919f430c3e8147552d3 (see 
 https://git.reviewboard.kde.org/r/103165/ ) was a reliable way to trigger the 
 issue for me.
 It also showed that resize/updateGeometries occured in pairs (ie 4calls 
 forming  a block), what's never happened again with the patch.
 
 
 Thanks,
 
 Thomas Lübking
 




Re: Review Request: Fix KCategorizedView race

2011-12-06 Thread Thomas Lübking


 On Dec. 6, 2011, 2:07 p.m., Aaron J. Seigo wrote:
  Ship It!

What's the policy for merging things into the frameworks branch?
- Merge?
- Cherry-pick?
- Have someone else do it anyway?


- Thomas


---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/103335/#review8750
---


On Dec. 5, 2011, 2:21 p.m., Thomas Lübking wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/103335/
 ---
 
 (Updated Dec. 5, 2011, 2:21 p.m.)
 
 
 Review request for kdelibs, Rafael Fernández López and Jaime Torres Amate.
 
 
 Description
 ---
 
 Also see https://git.reviewboard.kde.org/r/103313/
 
 
 QListView::updateGeometries() has it's own opinion on whether the scrollbars 
 should be visible (valid range) or not
 and triggers a (sometimes additionally timered) resize through 
 ::layoutChildren()
 http://qt.gitorious.org/qt/qt/blobs/4.7/src/gui/itemviews/qlistview.cpp#line1499
 (the comment above the main block isn't all accurate, layoutChldren is called 
 regardless of the policy)
 
 As a result QListView and KCategorizedView occasionally started a race on the 
 scrollbar visibility, effectively blocking the UI
 So we prevent QListView from having an own opinion on the scrollbar 
 visibility by
 fixing it before calling the baseclass QListView::updateGeometries() and 
 restoring the policy afterwards
 
 
 This addresses bugs 213068 and 287847.
 http://bugs.kde.org/show_bug.cgi?id=213068
 http://bugs.kde.org/show_bug.cgi?id=287847
 
 
 Diffs
 -
 
   kdeui/itemviews/kcategorizedview.cpp 46a1cde 
   kutils/kpluginselector.cpp ca0691d 
 
 Diff: http://git.reviewboard.kde.org/r/103335/diff/diff
 
 
 Testing
 ---
 
 Yes, resizing the kcmshell4 kwincompositing, all effects KPluginSelector 
 with large scrollbar sizes (bespin/position indicator/32px; oxygen was often 
 sufficient with the default size) after commit 
 e91e5fed6b1aad365e12e919f430c3e8147552d3 (see 
 https://git.reviewboard.kde.org/r/103165/ ) was a reliable way to trigger the 
 issue for me.
 It also showed that resize/updateGeometries occured in pairs (ie 4calls 
 forming  a block), what's never happened again with the patch.
 
 
 Thanks,
 
 Thomas Lübking
 




Re: Review Request: Fix KCategorizedView race

2011-12-06 Thread Aaron J. Seigo


 On Dec. 6, 2011, 2:07 p.m., Aaron J. Seigo wrote:
  Ship It!
 
 Thomas Lübking wrote:
 What's the policy for merging things into the frameworks branch?
 - Merge?
 - Cherry-pick?
 - Have someone else do it anyway?

we merge KDE/4.7 into frameworks every so often. i did it just the other day; 
sometimes dfaure does it. so don't worry, this will happen for you :)


- Aaron J.


---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/103335/#review8750
---


On Dec. 5, 2011, 2:21 p.m., Thomas Lübking wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/103335/
 ---
 
 (Updated Dec. 5, 2011, 2:21 p.m.)
 
 
 Review request for kdelibs, Rafael Fernández López and Jaime Torres Amate.
 
 
 Description
 ---
 
 Also see https://git.reviewboard.kde.org/r/103313/
 
 
 QListView::updateGeometries() has it's own opinion on whether the scrollbars 
 should be visible (valid range) or not
 and triggers a (sometimes additionally timered) resize through 
 ::layoutChildren()
 http://qt.gitorious.org/qt/qt/blobs/4.7/src/gui/itemviews/qlistview.cpp#line1499
 (the comment above the main block isn't all accurate, layoutChldren is called 
 regardless of the policy)
 
 As a result QListView and KCategorizedView occasionally started a race on the 
 scrollbar visibility, effectively blocking the UI
 So we prevent QListView from having an own opinion on the scrollbar 
 visibility by
 fixing it before calling the baseclass QListView::updateGeometries() and 
 restoring the policy afterwards
 
 
 This addresses bugs 213068 and 287847.
 http://bugs.kde.org/show_bug.cgi?id=213068
 http://bugs.kde.org/show_bug.cgi?id=287847
 
 
 Diffs
 -
 
   kdeui/itemviews/kcategorizedview.cpp 46a1cde 
   kutils/kpluginselector.cpp ca0691d 
 
 Diff: http://git.reviewboard.kde.org/r/103335/diff/diff
 
 
 Testing
 ---
 
 Yes, resizing the kcmshell4 kwincompositing, all effects KPluginSelector 
 with large scrollbar sizes (bespin/position indicator/32px; oxygen was often 
 sufficient with the default size) after commit 
 e91e5fed6b1aad365e12e919f430c3e8147552d3 (see 
 https://git.reviewboard.kde.org/r/103165/ ) was a reliable way to trigger the 
 issue for me.
 It also showed that resize/updateGeometries occured in pairs (ie 4calls 
 forming  a block), what's never happened again with the patch.
 
 
 Thanks,
 
 Thomas Lübking