vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-)
New commits: commit 37a4c09145604a056f48f7484fe87e7d247a7af9 Author: Mark Page <aptit...@btconnect.com> Date: Wed Nov 8 15:23:35 2017 +0000 Prevent GTK assertion with FilePicker dialog If "use-header-bar" property of the dialog is set to TRUE, it uses a GtkHeaderBar for action buttons instead of the action area. Change-Id: I9cebbce76d81ca50538e7d24133aa45e628d29b8 Reviewed-on: https://gerrit.libreoffice.org/44490 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Mark Page <aptit...@btconnect.com> diff --git a/vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx b/vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx index 27841edde9c9..75e87e2eb5c7 100644 --- a/vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx +++ b/vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx @@ -416,8 +416,11 @@ shrinkFilterName( const OUString &rFilterName, bool bAllowNoStar = false ) static void dialog_remove_buttons(GtkWidget *pActionArea) { - GList *pChildren = - gtk_container_get_children( GTK_CONTAINER( pActionArea ) ); + GtkContainer *pContainer = GTK_CONTAINER( pActionArea ); + + g_return_if_fail( pContainer != nullptr ); + + GList *pChildren = gtk_container_get_children( pContainer ); for( GList *p = pChildren; p; p = p->next ) { @@ -436,7 +439,11 @@ dialog_remove_buttons( GtkDialog *pDialog ) #if GTK_CHECK_VERSION(3,0,0) #if GTK_CHECK_VERSION(3,12,0) - dialog_remove_buttons(gtk_dialog_get_header_bar(pDialog)); + GtkWidget *pHeaderBar = gtk_dialog_get_header_bar(pDialog); + if( pHeaderBar != nullptr ) + dialog_remove_buttons( pHeaderBar ); + else + dialog_remove_buttons(gtk_dialog_get_action_area(pDialog)); #endif dialog_remove_buttons(gtk_dialog_get_action_area(pDialog)); #else _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits