summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-office/libreoffice/files/libreoffice-4.2.3.3-kde4-timer-mutex.patch')
-rw-r--r--app-office/libreoffice/files/libreoffice-4.2.3.3-kde4-timer-mutex.patch53
1 files changed, 13 insertions, 40 deletions
diff --git a/app-office/libreoffice/files/libreoffice-4.2.3.3-kde4-timer-mutex.patch b/app-office/libreoffice/files/libreoffice-4.2.3.3-kde4-timer-mutex.patch
index c0f35a734059..1b2b0efc7472 100644
--- a/app-office/libreoffice/files/libreoffice-4.2.3.3-kde4-timer-mutex.patch
+++ b/app-office/libreoffice/files/libreoffice-4.2.3.3-kde4-timer-mutex.patch
@@ -1,46 +1,19 @@
-From 7dba6e0a71d090f06a6a1a39e87572674593b48a Mon Sep 17 00:00:00 2001
-From: Jan-Marek Glogowski <glogow@fbihome.de>
-Date: Mon, 10 Mar 2014 14:44:05 +0000
-Subject: fdo#73115: Always run timeouts as events
-
-Right-click popup menus run click events throught the LO main loop.
-In case of KDE4 the LO main loop is run by a timer in the main thread,
-with Qt::DirectConnection execution.
-
-If the timeout actually starts a nested event loop for a new dialog,
-the timer is blocked, the nested mainloop detects it was started
-from the timeout and drops the blocked timout from polling, which
-blocks any further LibreOffice event loop processing.
-
-This changes the timers to Qt::QueuedConnection, so they always
-generate an event and are processed by the Qt event loop.
-
-Change-Id: Ie626b22be3d8f9b8934bcc5e9e0e67a365549cfc
-(cherry picked from commit aeda478a02523cec146f6af69710f0391061db56)
-Reviewed-on: https://gerrit.libreoffice.org/8514
-Reviewed-by: Caolán McNamara <caolanm@redhat.com>
-Tested-by: Caolán McNamara <caolanm@redhat.com>
----
-diff --git a/vcl/unx/kde4/KDEXLib.cxx b/vcl/unx/kde4/KDEXLib.cxx
-index b4be6d6..4a9b70b 100644
---- a/vcl/unx/kde4/KDEXLib.cxx
-+++ b/vcl/unx/kde4/KDEXLib.cxx
-@@ -67,9 +67,13 @@ KDEXLib::KDEXLib() :
+--- a/vcl/unx/kde4/KDEXLib.cxx 2014-04-08 13:46:25.000000000 +0200
++++ b/vcl/unx/kde4/KDEXLib.cxx 2014-04-14 07:17:30.000000000 +0200
+@@ -67,13 +67,9 @@
eventLoopType( LibreOfficeEventLoop ),
m_bYieldFrozen( false )
{
-- // the timers created here means they belong to the main thread
-- connect( &timeoutTimer, SIGNAL( timeout()), this, SLOT( timeoutActivated()));
-- connect( &userEventTimer, SIGNAL( timeout()), this, SLOT( userEventActivated()));
-+ // the timers created here means they belong to the main thread.
-+ // As the timeoutTimer runs the LO event queue, which may block on a dialog,
-+ // the timer has to use a Qt::QueuedConnection, otherwise the nested event
-+ // loop will detect the blocking timer and drop it from the polling
-+ // freezing LO X11 processing.
-+ connect( &timeoutTimer, SIGNAL( timeout()), this, SLOT( timeoutActivated()), Qt::QueuedConnection );
-+ connect( &userEventTimer, SIGNAL( timeout()), this, SLOT( userEventActivated()), Qt::QueuedConnection );
+- // the timers created here means they belong to the main thread.
+- // As the timeoutTimer runs the LO event queue, which may block on a dialog,
+- // the timer has to use a Qt::QueuedConnection, otherwise the nested event
+- // loop will detect the blocking timer and drop it from the polling
+- // freezing LO X11 processing.
+- connect( &timeoutTimer, SIGNAL( timeout()), this, SLOT( timeoutActivated()), Qt::QueuedConnection );
+- connect( &userEventTimer, SIGNAL( timeout()), this, SLOT( userEventActivated()), Qt::QueuedConnection );
++ // the timers created here means they belong to the main thread
++ connect( &timeoutTimer, SIGNAL( timeout()), this, SLOT( timeoutActivated()));
++ connect( &userEventTimer, SIGNAL( timeout()), this, SLOT( userEventActivated()));
// QTimer::start() can be called only in its (here main) thread, so this will
// forward between threads if needed
---
-cgit v0.9.0.2-2-gbebe