Author: alg
Date: Thu Jul 11 09:19:43 2013
New Revision: 1502162
URL: http://svn.apache.org/r1502162
Log:
i121917 secure SdrTextObj casts in cui
Modified:
openoffice/trunk/main/cui/source/tabpages/swpossizetabpage.cxx
openoffice/trunk/main/cui/source/tabpages/textattr.cxx
openoffice/trunk/main/cui/source/tabpages/transfrm.cxx
Modified: openoffice/trunk/main/cui/source/tabpages/swpossizetabpage.cxx
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/cui/source/tabpages/swpossizetabpage.cxx?rev=1502162&r1=1502161&r2=1502162&view=diff
==============================================================================
--- openoffice/trunk/main/cui/source/tabpages/swpossizetabpage.cxx (original)
+++ openoffice/trunk/main/cui/source/tabpages/swpossizetabpage.cxx Thu Jul 11
09:19:43 2013
@@ -1932,7 +1932,9 @@ void SvxSwPosSizeTabPage::SetView( const
SdrObjKind eKind = (SdrObjKind) pObj->GetObjIdentifier();
if( ( pObj->GetObjInventor() == SdrInventor ) &&
( eKind==OBJ_TEXT || eKind==OBJ_TITLETEXT ||
eKind==OBJ_OUTLINETEXT) &&
- ( (SdrTextObj*) pObj )->HasText() )
+ // #121917# The original ((SdrTextObj*)pObj)->HasText() will fail
badly with SdrVirtObjs from Writer
+ 0 != dynamic_cast< const SdrTextObj* >(pObj) &&
+ static_cast< const SdrTextObj* >(pObj)->HasText() )
{
DBG_ERROR("AutoWidth/AutoHeight should be enabled");
}
Modified: openoffice/trunk/main/cui/source/tabpages/textattr.cxx
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/cui/source/tabpages/textattr.cxx?rev=1502162&r1=1502161&r2=1502162&view=diff
==============================================================================
--- openoffice/trunk/main/cui/source/tabpages/textattr.cxx (original)
+++ openoffice/trunk/main/cui/source/tabpages/textattr.cxx Thu Jul 11 09:19:43
2013
@@ -547,7 +547,9 @@ void SvxTextAttrPage::Construct()
case OBJ_OUTLINETEXT :
case OBJ_CAPTION :
{
- if ( ((SdrTextObj*)pObj)->HasText() )
+ if( // #121917# The original
((SdrTextObj*)pObj)->HasText() will fail badly with SdrVirtObjs from Writer
+ 0 != dynamic_cast< const SdrTextObj* >(pObj) &&
+ static_cast< const SdrTextObj* >(pObj)->HasText() )
{
// Konturfluss ist NICHT bei
reinen Textobjekten m�glich
bContourEnabled = sal_False;
Modified: openoffice/trunk/main/cui/source/tabpages/transfrm.cxx
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/cui/source/tabpages/transfrm.cxx?rev=1502162&r1=1502161&r2=1502162&view=diff
==============================================================================
--- openoffice/trunk/main/cui/source/tabpages/transfrm.cxx (original)
+++ openoffice/trunk/main/cui/source/tabpages/transfrm.cxx Thu Jul 11 09:19:43
2013
@@ -840,7 +840,11 @@ void SvxPositionSizeTabPage::Construct()
const SdrObject* pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
const SdrObjKind eKind((SdrObjKind)pObj->GetObjIdentifier());
- if((pObj->GetObjInventor() == SdrInventor) && (OBJ_TEXT ==
eKind || OBJ_TITLETEXT == eKind || OBJ_OUTLINETEXT == eKind) &&
((SdrTextObj*)pObj)->HasText())
+ if((pObj->GetObjInventor() == SdrInventor) &&
+ (OBJ_TEXT == eKind || OBJ_TITLETEXT == eKind || OBJ_OUTLINETEXT ==
eKind) &&
+ // #121917# The original ((SdrTextObj*)pObj)->HasText() will fail
badly with SdrVirtObjs from Writer
+ 0 != dynamic_cast< const SdrTextObj* >(pObj) &&
+ static_cast< const SdrTextObj* >(pObj)->HasText())
{
mbAdjustDisabled = false;
maFlAdjust.Enable();