diff options
author | Chris Sherlock <chris.sherlock79@gmail.com> | 2017-03-18 19:58:53 +1100 |
---|---|---|
committer | Chris Sherlock <chris.sherlock79@gmail.com> | 2017-03-19 05:26:50 +0000 |
commit | 2667435ea5e6b73e58e57703b6fc3896e87eb370 (patch) | |
tree | 27bfdcd59e28819e644cc6a8c475a1637d5df713 /vcl/osx | |
parent | 96a9b38db5fd9c21bffe4274fa7d5083d4bc2ee9 (diff) |
vcl: have AcquaSalInstance use osl::Condition instead of oslCondition
Condition is deprecated already, but there is no need for the
AcquaSalInstance class to use the low-level C-API, when in fact there
is a C++ fascade that calls on this via the C++ abstraction,
osl::Condition.
This will make it much easier to switch to using std::condition_variable
in the future.
Change-Id: Ic495c4120a59480bf50a8c5b73608874fc4228ea
Reviewed-on: https://gerrit.libreoffice.org/35392
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
Diffstat (limited to 'vcl/osx')
-rw-r--r-- | vcl/osx/salinst.cxx | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/vcl/osx/salinst.cxx b/vcl/osx/salinst.cxx index 84cc198fcdcf..53b529e0b67e 100644 --- a/vcl/osx/salinst.cxx +++ b/vcl/osx/salinst.cxx @@ -349,6 +349,7 @@ void DestroySalInstance( SalInstance* pInst ) AquaSalInstance::AquaSalInstance() : maUserEventListMutex() + , maWaitingYieldCond() { mpSalYieldMutex = new SalYieldMutex; mpSalYieldMutex->acquire(); @@ -356,7 +357,6 @@ AquaSalInstance::AquaSalInstance() maMainThread = osl::Thread::getCurrentIdentifier(); mbWaitingYield = false; mnActivePrintJobs = 0; - maWaitingYieldCond = osl_createCondition(); } AquaSalInstance::~AquaSalInstance() @@ -364,7 +364,6 @@ AquaSalInstance::~AquaSalInstance() ::comphelper::SolarMutex::setSolarMutex( nullptr ); mpSalYieldMutex->release(); delete mpSalYieldMutex; - osl_destroyCondition( maWaitingYieldCond ); } void AquaSalInstance::wakeupYield() @@ -600,7 +599,7 @@ SalYieldResult AquaSalInstance::DoYield(bool bWait, bool bHandleAllCurrentEvents if( aEvent.mpFrame && AquaSalFrame::isAlive( aEvent.mpFrame ) ) { aEvent.mpFrame->CallCallback( aEvent.mnType, aEvent.mpData ); - osl_setCondition( maWaitingYieldCond ); + maWaitingYieldCond.set(); // return if only one event is asked for if( ! bHandleAllCurrentEvents ) return SalYieldResult::EVENT; @@ -683,17 +682,17 @@ SAL_WNODEPRECATED_DECLARATIONS_POP (*it)->maInvalidRect.SetEmpty(); } } - osl_setCondition( maWaitingYieldCond ); + maWaitingYieldCond.set(); } else if( bWait ) { // #i103162# // wait until any thread (most likely the main thread) // has dispatched an event, cop out at 200 ms - osl_resetCondition( maWaitingYieldCond ); + maWaitingYieldCond.reset(); TimeValue aVal = { 0, 200000000 }; sal_uLong nCount = ReleaseYieldMutex(); - osl_waitCondition( maWaitingYieldCond, &aVal ); + maWaitingYieldCond.wait( &aVal ); AcquireYieldMutex( nCount ); } |