vcl/unx/kde4/KDESalDisplay.cxx | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-)
New commits: commit 6df01ea56717803f1ccf66bbbbb7a2815aa09fb5 Author: Jan-Marek Glogowski <glo...@fbihome.de> Date: Mon Mar 10 14:54:58 2014 +0000 Revert "fdo#67011: Run Display::Yield through KDEXLib::Yield." This reverts commit 95f60222e75486336b6569afa8f34d60b51c94ad. (cherry picked from commit 69e7f4491ec78384c46653d3cd8870c97cc9218a) Change-Id: I180172424092eb64e8a7bc02072e1d477641cc8d Reviewed-on: https://gerrit.libreoffice.org/8709 Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> diff --git a/vcl/unx/kde4/KDESalDisplay.cxx b/vcl/unx/kde4/KDESalDisplay.cxx index ee330e7..21440fc 100644 --- a/vcl/unx/kde4/KDESalDisplay.cxx +++ b/vcl/unx/kde4/KDESalDisplay.cxx @@ -25,8 +25,6 @@ #include <assert.h> #include <unx/saldata.hxx> -#include <qthread.h> - SalKDEDisplay* SalKDEDisplay::selfptr = NULL; SalKDEDisplay::SalKDEDisplay( Display* pDisp ) @@ -50,26 +48,18 @@ SalKDEDisplay::~SalKDEDisplay() void SalKDEDisplay::Yield() { - // We yield the display throught the main Qt thread. - // Actually this Yield may call the Display::Yield, which results in an - // unlimited cycle. - static bool break_cyclic_yield_recursion = false; - bool is_qt_gui_thread = ( qApp->thread() == QThread::currentThread() ); - - if( DispatchInternalEvent() || break_cyclic_yield_recursion ) + if( DispatchInternalEvent() ) return; - if( is_qt_gui_thread ) - break_cyclic_yield_recursion = true; - DBG_ASSERT( static_cast<SalYieldMutex*>(GetSalData()->m_pInstance->GetYieldMutex())->GetThreadId() == osl::Thread::getCurrentIdentifier(), "will crash soon since solar mutex not locked in SalKDEDisplay::Yield" ); - static_cast<KDEXLib*>(GetXLib())->Yield( true, false ); - - if( is_qt_gui_thread ) - break_cyclic_yield_recursion = false; + XEvent event; + XNextEvent( pDisp_, &event ); + if( checkDirectInputEvent( &event )) + return; + qApp->x11ProcessEvent( &event ); } // HACK: When using Qt event loop, input methods (japanese, etc.) will get broken because
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits