Kaydet (Commit) 58e4b36a authored tarafından tagezi's avatar tagezi Kaydeden (comit) Mike Kaganski

tdf#104650 Creating guard to reset status indicator

Change-Id: Ic1e79badedc031a588c0b07958002ad7c558ba82
Reviewed-on: https://gerrit.libreoffice.org/45987Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarMike Kaganski <mike.kaganski@collabora.com>
üst 8169a0e5
......@@ -417,8 +417,30 @@ void OOXMLDocumentImpl::resolveFooter(Stream & rStream,
}
}
namespace {
// Ensures that the indicator is reset after exiting OOXMLDocumentImpl::resolve
class StatusIndicatorGuard{
public:
explicit StatusIndicatorGuard(css::uno::Reference<css::task::XStatusIndicator>& xStatusIndicator)
:mxStatusIndicator(xStatusIndicator)
{
}
~StatusIndicatorGuard()
{
if (mxStatusIndicator.is())
mxStatusIndicator->end();
}
private:
css::uno::Reference<css::task::XStatusIndicator> mxStatusIndicator;
};
}
void OOXMLDocumentImpl::resolve(Stream & rStream)
{
StatusIndicatorGuard aStatusIndicatorGuard(mxStatusIndicator);
if (utl::MediaDescriptor(maMediaDescriptor).getUnpackedValueOrDefault("ReadGlossaries", false))
{
resolveFastSubStream(rStream, OOXMLStream::GLOSSARY);
......@@ -515,9 +537,6 @@ void OOXMLDocumentImpl::resolve(Stream & rStream)
"OOXMLDocumentImpl::resolve(): non-UNO exception");
}
}
if (mxStatusIndicator.is())
mxStatusIndicator->end();
}
void OOXMLDocumentImpl::incrementProgress()
......
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