summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vcl/aqua/source/app/salinst.cxx4
-rw-r--r--vcl/os2/source/app/salinst.cxx3
-rw-r--r--vcl/unx/source/app/salinst.cxx4
-rw-r--r--vcl/win/source/app/salinst.cxx14
4 files changed, 16 insertions, 9 deletions
diff --git a/vcl/aqua/source/app/salinst.cxx b/vcl/aqua/source/app/salinst.cxx
index 56bf1a612b40..13699cb75c6e 100644
--- a/vcl/aqua/source/app/salinst.cxx
+++ b/vcl/aqua/source/app/salinst.cxx
@@ -61,7 +61,7 @@
#import "apple_remote/RemoteMainController.h"
#include "apple_remote/RemoteControl.h"
#include "postmac.h"
-
+#include <tools/solarmutex.hxx>
using namespace std;
@@ -463,6 +463,7 @@ AquaSalInstance::AquaSalInstance()
{
mpSalYieldMutex = new SalYieldMutex;
mpSalYieldMutex->acquire();
+ ::tools::SolarMutex::SetSolarMutex( mpSalYieldMutex );
maMainThread = vos::OThread::getCurrentIdentifier();
mbWaitingYield = false;
maUserEventListMutex = osl_createMutex();
@@ -473,6 +474,7 @@ AquaSalInstance::AquaSalInstance()
AquaSalInstance::~AquaSalInstance()
{
+ ::tools::SolarMutex::SetSolarMutex( 0 );
mpSalYieldMutex->release();
delete mpSalYieldMutex;
osl_destroyMutex( maUserEventListMutex );
diff --git a/vcl/os2/source/app/salinst.cxx b/vcl/os2/source/app/salinst.cxx
index a14881c253ee..2fffa3afd89d 100644
--- a/vcl/os2/source/app/salinst.cxx
+++ b/vcl/os2/source/app/salinst.cxx
@@ -55,6 +55,7 @@
#include <salbmp.h>
#include <vcl/salimestatus.hxx>
#include <vcl/timer.hxx>
+#include <tools/solarmutex.hxx>
// =======================================================================
@@ -501,12 +502,14 @@ Os2SalInstance::Os2SalInstance()
mpSalWaitMutex = new vos::OMutex;
mnYieldWaitCount = 0;
mpSalYieldMutex->acquire();
+ ::tools::SolarMutex::SetSolarMutex( mpSalYieldMutex );
}
// -----------------------------------------------------------------------
Os2SalInstance::~Os2SalInstance()
{
+ ::tools::SolarMutex::SetSolarMutex( 0 );
mpSalYieldMutex->release();
delete mpSalYieldMutex;
delete mpSalWaitMutex;
diff --git a/vcl/unx/source/app/salinst.cxx b/vcl/unx/source/app/salinst.cxx
index d84b7fa5df6d..53c41aa525e1 100644
--- a/vcl/unx/source/app/salinst.cxx
+++ b/vcl/unx/source/app/salinst.cxx
@@ -48,7 +48,7 @@
#include "vcl/salwtype.hxx"
#include "vcl/salatype.hxx"
#include "vcl/helper.hxx"
-
+#include <tools/solarmutex.hxx>
#include "vos/mutex.hxx"
// -------------------------------------------------------------------------
@@ -61,6 +61,7 @@ SalYieldMutex::SalYieldMutex()
{
mnCount = 0;
mnThreadId = 0;
+ ::tools::SolarMutex::SetSolarMutex( this );
}
void SalYieldMutex::acquire()
@@ -139,6 +140,7 @@ X11SalInstance::~X11SalInstance()
delete pSalData;
SetSalData( NULL );
+ ::tools::SolarMutex::SetSolarMutex( 0 );
delete mpSalYieldMutex;
}
diff --git a/vcl/win/source/app/salinst.cxx b/vcl/win/source/app/salinst.cxx
index e4b136e9715e..4c8a1fc86714 100644
--- a/vcl/win/source/app/salinst.cxx
+++ b/vcl/win/source/app/salinst.cxx
@@ -457,10 +457,10 @@ void InitSalData()
{
SalData* pSalData = new SalData;
CoInitialize(0);
-
- // init GDIPlus
- static Gdiplus::GdiplusStartupInput gdiplusStartupInput;
- Gdiplus::GdiplusStartup(&pSalData->gdiplusToken, &gdiplusStartupInput, NULL);
+
+ // init GDIPlus
+ static Gdiplus::GdiplusStartupInput gdiplusStartupInput;
+ Gdiplus::GdiplusStartup(&pSalData->gdiplusToken, &gdiplusStartupInput, NULL);
}
@@ -472,7 +472,7 @@ void DeInitSalData()
// deinit GDIPlus
if(pSalData)
{
- Gdiplus::GdiplusShutdown(pSalData->gdiplusToken);
+ Gdiplus::GdiplusShutdown(pSalData->gdiplusToken);
}
delete pSalData;
@@ -657,18 +657,18 @@ WinSalInstance::WinSalInstance()
{
mhComWnd = 0;
mpSalYieldMutex = new SalYieldMutex( this );
- ::tools::SolarMutex::SetSolarMutex( mpSalYieldMutex );
mpSalWaitMutex = new vos::OMutex;
mnYieldWaitCount = 0;
mpSalYieldMutex->acquire();
+ ::tools::SolarMutex::SetSolarMutex( mpSalYieldMutex );
}
// -----------------------------------------------------------------------
WinSalInstance::~WinSalInstance()
{
- mpSalYieldMutex->release();
::tools::SolarMutex::SetSolarMutex( 0 );
+ mpSalYieldMutex->release();
delete mpSalYieldMutex;
delete mpSalWaitMutex;
DestroyWindow( mhComWnd );