ooo-build r13566 - in trunk: . patches/dev300



Author: noelpwer
Date: Thu Aug 14 11:45:46 2008
New Revision: 13566
URL: http://svn.gnome.org/viewvc/ooo-build?rev=13566&view=rev

Log:
2008-08-14  Noel Power  <noel power novell com>

        * patches/dev300/userform-activex-identify.diff: oops, the previous 
        version of the patch introduced some regressions e.g. wrong offset
        to the id and not reading to endof record.


Modified:
   trunk/ChangeLog
   trunk/patches/dev300/userform-activex-identify.diff

Modified: trunk/patches/dev300/userform-activex-identify.diff
==============================================================================
--- trunk/patches/dev300/userform-activex-identify.diff	(original)
+++ trunk/patches/dev300/userform-activex-identify.diff	Thu Aug 14 11:45:46 2008
@@ -25,7 +25,7 @@
 index 85cabda..a771d13 100644
 --- svx/source/msfilter/msocximex.cxx
 +++ svx/source/msfilter/msocximex.cxx
-@@ -572,8 +572,143 @@ const sal_uInt16 TOGGLEBUTTON = (sal_uIn
+@@ -572,8 +572,145 @@ const sal_uInt16 TOGGLEBUTTON = (sal_uIn
  const sal_uInt16 SCROLLBAR = (sal_uInt16)0x2F;
  
  const sal_uInt16 MULTIPAGE = (sal_uInt16)0x39;
@@ -117,7 +117,8 @@
 +0x82, 0x9a, 0xb3, 0xf5, 0x80, 0x14, 0xd3, 0x11, 0x85, 0x49, 0x00, 0xc0, 0x4f, 0xac, 0x67, 0xd7,
 +};
 +
-+const sal_Int16 ActiveXIDLen = 0x10;
++const sal_Int16 ActiveXIDLen = 0x10; // CLSID len
++const sal_Int16 ActiveXIDBlockLen = 0x30; // the block len that contains the CLSID
 +
 +bool lcl_handleActiveXControl(  SvStorageStream *pS, sal_uInt16& nTypeID )
 +{
@@ -126,42 +127,43 @@
 +    sal_uInt16 nIdentifier, nFixedAreaLen;
 +    *pS >> nIdentifier;    
 +    *pS >> nFixedAreaLen;    
-+    pS->SeekRel( ( nFixedAreaLen - ActiveXIDLen ) );
++    pS->SeekRel( ( nFixedAreaLen - ActiveXIDBlockLen ) );
 +    sal_uInt8 aID[ ActiveXIDLen ];
 +    if ( !pS->IsEof() )
 +    {
 +        pS->Read( aID, ActiveXIDLen );
-+    }
-+    if ( memcmp( aID, aProgressID, ActiveXIDLen ) == 0 )
-+    {
-+        nTypeID = PROGRESSBAR;
-+        OSL_TRACE("Found supported ***PROGRESSBAR*** ActiveX control");
-+        bRes = true;
-+    }
++        pS->SeekRel( ActiveXIDBlockLen - ActiveXIDLen ); // read remainer of record
++        if ( memcmp( aID, aProgressID, ActiveXIDLen ) == 0 )
++        {
++            nTypeID = PROGRESSBAR;
++            OSL_TRACE("Found supported ***PROGRESSBAR*** ActiveX control");
++            bRes = true;
++        }
 +#if (OSL_DEBUG_LEVEL > 0)
-+    // If we really want to process these more controls we should put them in 
-+    // a list or array and have a single loop testing each id. For the moment 
-+    // as we only can process PROGRESSBAR, not much point doing that until 
-+    // we add support for at least another activex control
-+
-+    else if ( memcmp( aID, aCalendarID, 0x30 ) == 0 )
-+        OSL_TRACE("Found unsupported ***CALENDAR*** ActiveX control");
-+    else if ( memcmp( aID, aRefEditID, 0x30 ) == 0 )
-+        OSL_TRACE("Found unsupported ***REFEDIT*** ActiveX control");
-+    else if ( memcmp( aID, aImageComboID, 0x30 ) == 0 )
-+        OSL_TRACE("Found unsupported ***IMAGECOMBO*** ActiveX control");
-+    else if ( memcmp( aID, aImageListID, 0x30 ) == 0 )
-+        OSL_TRACE("Found unsupported ***IMAGELIST*** ActiveX control");
-+    else if ( memcmp( aID, aChartSpaceID, 0x30 ) == 0 )
-+        OSL_TRACE("Found unsupported ***CHARTSPACE*** ActiveX control");
-+    else if ( memcmp( aID, aSliderID, 0x30 ) == 0 )
-+        OSL_TRACE("Found unsupported ***SLIDER*** ActiveX control");
-+    else if ( memcmp( aID, aStatusBarID, 0x30 ) == 0 )
-+        OSL_TRACE("Found unsupported ***STATUSBAR*** ActiveX control");
++        // If we really want to process these more controls we should put them in 
++        // a list or array and have a single loop testing each id. For the moment 
++        // as we only can process PROGRESSBAR, not much point doing that until 
++        // we add support for at least another activex control
++
++        else if ( memcmp( aID, aCalendarID, 0x30 ) == 0 )
++            OSL_TRACE("Found unsupported ***CALENDAR*** ActiveX control");
++        else if ( memcmp( aID, aRefEditID, 0x30 ) == 0 )
++            OSL_TRACE("Found unsupported ***REFEDIT*** ActiveX control");
++        else if ( memcmp( aID, aImageComboID, 0x30 ) == 0 )
++            OSL_TRACE("Found unsupported ***IMAGECOMBO*** ActiveX control");
++        else if ( memcmp( aID, aImageListID, 0x30 ) == 0 )
++            OSL_TRACE("Found unsupported ***IMAGELIST*** ActiveX control");
++        else if ( memcmp( aID, aChartSpaceID, 0x30 ) == 0 )
++            OSL_TRACE("Found unsupported ***CHARTSPACE*** ActiveX control");
++        else if ( memcmp( aID, aSliderID, 0x30 ) == 0 )
++            OSL_TRACE("Found unsupported ***SLIDER*** ActiveX control");
++        else if ( memcmp( aID, aStatusBarID, 0x30 ) == 0 )
++            OSL_TRACE("Found unsupported ***STATUSBAR*** ActiveX control");
 +#endif
-+    else
-+    {
-+        OSL_TRACE("Unknown activeX ID !");
++        else
++        {
++            OSL_TRACE("Unknown activeX ID !");
++        }
 +    }
 +    return bRes;
 +}



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]