summaryrefslogtreecommitdiff
path: root/vcl/unx
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2015-11-24 09:20:29 +0000
committerMichael Meeks <michael.meeks@collabora.com>2015-11-24 09:20:29 +0000
commite8a2170e1884a85b411259c7240d459965bea235 (patch)
tree39b4361597c842832085b4dabf12d57cf0f65583 /vcl/unx
parentf273676325d1865bc08d9617ae2d7c736f6ff8ca (diff)
vcl: fix for kde4.
Change-Id: If68e58a5b1d6dfe7d7851513eed73ec20d1cd912
Diffstat (limited to 'vcl/unx')
-rw-r--r--vcl/unx/kde4/KDEXLib.cxx13
-rw-r--r--vcl/unx/kde4/KDEXLib.hxx4
2 files changed, 10 insertions, 7 deletions
diff --git a/vcl/unx/kde4/KDEXLib.cxx b/vcl/unx/kde4/KDEXLib.cxx
index b6aa2939fc92..8060fb5028c0 100644
--- a/vcl/unx/kde4/KDEXLib.cxx
+++ b/vcl/unx/kde4/KDEXLib.cxx
@@ -276,7 +276,7 @@ void KDEXLib::socketNotifierActivated( int fd )
sdata.handle( fd, sdata.data );
}
-bool KDEXLib::Yield( bool bWait, bool bHandleAllCurrentEvents )
+SalYieldResult KDEXLib::Yield( bool bWait, bool bHandleAllCurrentEvents )
{
if( !m_isGlibEventLoopType )
{
@@ -287,7 +287,9 @@ bool KDEXLib::Yield( bool bWait, bool bHandleAllCurrentEvents )
// otherwise they can remain unhandled for quite a long while
wasEvent = processYield( false, bHandleAllCurrentEvents );
}
- return SalXLib::Yield(bWait, bHandleAllCurrentEvents) || wasEvent;
+ SalYieldResult aResult = SalXLib::Yield(bWait, bHandleAllCurrentEvents);
+ return (aResult == SalYieldResult::EVENT || wasEvent) ?
+ SalYieldResult::EVENT : SalYieldResult::TIMEOUT;
}
// if we are the main thread (which is where the event processing is done),
// good, just do it
@@ -303,11 +305,11 @@ bool KDEXLib::Yield( bool bWait, bool bHandleAllCurrentEvents )
// temporarily do it while checking for new events)
SalYieldMutexReleaser aReleaser;
Q_EMIT processYieldSignal( bWait, bHandleAllCurrentEvents );
- return false;
+ return SalYieldResult::TIMEOUT;
}
}
-bool KDEXLib::processYield( bool bWait, bool bHandleAllCurrentEvents )
+SalYieldResult KDEXLib::processYield( bool bWait, bool bHandleAllCurrentEvents )
{
blockIdleTimeout = !bWait;
QAbstractEventDispatcher* dispatcher = QAbstractEventDispatcher::instance( qApp->thread());
@@ -323,7 +325,8 @@ bool KDEXLib::processYield( bool bWait, bool bHandleAllCurrentEvents )
if( bWait && !wasEvent )
dispatcher->processEvents( QEventLoop::WaitForMoreEvents );
blockIdleTimeout = false;
- return wasEvent;
+ return wasEvent ? SalYieldResult::EVENT
+ : SalYieldResult::TIMEOUT;
}
void KDEXLib::StartTimer( sal_uLong nMS )
diff --git a/vcl/unx/kde4/KDEXLib.hxx b/vcl/unx/kde4/KDEXLib.hxx
index 0e9c0dd455d4..60a4cd1a0b8a 100644
--- a/vcl/unx/kde4/KDEXLib.hxx
+++ b/vcl/unx/kde4/KDEXLib.hxx
@@ -67,7 +67,7 @@ class KDEXLib : public QObject, public SalXLib
void userEventActivated();
void startTimeoutTimer();
void startUserEventTimer();
- bool processYield( bool bWait, bool bHandleAllCurrentEvents );
+ SalYieldResult processYield( bool bWait, bool bHandleAllCurrentEvents );
Q_SIGNALS:
void startTimeoutTimerSignal();
void startUserEventTimerSignal();
@@ -81,7 +81,7 @@ class KDEXLib : public QObject, public SalXLib
virtual ~KDEXLib();
virtual void Init() override;
- virtual bool Yield( bool bWait, bool bHandleAllCurrentEvents ) override;
+ virtual SalYieldResult Yield( bool bWait, bool bHandleAllCurrentEvents ) override;
virtual void Insert( int fd, void* data, YieldFunc pending, YieldFunc queued, YieldFunc handle ) override;
virtual void Remove( int fd ) override;
virtual void StartTimer( sal_uLong nMS ) override;