diff options
author | Andreas Heinisch <andreas.heinisch@yahoo.de> | 2022-03-17 21:14:10 +0100 |
---|---|---|
committer | Xisco Fauli <xiscofauli@libreoffice.org> | 2022-03-23 09:33:15 +0100 |
commit | 37c1eae8a36e346efc076d90bf69cc03f345e3da (patch) | |
tree | d10703d3dcba6a28587c8115593ff7c7527ac87f | |
parent | 07ab51a3ac3d2c2af417c950d095c1fba49ab2a9 (diff) |
tdf#111924 - Special characters: don't lose focus on context menu
Don't lose focus on the favorite or recently used items in the special
characters dialog when right-clicking them to show the context menu.
Change-Id: Iaedc4bbc6fb627591b9c0cd9a2c44940312eeb1d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131721
Tested-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
(cherry picked from commit ce3e760f9155ac8d80f60054be036e862df7029a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131858
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
-rw-r--r-- | include/vcl/customweld.hxx | 1 | ||||
-rw-r--r-- | sfx2/source/control/charwin.cxx | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/include/vcl/customweld.hxx b/include/vcl/customweld.hxx index a96d8c5522fe..e37555b36777 100644 --- a/include/vcl/customweld.hxx +++ b/include/vcl/customweld.hxx @@ -65,6 +65,7 @@ public: virtual void Hide() { m_pDrawingArea->hide(); } void GrabFocus() { m_pDrawingArea->grab_focus(); } bool HasFocus() const { return m_pDrawingArea->has_focus(); } + bool HasChildFocus() const { return m_pDrawingArea->has_child_focus(); } bool IsVisible() const { return m_pDrawingArea->get_visible(); } bool IsReallyVisible() const { return m_pDrawingArea->is_visible(); } bool IsEnabled() const { return m_pDrawingArea->get_sensitive(); } diff --git a/sfx2/source/control/charwin.cxx b/sfx2/source/control/charwin.cxx index eb5b5662a817..6b7c8cd8b514 100644 --- a/sfx2/source/control/charwin.cxx +++ b/sfx2/source/control/charwin.cxx @@ -189,7 +189,8 @@ void SvxCharView::Paint(vcl::RenderContext& rRenderContext, const tools::Rectang aPoint.setX(-aBoundRect.Left() + (aSize.Width() - aBoundRect.GetWidth()) / 2); } - if (HasFocus()) + // tdf#111924 - don't lose focus on context menu + if (HasFocus() || HasChildFocus()) { rRenderContext.SetFillColor(aHighlightColor); rRenderContext.DrawRect(tools::Rectangle(Point(0, 0), aSize)); |