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();


Reply via email to