summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--oox/inc/oox/core/fragmenthandler2.hxx3
-rw-r--r--sc/source/filter/oox/worksheetfragment.cxx4
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;