ooo-build r13566 - in trunk: . patches/dev300
- From: noelpwer svn gnome org
- To: svn-commits-list gnome org
- Subject: ooo-build r13566 - in trunk: . patches/dev300
- Date: Thu, 14 Aug 2008 11:45:46 +0000 (UTC)
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]