summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2021-04-09 15:24:10 +0100
committerCaolán McNamara <caolanm@redhat.com>2021-04-09 20:54:56 +0200
commit4db804df44b1b4cb9512e02aaac8d45e986a03eb (patch)
treeb0f810f62eb121f3e1f15eb4f6252d42563fa61f /vcl
parentce98bef935dccd79735615a9299b2aa7a1ab0b94 (diff)
enable set_busy_cursor to stack up in the gtk version too
Change-Id: Ib9f8ee5af3e40c7563561d0eebc59f4a4fafcfa4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113888 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/unx/gtk3/gtk3gtkinst.cxx12
1 files changed, 11 insertions, 1 deletions
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index 10df2ee6e317..5ee5a9bf0bb3 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -2109,6 +2109,7 @@ protected:
private:
bool m_bTakeOwnership;
bool m_bDraggedOver;
+ int m_nWaitCount;
sal_uInt16 m_nLastMouseButton;
sal_uInt16 m_nLastMouseClicks;
int m_nPressedButton;
@@ -2480,6 +2481,7 @@ public:
, m_pBuilder(pBuilder)
, m_bTakeOwnership(bTakeOwnership)
, m_bDraggedOver(false)
+ , m_nWaitCount(0)
, m_nLastMouseButton(0)
, m_nLastMouseClicks(0)
, m_nPressedButton(-1)
@@ -3021,7 +3023,15 @@ public:
virtual void set_busy_cursor(bool bBusy) override
{
- set_cursor(m_pWidget, bBusy ? "progress" : nullptr);
+ if (bBusy)
+ ++m_nWaitCount;
+ else
+ --m_nWaitCount;
+ if (m_nWaitCount == 1)
+ set_cursor(m_pWidget, "progress");
+ else if (m_nWaitCount == 0)
+ set_cursor(m_pWidget, nullptr);
+ assert (m_nWaitCount >= 0);
}
virtual void queue_resize() override