diff options
Diffstat (limited to 'include/vcl/customweld.hxx')
-rw-r--r-- | include/vcl/customweld.hxx | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/vcl/customweld.hxx b/include/vcl/customweld.hxx index df7b97e070d7..b19b64bf980e 100644 --- a/include/vcl/customweld.hxx +++ b/include/vcl/customweld.hxx @@ -65,8 +65,10 @@ public: virtual void Hide() { m_pDrawingArea->hide(); } void GrabFocus() { + bool bHadFocus = m_pDrawingArea->has_focus(); m_pDrawingArea->grab_focus(); - if (m_pDrawingArea->has_focus()) + // tdf#138078 only call GetFocus if we gained focus from an unfocused state + if (!bHadFocus && m_pDrawingArea->has_focus()) GetFocus(); } bool HasFocus() const { return m_pDrawingArea->has_focus(); } |