diff options
author | Caolán McNamara <caolanm@redhat.com> | 2021-04-22 17:26:31 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2021-08-16 10:14:29 +0200 |
commit | e0155f6bb6c209593bea73c87076715b7599fcbc (patch) | |
tree | 59b063557fda869bfb52c83d172ecc4a9b9bbc80 /sw | |
parent | d8bc16bd5119a9921955b530442f7aed1eff900b (diff) |
undo blocking emitting focus events during grab_focus
revert...
commit f97dbac73fe149e8fed0932890d0c1d6be4869a3
Author: Caolán McNamara <caolanm@redhat.com>
Date: Wed Jun 26 21:00:02 2019 +0100
infinite focus changing in toc biblio page
which blocked calling focus-changed callbacks when grab_focus is called
explicitly analogous to how we block value-changed callbacks setting
values through code but don't block them when the value is changed by
user interaction.
In retrospect that was a poor choice, so revert that and subsequent
workarounds in favour of just not calling gtk_grab_focus if the widget
already has focus.
checked:
a) tdf#138427 focus set to wrong input box
b) tdf#138078 only call GetFocus if we gained focus from an unfocused state
c) tdf#137993 ensure the toplevel vcl::Window is activated
d) tdf#136941 call focus in handler explicitly
Change-Id: I411480e2d627aa9995fb41b0aa17e9fb6d34d73f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114524
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit db1cf111666847ce5ce93d18ae5ae8c29a4c44d6)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120079
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/ui/dbui/createaddresslistdialog.cxx | 1 | ||||
-rw-r--r-- | sw/source/uibase/inc/conttree.hxx | 2 |
2 files changed, 0 insertions, 3 deletions
diff --git a/sw/source/ui/dbui/createaddresslistdialog.cxx b/sw/source/ui/dbui/createaddresslistdialog.cxx index e910fc476a61..969bff35d7ad 100644 --- a/sw/source/ui/dbui/createaddresslistdialog.cxx +++ b/sw/source/ui/dbui/createaddresslistdialog.cxx @@ -206,7 +206,6 @@ void SwAddressControl_Impl::SetCursorTo(std::size_t nElement) { weld::Entry* pEdit = m_aLines[nElement]->m_xEntry.get(); pEdit->grab_focus(); - GotFocusHdl_Impl(*pEdit); } } diff --git a/sw/source/uibase/inc/conttree.hxx b/sw/source/uibase/inc/conttree.hxx index 741478f02d74..107cc3bc6f90 100644 --- a/sw/source/uibase/inc/conttree.hxx +++ b/sw/source/uibase/inc/conttree.hxx @@ -249,7 +249,6 @@ public: void grab_focus() { m_xTreeView->grab_focus(); - FocusHdl(*m_xTreeView); } OUString get_selected_text() const @@ -345,7 +344,6 @@ public: void grab_focus() { m_xTreeView->grab_focus(); - FocusInHdl(*m_xTreeView); } void set_selection_mode(SelectionMode eMode) |