diff --git a/0001-gtk3-the-list-combo-box-hack-to-get-internal-buttons.patch b/0001-gtk3-the-list-combo-box-hack-to-get-internal-buttons.patch new file mode 100644 index 0000000..fa8827c --- /dev/null +++ b/0001-gtk3-the-list-combo-box-hack-to-get-internal-buttons.patch @@ -0,0 +1,83 @@ +From 32d348572be221c593d209253737ceb9e6b373d9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= +Date: Thu, 7 Apr 2016 20:55:51 +0100 +Subject: [PATCH] gtk3: the list/combo box hack to get internal buttons no + longer works + +with gtk3-3.20.2 + +Change-Id: I608f3476a82233cb49e0b43c95f5a984d7c89c92 +(cherry picked from commit 70cc48f17a61296021c035f351c3db68bc5e08ad) +--- + vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx | 35 ++----------------------------- + 1 file changed, 2 insertions(+), 33 deletions(-) + +diff --git a/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx b/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx +index 38080e8..31758c8 100644 +--- a/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx ++++ b/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx +@@ -282,10 +282,7 @@ static GtkWidget* gDumbContainer; + static GtkWidget* gSpinBox; + static GtkWidget* gEntryBox; + static GtkWidget* gComboBox; +-static GtkWidget* gComboBoxButtonWidget; +-static GtkWidget* gComboBoxEntryWidget; + static GtkWidget* gListBox; +-static GtkWidget* gListBoxButtonWidget; + static GtkWidget* gMenuBarWidget; + static GtkWidget* gMenuItemMenuBarWidget; + static GtkWidget* gCheckMenuItemWidget; +@@ -2299,26 +2296,6 @@ void GtkData::deInitNWF() + gtk_widget_destroy(gCacheWindow); + } + +-static void get_combo_box_entry_inner_widgets(GtkWidget *widget, gpointer) +-{ +- if (GTK_IS_TOGGLE_BUTTON(widget)) +- { +- gComboBoxButtonWidget = widget; +- } +- else if (GTK_IS_ENTRY(widget)) +- { +- gComboBoxEntryWidget = widget; +- } +-} +- +-void get_combo_box_inner_button(GtkWidget *widget, gpointer) +-{ +- if (GTK_IS_TOGGLE_BUTTON(widget)) +- { +- gListBoxButtonWidget = widget; +- } +-} +- + GtkSalGraphics::GtkSalGraphics( GtkSalFrame *pFrame, GtkWidget *pWindow ) + : SvpSalGraphics(), + mpFrame( pFrame ), +@@ -2423,21 +2400,13 @@ GtkSalGraphics::GtkSalGraphics( GtkSalFrame *pFrame, GtkWidget *pWindow ) + /* Combobox */ + gComboBox = gtk_combo_box_text_new_with_entry(); + getStyleContext(&mpComboboxStyle, gComboBox); +- /* Get ComboBox Entry and Button */ +- gtk_container_forall(GTK_CONTAINER(gComboBox), +- get_combo_box_entry_inner_widgets, +- nullptr); +- mpComboboxButtonStyle = gtk_widget_get_style_context(gComboBoxButtonWidget); ++ mpComboboxButtonStyle = createStyleContext(GtkControlPart::Button, mpComboboxStyle); + + /* Listbox */ + gListBox = gtk_combo_box_text_new(); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(gListBox), "sample"); + getStyleContext(&mpListboxStyle, gListBox); +- /* Get ComboBox Button */ +- gtk_container_forall(GTK_CONTAINER(gListBox), +- get_combo_box_inner_button, +- nullptr); +- mpListboxButtonStyle = gtk_widget_get_style_context(gListBoxButtonWidget); ++ mpListboxButtonStyle = createStyleContext(GtkControlPart::Button, mpListboxStyle); + + /* Frames */ + mpFrameOutStyle = mpFrameInStyle = createStyleContext(GtkControlPart::FrameBorder); +-- +2.7.3 + diff --git a/libreoffice.spec b/libreoffice.spec index a24b393..e7b8e88 100644 --- a/libreoffice.spec +++ b/libreoffice.spec @@ -262,6 +262,7 @@ Patch27: 0001-Resolves-tdf-98636.patch Patch28: 0001-Resolves-tdf-96989-videos-playback-at-maximum-possib.patch Patch29: 0001-delete-hidden-pages-before-deleting-unused-masters.patch Patch30: 0001-tdf-39271-allow-to-export-only-notes-pages.patch +Patch31: 0001-gtk3-the-list-combo-box-hack-to-get-internal-buttons.patch %if ! 0%{?rhel} Patch400: 0001-Update-liborcus-to-0.11.0.patch