Kaydet (Commit) be88e305 authored tarafından Michael Stahl's avatar Michael Stahl

tdf#90969: basic: add horrible hack to avoid crash due to ...

... the stupid global variable GaDocBasicItems.

Change-Id: Ib849e0e2b661e54005d00091f6d6fc474dc5549b
üst 3d664cc3
......@@ -24,6 +24,7 @@
#include <tools/rcid.h>
#include <tools/stream.hxx>
#include <tools/errinf.hxx>
#include <tools/solarmutex.hxx>
#include <basic/sbx.hxx>
#include <tools/rc.hxx>
#include <vcl/svapp.hxx>
......@@ -109,10 +110,22 @@ DocBasicItem::DocBasicItem( StarBASIC& rDocBasic ) :
DocBasicItem::~DocBasicItem()
{
SolarMutexGuard g;
// tdf#90969 HACK: don't use SolarMutexGuard - there is a horrible global
// map GaDocBasicItems holding instances, and these get deleted from exit
// handlers, when the SolarMutex is already dead
tools::SolarMutex::Acquire();
stopListening();
mxClassModules.Clear(); // release with SolarMutex locked
try
{
stopListening();
mxClassModules.Clear(); // release with SolarMutex locked
}
catch (...)
{
assert(false);
}
tools::SolarMutex::Release();
}
void DocBasicItem::clearDependingVarsOnDelete( StarBASIC& rDeletedBasic )
......
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