summaryrefslogtreecommitdiff
path: root/desktop/source/pkgchk
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2020-01-28 10:39:16 +0100
committerStephan Bergmann <sbergman@redhat.com>2020-01-28 13:14:18 +0100
commit9f277b2616512299ec20de0209c272527f26386b (patch)
tree9af42cac692927d626fbcf45270136ba1bb0dbc4 /desktop/source/pkgchk
parentb987ea4f7cd75e43c65e652a303feaac25bacb55 (diff)
Dispose configmgr at the end of unopkg
...so that the configmgr::Components::WriteThread (configmgr/source/components.cxx) is joined well before exit. (This should solve the issue discussed at <https://gerrit.libreoffice.org/c/core/+/86543/3/ configmgr/source/writemodfile.cxx#564>, "tdf#129917 Use temp user profile when installing shared extensions".) Change-Id: I79004c2e7f839d80eda23eed2a1c5e8e660a58df Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87592 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'desktop/source/pkgchk')
-rw-r--r--desktop/source/pkgchk/unopkg/unopkg_app.cxx6
1 files changed, 6 insertions, 0 deletions
diff --git a/desktop/source/pkgchk/unopkg/unopkg_app.cxx b/desktop/source/pkgchk/unopkg/unopkg_app.cxx
index 6ee96a9b7995..97abd4c9dbc0 100644
--- a/desktop/source/pkgchk/unopkg/unopkg_app.cxx
+++ b/desktop/source/pkgchk/unopkg/unopkg_app.cxx
@@ -582,6 +582,8 @@ extern "C" int unopkg_main()
logger->log(LogLevel::INFO, "$1$ done.", APP_NAME);
//Force to release all bridges which connect us to the child processes
dp_misc::disposeBridges(xLocalComponentContext);
+ css::uno::Reference<css::lang::XComponent>(
+ xLocalComponentContext, css::uno::UNO_QUERY_THROW)->dispose();
return 0;
}
catch (const ucb::CommandFailedException &e)
@@ -613,6 +615,10 @@ extern "C" int unopkg_main()
if (bShowFailedMsg)
logger->log(LogLevel::SEVERE, "$1$ failed.", APP_NAME);
dp_misc::disposeBridges(xLocalComponentContext);
+ if (xLocalComponentContext.is()) {
+ css::uno::Reference<css::lang::XComponent>(
+ xLocalComponentContext, css::uno::UNO_QUERY_THROW)->dispose();
+ }
return 1;
}