Kaydet (Commit) a4f97070 authored tarafından Caolán McNamara's avatar Caolán McNamara

avoid terminate on loading fdo73574-3.docx

by moving work done in dtor to an explicit method

Change-Id: I99b3843819ea78f2a91a2784ae0243430dacb3d9
üst 91567c26
......@@ -165,11 +165,11 @@ void OOXMLEmbeddedFontHandler::sprm(Sprm & /*sprm*/)
class OOXMLFooterHandler
*/
OOXMLFooterHandler::OOXMLFooterHandler(OOXMLFastContextHandler * pContext)
: mpFastContext(pContext), msStreamId(), mnType(0)
: mpFastContext(pContext), msStreamId(), mnType(0)
{
}
OOXMLFooterHandler::~OOXMLFooterHandler()
void OOXMLFooterHandler::finalize()
{
mpFastContext->resolveFooter(mnType, msStreamId);
}
......@@ -197,11 +197,11 @@ void OOXMLFooterHandler::sprm(Sprm & /*sprm*/)
class OOXMLHeaderHandler
*/
OOXMLHeaderHandler::OOXMLHeaderHandler(OOXMLFastContextHandler * pContext)
: mpFastContext(pContext), msStreamId(), mnType(0)
: mpFastContext(pContext), msStreamId(), mnType(0)
{
}
OOXMLHeaderHandler::~OOXMLHeaderHandler()
void OOXMLHeaderHandler::finalize()
{
mpFastContext->resolveHeader(mnType, msStreamId);
}
......
......@@ -55,7 +55,8 @@ class OOXMLFooterHandler : public Properties
sal_Int32 mnType;
public:
OOXMLFooterHandler(OOXMLFastContextHandler * pContext);
virtual ~OOXMLFooterHandler();
virtual ~OOXMLFooterHandler() {}
void finalize();
virtual void attribute(Id name, Value & val) SAL_OVERRIDE;
virtual void sprm(Sprm & sprm) SAL_OVERRIDE;
};
......@@ -67,7 +68,8 @@ class OOXMLHeaderHandler : public Properties
sal_Int32 mnType;
public:
OOXMLHeaderHandler(OOXMLFastContextHandler * pContext);
virtual ~OOXMLHeaderHandler();
virtual ~OOXMLHeaderHandler() {}
void finalize();
virtual void attribute(Id name, Value & val) SAL_OVERRIDE;
virtual void sprm(Sprm & sprm) SAL_OVERRIDE;
};
......
......@@ -1048,12 +1048,14 @@ void OOXMLFastContextHandlerProperties::handleHdrFtr()
{
OOXMLFooterHandler aFooterHandler(this);
mpPropertySet->resolve(aFooterHandler);
aFooterHandler.finalize();
}
break;
case W_TOKEN(headerReference):
{
OOXMLHeaderHandler aHeaderHandler(this);
mpPropertySet->resolve(aHeaderHandler);
aHeaderHandler.finalize();
}
break;
default:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment