Kaydet (Commit) 89853de3 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>
(cherry picked from commit 58e4b36a)
Reviewed-on: https://gerrit.libreoffice.org/46006
üst b4e51cda
...@@ -417,8 +417,30 @@ void OOXMLDocumentImpl::resolveFooter(Stream & rStream, ...@@ -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) void OOXMLDocumentImpl::resolve(Stream & rStream)
{ {
StatusIndicatorGuard aStatusIndicatorGuard(mxStatusIndicator);
if (utl::MediaDescriptor(maMediaDescriptor).getUnpackedValueOrDefault("ReadGlossaries", false)) if (utl::MediaDescriptor(maMediaDescriptor).getUnpackedValueOrDefault("ReadGlossaries", false))
{ {
resolveFastSubStream(rStream, OOXMLStream::GLOSSARY); resolveFastSubStream(rStream, OOXMLStream::GLOSSARY);
...@@ -515,9 +537,6 @@ void OOXMLDocumentImpl::resolve(Stream & rStream) ...@@ -515,9 +537,6 @@ void OOXMLDocumentImpl::resolve(Stream & rStream)
"OOXMLDocumentImpl::resolve(): non-UNO exception"); "OOXMLDocumentImpl::resolve(): non-UNO exception");
} }
} }
if (mxStatusIndicator.is())
mxStatusIndicator->end();
} }
void OOXMLDocumentImpl::incrementProgress() 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