diff options
Diffstat (limited to 'oox/source/xls/worksheetfragment.cxx')
-rw-r--r-- | oox/source/xls/worksheetfragment.cxx | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/oox/source/xls/worksheetfragment.cxx b/oox/source/xls/worksheetfragment.cxx index ed8907cb5f03..37c1adf660f1 100644 --- a/oox/source/xls/worksheetfragment.cxx +++ b/oox/source/xls/worksheetfragment.cxx @@ -88,6 +88,8 @@ const sal_uInt32 BIFF_DATAVAL_NODROPDOWN = 0x00000200; const sal_uInt32 BIFF_DATAVAL_SHOWINPUT = 0x00040000; const sal_uInt32 BIFF_DATAVAL_SHOWERROR = 0x00080000; +const sal_uInt32 BIFF_SHRFEATHEAD_SHEETPROT = 2; + const sal_Int32 OOBIN_OLEOBJECT_CONTENT = 1; const sal_Int32 OOBIN_OLEOBJECT_ICON = 4; const sal_Int32 OOBIN_OLEOBJECT_ALWAYS = 1; @@ -889,7 +891,7 @@ bool BiffWorksheetFragment::importFragment() case BIFF_ID_SCENPROTECT: rWorksheetSett.importScenProtect( mrStrm ); break; case BIFF_ID_SCL: rSheetViewSett.importScl( mrStrm ); break; case BIFF_ID_SHEETPR: rWorksheetSett.importSheetPr( mrStrm ); break; - case BIFF_ID_SHEETPROTECTION: rWorksheetSett.importSheetProtection( mrStrm ); break; + case BIFF_ID_SHAREDFEATHEAD: importSharedFeatHead(); break; case BIFF_ID_STANDARDWIDTH: importStandardWidth(); break; case BIFF_ID_UNCALCED: rWorkbookSett.importUncalced( mrStrm ); break; case BIFF_ID_VCENTER: rPageSett.importVerCenter( mrStrm ); break; @@ -1155,6 +1157,20 @@ void BiffWorksheetFragment::importScenarios() getScenarios().createSheetScenarios( getSheetIndex() ).importScenarios( mrStrm ); } +void BiffWorksheetFragment::importSharedFeatHead() +{ + mrStrm.skip( 12 ); + sal_uInt16 nType = mrStrm.readuInt16(); + mrStrm.skip( 5 ); + switch( nType ) + { + case BIFF_SHRFEATHEAD_SHEETPROT: + if( mrStrm.getRemaining() >= 4 ) + getWorksheetSettings().importSheetProtection( mrStrm ); + break; + } +} + void BiffWorksheetFragment::importStandardWidth() { sal_uInt16 nWidth; |