Add deadlock counter to prevent endless loop (issue #73)

--HG--
branch : misc-patches
This commit is contained in:
Nimetu 2014-01-03 19:11:49 +02:00
parent 308721ed3c
commit 3cd6ecdb82

View file

@ -1094,7 +1094,10 @@ namespace NLGUI
bool updateCoordCalled= false; bool updateCoordCalled= false;
// updateCoords the window only if the master group is his parent and if need it // updateCoords the window only if the master group is his parent and if need it
// do it until updateCoords() no more invalidate coordinates!! // do it until updateCoords() no more invalidate coordinates!!
while (pIG->getParent()==rMG.Group && (pIG->getInvalidCoords()>0))
// add deadlock counter to prevent endless loop (Issue #73: web browser long scroll lockup)
int deadlock = 10;
while (--deadlock > 0 && pIG->getParent()==rMG.Group && (pIG->getInvalidCoords()>0))
{ {
bRecomputeCtrlUnderPtr = true; bRecomputeCtrlUnderPtr = true;
// Update as many pass wanted (3 time for complex resizing, 1 for scroll for example) // Update as many pass wanted (3 time for complex resizing, 1 for scroll for example)