diff options
author | V3n3RiX <venerix@rogentos.ro> | 2016-02-26 23:50:05 +0000 |
---|---|---|
committer | V3n3RiX <venerix@rogentos.ro> | 2016-02-26 23:50:05 +0000 |
commit | ed40676841e317a2aafa04c4c804bb6043864740 (patch) | |
tree | 91c5e4b12acc09eabb2b1234eb633aa78af224d2 /app-office/libreoffice/files/libreoffice-4.1.3.2-kde-calchang.patch | |
parent | dc106bfbeb980942a8490753d6883eb34b13ea12 (diff) |
repo cleanup...drop old ebuilds, drop ebuilds already in portage tree
Diffstat (limited to 'app-office/libreoffice/files/libreoffice-4.1.3.2-kde-calchang.patch')
-rw-r--r-- | app-office/libreoffice/files/libreoffice-4.1.3.2-kde-calchang.patch | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/app-office/libreoffice/files/libreoffice-4.1.3.2-kde-calchang.patch b/app-office/libreoffice/files/libreoffice-4.1.3.2-kde-calchang.patch deleted file mode 100644 index 8cf3a2b3..00000000 --- a/app-office/libreoffice/files/libreoffice-4.1.3.2-kde-calchang.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 95f60222e75486336b6569afa8f34d60b51c94ad Mon Sep 17 00:00:00 2001 -From: Jan-Marek Glogowski <glogow@fbihome.de> -Date: Thu, 21 Nov 2013 12:40:57 +0100 -Subject: [PATCH] fdo#67011: Run Display::Yield through KDEXLib::Yield. - -Drag'n'Drop is handled in a second thread, which tries to "yield -the display" while the main Qt thread probably is already -yielding. Both need the YieldMutex, which freezes the application -until the D'n'D thread times out. - -Trying to yield the display throught the application yield -results in a recursive loop. - -So this catches and breaks the recursion, but just inside the Qt -thread, so other processes can "yield on the display", instead -of simply disabling the Display::Yield. - -Change-Id: Ifba91aa89fe5b0a89cc94820935dc996a065112f -Reviewed-on: https://gerrit.libreoffice.org/6750 -Tested-by: Jan-Marek Glogowski <glogow@fbihome.de> -Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> ---- - vcl/unx/kde4/KDESalDisplay.cxx | 22 ++++++++++++++++------ - 1 file changed, 16 insertions(+), 6 deletions(-) - -diff --git a/vcl/unx/kde4/KDESalDisplay.cxx b/vcl/unx/kde4/KDESalDisplay.cxx -index 21440fc..ee330e7 100644 ---- a/vcl/unx/kde4/KDESalDisplay.cxx -+++ b/vcl/unx/kde4/KDESalDisplay.cxx -@@ -25,6 +25,8 @@ - #include <assert.h> - #include <unx/saldata.hxx> - -+#include <qthread.h> -+ - SalKDEDisplay* SalKDEDisplay::selfptr = NULL; - - SalKDEDisplay::SalKDEDisplay( Display* pDisp ) -@@ -48,18 +50,26 @@ SalKDEDisplay::~SalKDEDisplay() - - void SalKDEDisplay::Yield() - { -- if( DispatchInternalEvent() ) -+ // 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 ) - 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" ); - -- XEvent event; -- XNextEvent( pDisp_, &event ); -- if( checkDirectInputEvent( &event )) -- return; -- qApp->x11ProcessEvent( &event ); -+ static_cast<KDEXLib*>(GetXLib())->Yield( true, false ); -+ -+ if( is_qt_gui_thread ) -+ break_cyclic_yield_recursion = false; - } - - // HACK: When using Qt event loop, input methods (japanese, etc.) will get broken because --- -1.8.5.1 - |