diff options
author | Caolán McNamara <caolanm@redhat.com> | 2020-04-16 09:26:20 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2020-04-16 20:28:49 +0200 |
commit | d89a8ae8f963b3b49db920715cfdee11486764e5 (patch) | |
tree | 2fba990107dbaa557cafae24c6e463e3f888a313 /vcl/unx/gtk3/gtk3gtkframe.cxx | |
parent | bc0e0f633b05c4f91b6695488fc9e5c127507ba5 (diff) |
don't allow tooltips from parent to appear while popup menu is active
Change-Id: Ic2ddff3e22a667af992d6b0701f43d3a89153458
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92371
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl/unx/gtk3/gtk3gtkframe.cxx')
-rw-r--r-- | vcl/unx/gtk3/gtk3gtkframe.cxx | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/vcl/unx/gtk3/gtk3gtkframe.cxx b/vcl/unx/gtk3/gtk3gtkframe.cxx index 18db569607ee..588081965554 100644 --- a/vcl/unx/gtk3/gtk3gtkframe.cxx +++ b/vcl/unx/gtk3/gtk3gtkframe.cxx @@ -928,6 +928,7 @@ void GtkSalFrame::InitCommon() m_pDropTarget = nullptr; m_pDragSource = nullptr; m_bGeometryIsProvisional = false; + m_bTooltipBlocked = false; m_ePointerStyle = static_cast<PointerStyle>(0xffff); m_pSalMenu = nullptr; m_nWatcherId = 0; @@ -2344,7 +2345,7 @@ gboolean GtkSalFrame::signalTooltipQuery(GtkWidget*, gint /*x*/, gint /*y*/, gpointer frame) { GtkSalFrame* pThis = static_cast<GtkSalFrame*>(frame); - if (pThis->m_aTooltip.isEmpty()) + if (pThis->m_aTooltip.isEmpty() || pThis->m_bTooltipBlocked) return false; gtk_tooltip_set_text(tooltip, OUStringToOString(pThis->m_aTooltip, RTL_TEXTENCODING_UTF8).getStr()); @@ -2367,10 +2368,21 @@ bool GtkSalFrame::ShowTooltip(const OUString& rHelpText, const tools::Rectangle& return true; } +void GtkSalFrame::BlockTooltip() +{ + m_bTooltipBlocked = true; +} + +void GtkSalFrame::UnblockTooltip() +{ + m_bTooltipBlocked = false; +} + void GtkSalFrame::HideTooltip() { m_aTooltip.clear(); - gtk_widget_trigger_tooltip_query(getMouseEventWidget()); + GtkWidget* pEventWidget = getMouseEventWidget(); + gtk_widget_trigger_tooltip_query(pEventWidget); } namespace |