diff options
author | Szymon Kłos <szymon.klos@collabora.com> | 2021-02-26 09:00:33 +0100 |
---|---|---|
committer | Jan Holesovsky <kendy@collabora.com> | 2021-03-04 10:50:39 +0100 |
commit | be688de877ad5e96836e7bd0a9d70b80d6dabdf2 (patch) | |
tree | 873aad34b7c1a4b15542d7bf67828e3ac8e6ae8d /vcl | |
parent | ed31585336d1d849c1dd9f73372881e0275ce35a (diff) |
jsdialog: stop idle on destruction
be sure timer is stopped after we destroy builder.
if we close abandon previous messages.
Change-Id: I8c5458d14c45660aadecb1559b87d30a32364ff6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111593
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/inc/jsdialog/jsdialogbuilder.hxx | 1 | ||||
-rw-r--r-- | vcl/jsdialog/jsdialogbuilder.cxx | 11 |
2 files changed, 10 insertions, 2 deletions
diff --git a/vcl/inc/jsdialog/jsdialogbuilder.hxx b/vcl/inc/jsdialog/jsdialogbuilder.hxx index cb4a46ada304..c228967eb0f5 100644 --- a/vcl/inc/jsdialog/jsdialogbuilder.hxx +++ b/vcl/inc/jsdialog/jsdialogbuilder.hxx @@ -64,6 +64,7 @@ public: void Invoke() override; + void clearQueue(); void forceUpdate(); void sendMessage(jsdialog::MessageType eType, VclPtr<vcl::Window> pWindow); diff --git a/vcl/jsdialog/jsdialogbuilder.cxx b/vcl/jsdialog/jsdialogbuilder.cxx index 518a1ca25cf3..573c9a817310 100644 --- a/vcl/jsdialog/jsdialogbuilder.cxx +++ b/vcl/jsdialog/jsdialogbuilder.cxx @@ -174,10 +174,16 @@ void JSDialogNotifyIdle::Invoke() } } - m_aMessageQueue.clear(); + clearQueue(); } -JSDialogSender::~JSDialogSender() { sendClose(); } +void JSDialogNotifyIdle::clearQueue() { m_aMessageQueue.clear(); } + +JSDialogSender::~JSDialogSender() +{ + sendClose(); + mpIdleNotify->Stop(); +} void JSDialogSender::sendFullUpdate(bool bForce) { @@ -190,6 +196,7 @@ void JSDialogSender::sendFullUpdate(bool bForce) void JSDialogSender::sendClose() { + mpIdleNotify->clearQueue(); mpIdleNotify->sendMessage(jsdialog::MessageType::Close, nullptr); flush(); } |