[Libreoffice-commits] core.git: 2 commits - vcl/inc vcl/jsdialog

Szymon KÅ‚os (via logerrit) logerrit at kemper.freedesktop.org
Sat Mar 6 13:42:51 UTC 2021


 vcl/inc/jsdialog/jsdialogbuilder.hxx |    3 +++
 vcl/jsdialog/jsdialogbuilder.cxx     |   17 +++++++++++++++--
 2 files changed, 18 insertions(+), 2 deletions(-)

New commits:
commit 15aed21fbf44d44656b8e6aff5affa04d12a6fed
Author:     Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Fri Feb 26 09:00:33 2021 +0100
Commit:     Szymon Kłos <szymon.klos at collabora.com>
CommitDate: Sat Mar 6 14:42:20 2021 +0100

    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 at gmail.com>
    Reviewed-by: Jan Holesovsky <kendy at collabora.com>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111990
    Tested-by: Jenkins
    Reviewed-by: Szymon Kłos <szymon.klos at collabora.com>

diff --git a/vcl/inc/jsdialog/jsdialogbuilder.hxx b/vcl/inc/jsdialog/jsdialogbuilder.hxx
index f07b0dd2e424..e2ff130b52aa 100644
--- a/vcl/inc/jsdialog/jsdialogbuilder.hxx
+++ b/vcl/inc/jsdialog/jsdialogbuilder.hxx
@@ -63,6 +63,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 5515a47d0326..b9d0a308e4bd 100644
--- a/vcl/jsdialog/jsdialogbuilder.cxx
+++ b/vcl/jsdialog/jsdialogbuilder.cxx
@@ -183,10 +183,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)
 {
@@ -199,6 +205,7 @@ void JSDialogSender::sendFullUpdate(bool bForce)
 
 void JSDialogSender::sendClose()
 {
+    mpIdleNotify->clearQueue();
     mpIdleNotify->sendMessage(jsdialog::MessageType::Close, nullptr);
     flush();
 }
commit f1b884b748c8b13d4a8ec344aee6755752508437
Author:     Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Mon Mar 1 10:01:42 2021 +0100
Commit:     Szymon Kłos <szymon.klos at collabora.com>
CommitDate: Sat Mar 6 14:42:10 2021 +0100

    jsdialog: update on treeview clear
    
    Change-Id: I4152e7581ae9172e77474c7f62bd42351636793e
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111733
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Henry Castro <hcastro at collabora.com>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111989
    Tested-by: Jenkins
    Reviewed-by: Szymon Kłos <szymon.klos at collabora.com>

diff --git a/vcl/inc/jsdialog/jsdialogbuilder.hxx b/vcl/inc/jsdialog/jsdialogbuilder.hxx
index d95a5826add0..f07b0dd2e424 100644
--- a/vcl/inc/jsdialog/jsdialogbuilder.hxx
+++ b/vcl/inc/jsdialog/jsdialogbuilder.hxx
@@ -473,6 +473,8 @@ public:
     virtual void remove(int pos) override;
     virtual void remove(const weld::TreeIter& rIter) override;
 
+    virtual void clear() override;
+
     void drag_start();
     void drag_end();
 };
diff --git a/vcl/jsdialog/jsdialogbuilder.cxx b/vcl/jsdialog/jsdialogbuilder.cxx
index 5f4ad0ec2bd2..5515a47d0326 100644
--- a/vcl/jsdialog/jsdialogbuilder.cxx
+++ b/vcl/jsdialog/jsdialogbuilder.cxx
@@ -1120,6 +1120,12 @@ void JSTreeView::remove(const weld::TreeIter& rIter)
     sendUpdate();
 }
 
+void JSTreeView::clear()
+{
+    SalInstanceTreeView::clear();
+    sendUpdate();
+}
+
 void JSTreeView::expand_row(const weld::TreeIter& rIter)
 {
     SalInstanceTreeView::expand_row(rIter);


More information about the Libreoffice-commits mailing list