diff options
author | Noel Power <noel.power@novell.com> | 2012-06-05 16:41:53 +0100 |
---|---|---|
committer | Noel Power <noel.power@novell.com> | 2012-06-05 16:45:31 +0100 |
commit | afbb2d8f7d72292532a9ea54fa2e6757b6d548c2 (patch) | |
tree | 51611679804fd10060bb53df75eb3b322a2e3987 | |
parent | 67a041cf75c2d21de2ab59ef2ea0e0c612943ebd (diff) |
fix missing ole and form control(s) on xlsx import
chang the visibility of aMceState in order to access that member to filter out reading and parsing of ./xl/ctrlProps/ctrlProp[N].xml fragments for 'controls' & 'oleObjects' elements nested withing 'mc:AlternateContent' elements
Change-Id: I6892db7e3302b9977f0fdaabbe3ac1444315e011
-rw-r--r-- | oox/inc/oox/core/fragmenthandler2.hxx | 3 | ||||
-rw-r--r-- | sc/source/filter/oox/worksheetfragment.cxx | 4 |
2 files changed, 3 insertions, 4 deletions
diff --git a/oox/inc/oox/core/fragmenthandler2.hxx b/oox/inc/oox/core/fragmenthandler2.hxx index 781ed855a282..70ded853fa17 100644 --- a/oox/inc/oox/core/fragmenthandler2.hxx +++ b/oox/inc/oox/core/fragmenthandler2.hxx @@ -41,7 +41,7 @@ namespace core { class OOX_DLLPUBLIC FragmentHandler2 : public FragmentHandler, public ContextHandler2Helper { -private: +protected: enum MCE_STATE { MCE_UNUSED, @@ -50,7 +50,6 @@ private: }; ::std::vector<MCE_STATE> aMceState; -private: bool prepareMceContext( sal_Int32 nElement, const AttributeList& rAttribs ); diff --git a/sc/source/filter/oox/worksheetfragment.cxx b/sc/source/filter/oox/worksheetfragment.cxx index be41a16bf0cb..8616305998ef 100644 --- a/sc/source/filter/oox/worksheetfragment.cxx +++ b/sc/source/filter/oox/worksheetfragment.cxx @@ -332,10 +332,10 @@ ContextHandlerRef WorksheetFragment::onCreateContext( sal_Int32 nElement, const break; case XLS_TOKEN( oleObjects ): - if( nElement == XLS_TOKEN( oleObject ) ) importOleObject( rAttribs ); + if( nElement == XLS_TOKEN( oleObject ) && aMceState.empty() ) importOleObject( rAttribs ); break; case XLS_TOKEN( controls ): - if( nElement == XLS_TOKEN( control ) ) importControl( rAttribs ); + if( nElement == XLS_TOKEN( control ) && aMceState.empty() ) importControl( rAttribs ); break; } return 0; |