summaryrefslogtreecommitdiff
path: root/basic/inc
diff options
context:
space:
mode:
authorNoel Grandin <noelgrandin@gmail.com>2020-07-29 20:41:48 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2020-07-30 10:10:22 +0200
commit231e1e416c039d1f9724962a89cf0573a3db48a2 (patch)
tree7fea67891c544b4cc69679e94e47e1950c10bb52 /basic/inc
parent75f398b22ae14dcf442abf6b1c92a50509565ae5 (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.hxx7
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