diff options
-rw-r--r-- | lotuswordpro/source/filter/lwpdoc.cxx | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lotuswordpro/source/filter/lwpdoc.cxx b/lotuswordpro/source/filter/lwpdoc.cxx index 72921cbae903..27db9a01978d 100644 --- a/lotuswordpro/source/filter/lwpdoc.cxx +++ b/lotuswordpro/source/filter/lwpdoc.cxx @@ -312,11 +312,15 @@ void LwpDocument::RegisterBulletStyles() return; LwpSilverBullet* pBullet = dynamic_cast<LwpSilverBullet*> (pBulletHead->GetHeadID().obj().get()); - while(pBullet) + std::set<LwpSilverBullet*> aSeen; + while (pBullet) { + aSeen.insert(pBullet); pBullet->SetFoundry(m_pFoundry); pBullet->RegisterStyle(); pBullet = dynamic_cast<LwpSilverBullet*> (pBullet->GetNext().obj().get()); + if (aSeen.find(pBullet) != aSeen.end()) + throw std::runtime_error("loop in conversion"); } } /** |