fdo#51243 caused by error in fix to fdo#48932, which introduced
infinite loop, and thus from the user's POV a freeze of the whole LibO
process.
Not visible in the patch, here's the code affected:
void SwFrameControlsManager::SetReadonlyControls( bool bReadonly )
{
map< FrameControlType, SwFrameControlPtrMap >::iterator pIt =
m_aControls.begin();
while ( pIt != m_aControls.end() )
{
SwFrameControlPtrMap::iterator aCtrlIt = pIt->second.begin();
while ( aCtrlIt != pIt->second.end() )
{
aCtrlIt->second->SetReadonly( bReadonly );
++aCtrlIt;
}
}
}
There's "obviously" a "++pIt;" missing there!
Attached patch fixes that. Please apply to libreoffice-3-5 and
libreoffice-3-5-5.
Thanks.
--
Lionel
>From a2c9059f4137b208842786d37903722c60df202e Mon Sep 17 00:00:00 2001
From: Lionel Elie Mamane <[email protected]>
Date: Wed, 20 Jun 2012 10:49:14 +0200
Subject: [PATCH] fdo#51243 infinite loop in
SwFrameControlsManager::SetReadonlyControls
Change-Id: Id2c6fa349203b62869b75b9b8560c9ce7e365897
---
sw/source/ui/docvw/FrameControlsManager.cxx | 1 +
1 file changed, 1 insertion(+)
diff --git a/sw/source/ui/docvw/FrameControlsManager.cxx b/sw/source/ui/docvw/FrameControlsManager.cxx
index 1413942..bcc489f 100644
--- a/sw/source/ui/docvw/FrameControlsManager.cxx
+++ b/sw/source/ui/docvw/FrameControlsManager.cxx
@@ -122,6 +122,7 @@ void SwFrameControlsManager::SetReadonlyControls( bool bReadonly )
aCtrlIt->second->SetReadonly( bReadonly );
++aCtrlIt;
}
+ ++pIt;
}
}
--
1.7.10
_______________________________________________
LibreOffice mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice