diff options
author | Luboš Luňák <l.lunak@suse.cz> | 2010-10-13 14:39:16 +0200 |
---|---|---|
committer | Luboš Luňák <l.lunak@suse.cz> | 2010-10-14 18:14:14 +0200 |
commit | 924673ea9afc389eaf04b9bccc6f9d8028e12f0d (patch) | |
tree | 60f08d0fc08cf864861ce68272111d01fad3a246 /vcl/unx/kde4/KDESalDisplay.cxx | |
parent | 6b5a13a80bef8026abb53d665af3240ad3148eeb (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.cxx | 17 |
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: */ |