vcl/unx/gtk3/gtk3gtkinst.cxx | 12 ++++++++++++ 1 file changed, 12 insertions(+)
New commits: commit 74e8f0b63894c921535d949fe0eebb43f7be52ed Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Fri Feb 19 11:52:29 2021 +0000 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Fri Feb 19 15:21:31 2021 +0100 detect if menubutton already has an image and reuse it Change-Id: Id8e48491ad27cd3bfac96817ae1bb4da751c38e2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111210 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 470fae9387ea..5bbc0f125f3d 100644 --- a/vcl/unx/gtk3/gtk3gtkinst.cxx +++ b/vcl/unx/gtk3/gtk3gtkinst.cxx @@ -7586,6 +7586,17 @@ private: } } + static void find_image(GtkWidget *pWidget, gpointer user_data) + { + if (GTK_IS_IMAGE(pWidget)) + { + GtkImage **ppImage = static_cast<GtkImage**>(user_data); + *ppImage = GTK_IMAGE(pWidget); + } + else if (GTK_IS_CONTAINER(pWidget)) + gtk_container_forall(GTK_CONTAINER(pWidget), find_image, user_data); + } + public: GtkInstanceMenuButton(GtkMenuButton* pMenuButton, GtkWidget* pMenuAlign, GtkInstanceBuilder* pBuilder, bool bTakeOwnership) : GtkInstanceToggleButton(GTK_TOGGLE_BUTTON(pMenuButton), pBuilder, bTakeOwnership) @@ -7598,6 +7609,7 @@ public: , m_nSignalId(0) { m_pLabel = gtk_bin_get_child(GTK_BIN(m_pMenuButton)); + find_image(GTK_WIDGET(m_pMenuButton), &m_pImage); m_pBox = formatMenuButton(m_pLabel); } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits