diff options
author | Noel Grandin <noelgrandin@gmail.com> | 2020-07-29 20:41:48 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2020-07-30 10:10:22 +0200 |
commit | 231e1e416c039d1f9724962a89cf0573a3db48a2 (patch) | |
tree | 7fea67891c544b4cc69679e94e47e1950c10bb52 /basic/inc | |
parent | 75f398b22ae14dcf442abf6b1c92a50509565ae5 (diff) |
fix shutdown crash in basic
another change I am working on slightly tweaks the shutdown ordering
and exposes this problem where two classes both think they own
the same object.
Change-Id: I7477cf7eda5b5729ee3861cb4a1be43bb34d9ea6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99724
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'basic/inc')
-rw-r--r-- | basic/inc/sbxbase.hxx | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/basic/inc/sbxbase.hxx b/basic/inc/sbxbase.hxx index 269f6029a55a..361dd52bd691 100644 --- a/basic/inc/sbxbase.hxx +++ b/basic/inc/sbxbase.hxx @@ -38,9 +38,8 @@ struct SbxAppData { ErrCode eErrCode; // Error code SbxVariableRef m_aGlobErr; // Global error object - std::vector<std::unique_ptr<SbxFactory>> - m_Factories; - tools::SvRef<SvRefBase> mrImplRepository; + std::vector<SbxFactory*> m_Factories; // these are owned by + tools::SvRef<SvRefBase> mrImplRepository; // Pointer to Format()-Command helper class std::unique_ptr<SbxBasicFormater> pBasicFormater; @@ -55,6 +54,8 @@ struct SbxAppData }; SbxAppData& GetSbxData_Impl(); +/** returns true if the SbxAppData is still valid, used to check if we are in shutdown. */ +bool IsSbxData_Impl(); #endif // INCLUDED_BASIC_INC_SBXBASE_HXX |