summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2013-04-07 10:42:01 +0300
committerTor Lillqvist <tml@iki.fi>2013-04-07 10:49:37 +0300
commit6025fd8970444794e0a9dde76f12d0dd1ec8b778 (patch)
tree655f35faca8a215ea94aa7729553b457cd083f93 /vcl
parent07c9bb103823dd9c0dc297d0315907ab94488f93 (diff)
Avoid hang on make subsequentcheck on Linux
Acquire the yield mutex in the VirtualDevice destructor only in a dbgutil build on OS X. (I added that acquire yesterday to fix an assertion when exiting on OS X.) Seems to fix a hang in "make subsequentcheck" on Linux. No idea what is going on exactly, sigh. Change-Id: Ifcb1897720998d0725a8db0d5f8c75848c6a30f7
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/gdi/virdev.cxx9
1 files changed, 7 insertions, 2 deletions
diff --git a/vcl/source/gdi/virdev.cxx b/vcl/source/gdi/virdev.cxx
index 559a1920dd7f..2e8415de8656 100644
--- a/vcl/source/gdi/virdev.cxx
+++ b/vcl/source/gdi/virdev.cxx
@@ -184,9 +184,14 @@ VirtualDevice::~VirtualDevice()
ImplSVData* pSVData = ImplGetSVData();
- // OutputDevice::ImplReleaseGraphics() requires the yield mutex to
- // be held, hmm.
+#if defined(DBG_UTIL) && defined(MACOSX)
+ // OutputDevice::ImplReleaseGraphics() requires the yield mutex to be
+ // held, hmm. For some reason this is a problem only in a dbgutil build on
+ // OS X, when this stuff gets called when soffice is about to exit, from
+ // editeng/source/editeng/eerdll.cxx. If this code is used on Linux, we
+ // again get a hang in some/all of the subsequentchecks.
pSVData->mpDefInst->AcquireYieldMutex( 1 );
+#endif
ImplReleaseGraphics();