summaryrefslogtreecommitdiff
path: root/vcl/unx/kde4/KDESalDisplay.cxx
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@suse.cz>2010-10-13 14:39:16 +0200
committerLuboš Luňák <l.lunak@suse.cz>2010-10-14 18:14:14 +0200
commit924673ea9afc389eaf04b9bccc6f9d8028e12f0d (patch)
tree60f08d0fc08cf864861ce68272111d01fad3a246 /vcl/unx/kde4/KDESalDisplay.cxx
parent6b5a13a80bef8026abb53d665af3240ad3148eeb (diff)
make KDE4 vclplug use Qt event loop as the event loop
Diffstat (limited to 'vcl/unx/kde4/KDESalDisplay.cxx')
-rw-r--r--vcl/unx/kde4/KDESalDisplay.cxx17
1 files changed, 17 insertions, 0 deletions
diff --git a/vcl/unx/kde4/KDESalDisplay.cxx b/vcl/unx/kde4/KDESalDisplay.cxx
index 69781c1d495b..9877a9ed4974 100644
--- a/vcl/unx/kde4/KDESalDisplay.cxx
+++ b/vcl/unx/kde4/KDESalDisplay.cxx
@@ -29,8 +29,10 @@
#include "KDESalDisplay.hxx"
#include "KDEXLib.hxx"
+#include "VCLKDEApplication.hxx"
#include <assert.h>
+#include <saldata.hxx>
SalKDEDisplay* SalKDEDisplay::selfptr = NULL;
@@ -52,4 +54,19 @@ SalKDEDisplay::~SalKDEDisplay()
pDisp_ = NULL;
}
+void SalKDEDisplay::Yield()
+{
+ if( DispatchInternalEvent() )
+ return;
+
+ DBG_ASSERT( static_cast<SalYieldMutex*>(GetSalData()->m_pInstance->GetYieldMutex())->GetThreadId() ==
+ osl::Thread::getCurrentIdentifier(),
+ "will crash soon since solar mutex not locked in SalKDEDisplay::Yield" );
+
+ XEvent event;
+ XNextEvent( pDisp_, &event );
+ qApp->x11ProcessEvent( &event );
+ // TODO maybe Qt needs locking and unlocking too?
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */