starmath/uiconfig/smath/ui/dockingelements.ui |    1 +
 vcl/unx/gtk3/gtkinst.cxx                      |   11 +++++++----
 2 files changed, 8 insertions(+), 4 deletions(-)

New commits:
commit b73e350c797535337b20165a0325434ddc0395c3
Author:     Mike Kaganski <mike.kagan...@collabora.com>
AuthorDate: Tue Jun 7 11:52:07 2022 +0300
Commit:     Mike Kaganski <mike.kagan...@collabora.com>
CommitDate: Tue Jun 7 12:36:46 2022 +0200

    Fix ImageView without text on GTK
    
    Change-Id: I2c1884722de2d40e96282d1efbba4be0ad078bd2
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135465
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com>
    (cherry picked from commit 6ccff201088590274247fb9f63b7fa997cfee327)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135380
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com>

diff --git a/starmath/uiconfig/smath/ui/dockingelements.ui 
b/starmath/uiconfig/smath/ui/dockingelements.ui
index a7dfec85ebaf..a9f1086204f8 100644
--- a/starmath/uiconfig/smath/ui/dockingelements.ui
+++ b/starmath/uiconfig/smath/ui/dockingelements.ui
@@ -41,6 +41,7 @@
             <property name="visible">True</property>
             <property name="can-focus">True</property>
             <property name="margin">6</property>
+            <property name="has-tooltip">True</property>
             <property name="hexpand">True</property>
             <property name="vexpand">True</property>
             <property name="model">liststore1</property>
diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx
index d01f8fae7d45..5ef64a01e4f0 100644
--- a/vcl/unx/gtk3/gtkinst.cxx
+++ b/vcl/unx/gtk3/gtkinst.cxx
@@ -15988,9 +15988,10 @@ private:
 
     void insert_item(GtkTreeIter& iter, int pos, const OUString* pId, const 
OUString* pText, const OUString* pIconName)
     {
+        // m_nTextCol may be -1, so pass it last, to not terminate the 
sequence before the Id value
         gtk_tree_store_insert_with_values(m_pTreeStore, &iter, nullptr, pos,
-                                          m_nTextCol, !pText ? nullptr : 
OUStringToOString(*pText, RTL_TEXTENCODING_UTF8).getStr(),
                                           m_nIdCol, !pId ? nullptr : 
OUStringToOString(*pId, RTL_TEXTENCODING_UTF8).getStr(),
+                                          m_nTextCol, !pText ? nullptr : 
OUStringToOString(*pText, RTL_TEXTENCODING_UTF8).getStr(),
                                           -1);
         if (pIconName)
         {
@@ -16003,9 +16004,10 @@ private:
 
     void insert_item(GtkTreeIter& iter, int pos, const OUString* pId, const 
OUString* pText, const VirtualDevice* pIcon)
     {
+        // m_nTextCol may be -1, so pass it last, to not terminate the 
sequence before the Id value
         gtk_tree_store_insert_with_values(m_pTreeStore, &iter, nullptr, pos,
-                                          m_nTextCol, !pText ? nullptr : 
OUStringToOString(*pText, RTL_TEXTENCODING_UTF8).getStr(),
                                           m_nIdCol, !pId ? nullptr : 
OUStringToOString(*pId, RTL_TEXTENCODING_UTF8).getStr(),
+                                          m_nTextCol, !pText ? nullptr : 
OUStringToOString(*pText, RTL_TEXTENCODING_UTF8).getStr(),
                                           -1);
         if (pIcon)
         {
@@ -16053,7 +16055,7 @@ public:
         : GtkInstanceWidget(GTK_WIDGET(pIconView), pBuilder, bTakeOwnership)
         , m_pIconView(pIconView)
         , m_pTreeStore(GTK_TREE_STORE(gtk_icon_view_get_model(m_pIconView)))
-        , m_nTextCol(gtk_icon_view_get_text_column(m_pIconView))
+        , m_nTextCol(gtk_icon_view_get_text_column(m_pIconView)) // May be -1
         , m_nImageCol(gtk_icon_view_get_pixbuf_column(m_pIconView))
         , m_nSelectionChangedSignalId(g_signal_connect(pIconView, 
"selection-changed",
                                       G_CALLBACK(signalSelectionChanged), 
this))
@@ -16063,7 +16065,7 @@ public:
 #endif
         , m_pSelectionChangeEvent(nullptr)
     {
-        m_nIdCol = m_nTextCol + 1;
+        m_nIdCol = std::max(m_nTextCol, m_nImageCol) + 1;
     }
 
     virtual int get_item_width() const override
@@ -16112,6 +16114,7 @@ public:
     {
         weld::IconView::connect_query_tooltip(rLink);
         m_nQueryTooltipSignalId = g_signal_connect(m_pIconView, 
"query-tooltip", G_CALLBACK(signalQueryTooltip), this);
+        gtk_widget_set_has_tooltip(GTK_WIDGET(m_pIconView), true);
     }
 
     virtual OUString get_selected_id() const override

Reply via email to