svx/source/dialog/weldeditview.cxx |    5 +++++
 vcl/unx/gtk3/gtk3gtksalmenu.cxx    |   13 +++++++++++++
 2 files changed, 18 insertions(+)

New commits:
commit 3a5808f5e43f5e190b3f1c759563a951b5bb0d08
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Mon Oct 12 10:48:49 2020 +0100
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Mon Oct 12 15:28:59 2020 +0200

    CaptureMouse on mouse-down and ReleaseMouse on mouse-up
    
    Change-Id: I6a2096151bbe7b2bdf9210b3d023926270a9987a
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104211
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/svx/source/dialog/weldeditview.cxx 
b/svx/source/dialog/weldeditview.cxx
index 9d79d78c961c..e7d90fab15b8 100644
--- a/svx/source/dialog/weldeditview.cxx
+++ b/svx/source/dialog/weldeditview.cxx
@@ -132,6 +132,9 @@ bool WeldEditView::MouseMove(const MouseEvent& rMEvt)
 
 bool WeldEditView::MouseButtonDown(const MouseEvent& rMEvt)
 {
+    if (!IsMouseCaptured())
+        CaptureMouse();
+
     if (!HasFocus())
     {
         GrabFocus();
@@ -143,6 +146,8 @@ bool WeldEditView::MouseButtonDown(const MouseEvent& rMEvt)
 
 bool WeldEditView::MouseButtonUp(const MouseEvent& rMEvt)
 {
+    if (IsMouseCaptured())
+        ReleaseMouse();
     return m_xEditView && m_xEditView->MouseButtonUp(rMEvt);
 }
 
commit f3692a9260f6f51be89f460ec9cb3bd517952b95
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Mon Oct 12 10:12:56 2020 +0100
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Mon Oct 12 15:28:35 2020 +0200

    similar to tdf#120764 dismiss tooltips on showing popup menu
    
    Change-Id: I4a3dd3d30fcab84bf9987f71a9c9cf0657ecfbb6
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104210
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/vcl/unx/gtk3/gtk3gtksalmenu.cxx b/vcl/unx/gtk3/gtk3gtksalmenu.cxx
index 94e2134e151a..9c02cf50e329 100644
--- a/vcl/unx/gtk3/gtk3gtksalmenu.cxx
+++ b/vcl/unx/gtk3/gtk3gtksalmenu.cxx
@@ -433,6 +433,16 @@ bool GtkSalMenu::ShowNativePopupMenu(FloatingWindow* pWin, 
const tools::Rectangl
     GMainLoop* pLoop = g_main_loop_new(nullptr, true);
     g_signal_connect_swapped(G_OBJECT(pWidget), "deactivate", 
G_CALLBACK(g_main_loop_quit), pLoop);
 
+
+    // tdf#120764 It isn't allowed under wayland to have two visible popups 
that share
+    // the same top level parent. The problem is that since gtk 3.24 tooltips 
are also
+    // implemented as popups, which means that we cannot show any popup if 
there is a
+    // visible tooltip.
+    // hide any current tooltip
+    mpFrame->HideTooltip();
+    // don't allow any more to appear until menu is dismissed
+    mpFrame->BlockTooltip();
+
 #if GTK_CHECK_VERSION(3,22,0)
     if (gtk_check_version(3, 22, 0) == nullptr)
     {
@@ -509,6 +519,9 @@ bool GtkSalMenu::ShowNativePopupMenu(FloatingWindow* pWin, 
const tools::Rectangl
     g_object_unref(mpActionGroup);
     ClearActionGroupAndMenuModel();
 
+    // undo tooltip blocking
+    mpFrame->UnblockTooltip();
+
     mpFrame = nullptr;
 
     return true;
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to