vcl/headless/svpinst.cxx |   51 ++++++++++++++++++++---------------------------
 1 file changed, 22 insertions(+), 29 deletions(-)

New commits:
commit 64e8c2adbbe13cf082819229b8014ffb28911b76
Author:     Jan-Marek Glogowski <glo...@fbihome.de>
AuthorDate: Sun Jun 27 22:12:14 2021 +0000
Commit:     Jan-Marek Glogowski <glo...@fbihome.de>
CommitDate: Mon Jun 28 17:36:42 2021 +0200

    Test SvpSalYieldMutex like DBG_TESTSOLARMUTEX
    
    Introduce and use DBG_TESTSVPYIELDMUTEX.
    
    Change-Id: I002fa8faf744d69ab00ceeddda4f56b46aec0b34
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118015
    Tested-by: Jenkins
    Reviewed-by: Jan-Marek Glogowski <glo...@fbihome.de>

diff --git a/vcl/headless/svpinst.cxx b/vcl/headless/svpinst.cxx
index 638052611360..b488d54d7527 100644
--- a/vcl/headless/svpinst.cxx
+++ b/vcl/headless/svpinst.cxx
@@ -62,6 +62,23 @@
 
 SvpSalInstance* SvpSalInstance::s_pDefaultInstance = nullptr;
 
+#ifndef NDEBUG
+static bool g_CheckedMutex = false;
+
+#define DBG_TESTSVPYIELDMUTEX() \
+do { \
+    if (!g_CheckedMutex) \
+    { \
+        assert(dynamic_cast<SvpSalYieldMutex*>(GetYieldMutex()) != nullptr \
+            && "This SvpSalInstance function requires use of 
SvpSalYieldMutex"); \
+        g_CheckedMutex = true; \
+    } \
+} while(false)
+
+#else // NDEBUG
+#define DBG_TESTSVPYIELDMUTEX() ((void)0)
+#endif
+
 #if !defined(ANDROID) && !defined(IOS)
 
 static void atfork_child()
@@ -158,23 +175,11 @@ void SvpSalInstance::TriggerUserEventProcessing()
     Wakeup();
 }
 
-#ifndef NDEBUG
-static bool g_CheckedMutex = false;
-#endif
-
 void SvpSalInstance::Wakeup(SvpRequest const request)
 {
-#ifndef NDEBUG
-    if (!g_CheckedMutex)
-    {
-        assert(dynamic_cast<SvpSalYieldMutex*>(GetYieldMutex()) != nullptr
-            && "This SvpSalInstance function requires use of 
SvpSalYieldMutex");
-        g_CheckedMutex = true;
-    }
-#endif
+    DBG_TESTSVPYIELDMUTEX();
 
     ImplSVData* pSVData = ImplGetSVData();
-
     if (pSVData->mpWakeCallback && pSVData->mpPollClosure)
         pSVData->mpWakeCallback(pSVData->mpPollClosure);
 
@@ -309,6 +314,8 @@ std::shared_ptr<SalBitmap> SvpSalInstance::CreateSalBitmap()
 
 void SvpSalInstance::ProcessEvent( SalUserEvent aEvent )
 {
+    DBG_TESTSVPYIELDMUTEX();
+
     aEvent.m_pFrame->CallCallback( aEvent.m_nEvent, aEvent.m_pData );
     if( aEvent.m_nEvent == SalEvent::Resize )
     {
@@ -316,14 +323,7 @@ void SvpSalInstance::ProcessEvent( SalUserEvent aEvent )
         const SvpSalFrame* pSvpFrame = static_cast<const SvpSalFrame*>( 
aEvent.m_pFrame);
         pSvpFrame->PostPaint();
     }
-#ifndef NDEBUG
-    if (!g_CheckedMutex)
-    {
-        assert(dynamic_cast<SvpSalYieldMutex*>(GetYieldMutex()) != nullptr
-            && "This SvpSalInstance function requires use of 
SvpSalYieldMutex");
-        g_CheckedMutex = true;
-    }
-#endif
+
     SvpSalYieldMutex *const 
pMutex(static_cast<SvpSalYieldMutex*>(GetYieldMutex()));
     pMutex->m_NonMainWaitingYieldCond.set();
 }
@@ -448,14 +448,7 @@ void SvpSalInstance::updateMainThread()
 
 bool SvpSalInstance::DoYield(bool bWait, bool bHandleAllCurrentEvents)
 {
-#ifndef NDEBUG
-    if (!g_CheckedMutex)
-    {
-        assert(dynamic_cast<SvpSalYieldMutex*>(GetYieldMutex()) != nullptr
-            && "This SvpSalInstance function requires use of 
SvpSalYieldMutex");
-        g_CheckedMutex = true;
-    }
-#endif
+    DBG_TESTSVPYIELDMUTEX();
 
     // first, process current user events
     bool bEvent = DispatchUserEvents(bHandleAllCurrentEvents);
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to