vcl/unx/gtk3/gtk3gtkinst.cxx | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-)
New commits: commit a0e1c2e4ff7c89f284442d2e8cb2b1810a1d61f5 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Wed Oct 14 17:22:38 2020 +0100 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Wed Oct 14 21:55:15 2020 +0200 send ComboBox "changed" on autocomplete suggestion and put include_mru into its own function Change-Id: I9e7c669df7c538ae7271b16a0fdc31f102e9333f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104323 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx index 1db06d1cb1c2..9dcf0645c9d4 100644 --- a/vcl/unx/gtk3/gtk3gtkinst.cxx +++ b/vcl/unx/gtk3/gtk3gtkinst.cxx @@ -13726,7 +13726,10 @@ private: { OUString aText = get_text_including_mru(nPos); if (aText != aStartText) - set_active_text(aText); + { + SolarMutexGuard aGuard; + set_active_including_mru(nPos, true); + } select_entry_region(aText.getLength(), aStartText.getLength()); } enable_notify_events(); @@ -14648,6 +14651,13 @@ private: return true; } + int include_mru(int pos) + { + if (m_nMRUCount && pos != -1) + pos += (m_nMRUCount + 1); + return pos; + } + public: GtkInstanceComboBox(GtkBuilder* pComboBuilder, GtkComboBox* pComboBox, GtkInstanceBuilder* pBuilder, bool bTakeOwnership) : GtkInstanceContainer(GTK_CONTAINER(gtk_builder_get_object(pComboBuilder, "box")), pBuilder, bTakeOwnership) @@ -14865,9 +14875,7 @@ public: virtual void set_active(int pos) override { - if (m_nMRUCount && pos != -1) - pos += (m_nMRUCount + 1); - set_active_including_mru(pos, false); + set_active_including_mru(include_mru(pos), false); } virtual OUString get_active_text() const override @@ -14940,9 +14948,7 @@ public: virtual void insert(int pos, const OUString& rText, const OUString* pId, const OUString* pIconName, VirtualDevice* pImageSurface) override { - if (m_nMRUCount && pos != -1) - pos += (m_nMRUCount + 1); - insert_including_mru(pos, rText, pId, pIconName, pImageSurface); + insert_including_mru(include_mru(pos), rText, pId, pIconName, pImageSurface); } virtual void insert_separator(int pos, const OUString& rId) override _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits