HdyViewSwitcher: Causing glade to segfault
What problem did you encounter?
In what part of libhandy did you experience the problem? Note that multiple boxes may be checked.
Glade/HdyViewSwitcher
What is the actual behaviour?
Glade segfaults when trying to add a GtkStack to a HdyViewSwitcher with the following warning just before quitting:
GLib-GObject-WARNING **: 00:19:33.565: invalid cast from 'GladePlaceholder' to 'HdyViewSwitcherButton'
What is the expected behaviour?
Not segfault
How to reproduce?
Add HdyViewSwitcher as top level widget, then try to add an existing stack
Which version did you encounter the bug in?
-
I compiled it myself. If you compiled libhandy from source please provide the git revision via e.g. by running git log -1 --pretty=oneline
and pasting the output below.
Releveant logfiles
(glade:9655): GLib-GIO-DEBUG: 00:25:03.859: _g_io_module_get_default: Found default implementation dconf (DConfSettingsBackend) for ‘gsettings-backend’
(glade:9655): dconf-DEBUG: 00:25:03.859: watch_fast: "/org/gnome/desktop/interface/" (establishing: 0, active: 0)
(glade:9655): dconf-DEBUG: 00:25:03.859: watch_fast: "/org/gnome/settings-daemon/peripherals/mouse/" (establishing: 0, active: 0)
(glade:9655): dconf-DEBUG: 00:25:03.859: watch_fast: "/org/gnome/desktop/sound/" (establishing: 0, active: 0)
(glade:9655): dconf-DEBUG: 00:25:03.859: watch_fast: "/org/gnome/desktop/privacy/" (establishing: 0, active: 0)
(glade:9655): dconf-DEBUG: 00:25:03.859: watch_fast: "/org/gnome/desktop/wm/preferences/" (establishing: 0, active: 0)
(glade:9655): dconf-DEBUG: 00:25:03.859: watch_fast: "/org/gnome/settings-daemon/plugins/xsettings/" (establishing: 0, active: 0)
(glade:9655): dconf-DEBUG: 00:25:03.859: watch_fast: "/org/gnome/desktop/a11y/" (establishing: 0, active: 0)
(glade:9655): dconf-DEBUG: 00:25:03.862: watch_established: "/org/gnome/desktop/interface/" (establishing: 1)
(glade:9655): dconf-DEBUG: 00:25:03.862: watch_established: "/org/gnome/settings-daemon/peripherals/mouse/" (establishing: 1)
(glade:9655): dconf-DEBUG: 00:25:03.863: watch_established: "/org/gnome/desktop/sound/" (establishing: 1)
(glade:9655): dconf-DEBUG: 00:25:03.863: watch_established: "/org/gnome/desktop/privacy/" (establishing: 1)
(glade:9655): dconf-DEBUG: 00:25:03.863: watch_established: "/org/gnome/desktop/wm/preferences/" (establishing: 1)
(glade:9655): dconf-DEBUG: 00:25:03.863: watch_established: "/org/gnome/settings-daemon/plugins/xsettings/" (establishing: 1)
(glade:9655): dconf-DEBUG: 00:25:03.863: watch_established: "/org/gnome/desktop/a11y/" (establishing: 1)
(glade:9655): GLib-GIO-DEBUG: 00:25:03.892: _g_io_module_get_default: Found default implementation gvfs (GDaemonVfs) for ‘gio-vfs’
(glade:9655): dconf-DEBUG: 00:25:03.987: watch_fast: "/org/gtk/settings/file-chooser/" (establishing: 0, active: 0)
(glade:9655): Gtk-WARNING **: 00:25:03.988: Content added to the action area of a dialog using header bars
(glade:9655): dconf-DEBUG: 00:25:03.988: watch_established: "/org/gtk/settings/file-chooser/" (establishing: 1)
(glade:9655): Gtk-WARNING **: 00:25:03.988: Content added to the action area of a dialog using header bars
GladeUI-Message: 00:25:04.006: 1 missing displayable value for GtkWidget::events
GladeUI-Message: 00:25:04.006: 1 missing displayable value for GtkWidget::AtkObject::accessible-role
GladeUI-Message: 00:25:04.067: 2 missing displayable value for GtkEntry::input-hints
GladeUI-Message: 00:25:04.176: No displayable values for property GtkMenu::anchor-hints
GladeUI-Message: 00:25:04.218: 2 missing displayable value for GtkAboutDialog::license-type
GladeUI-Message: 00:25:04.334: No displayable values for property HdyArrows::direction
GladeUI-Message: 00:25:04.343: No displayable values for property HdyHeaderBar::centering-policy
GladeUI-Message: 00:25:04.347: No displayable values for property HdyLeaflet::mode-transition-type
GladeUI-Message: 00:25:04.347: No displayable values for property HdyLeaflet::child-transition-type
GladeUI-Message: 00:25:04.352: No displayable values for property HdySqueezer::transition-type
GladeUI-Message: 00:25:04.355: No displayable values for property HdyViewSwitcher::policy
GladeUI-Message: 00:25:04.357: No displayable values for property HdyViewSwitcherBar::policy
GladeUI-Message: 00:25:04.421: No displayable values for property WebKitSettings::hardware-acceleration-policy
GladeUI-Message: 00:25:04.421: Glade needs artwork; a default icon will be used for the following classes:
HdyPreferencesWindow needs an icon named 'widget-libhandy-preferenceswindow'
WebKitSettings needs an icon named 'widget-webkit2gtk-settings'
HdyTitleBar needs an icon named 'widget-libhandy-titlebar'
HdyPreferencesPage needs an icon named 'widget-libhandy-preferencespage'
GThemedIcon needs an icon named 'widget-gtk-themedicon'
HdyColumn needs an icon named 'widget-libhandy-column'
HdyPreferencesRow needs an icon named 'widget-libhandy-preferencesrow'
HdySqueezer needs an icon named 'widget-libhandy-squeezer'
HdyViewSwitcherBar needs an icon named 'widget-libhandy-viewswitcherbar'
HdyDialer needs an icon named 'widget-libhandy-dialer'
HdyActionRow needs an icon named 'widget-libhandy-actionrow'
HdyHeaderGroup needs an icon named 'widget-libhandy-headergroup'
WebKitWebView needs an icon named 'widget-webkit2gtk-webview'
HdyArrows needs an icon named 'widget-libhandy-arrows'
HdyPreferencesGroup needs an icon named 'widget-libhandy-preferencesgroup'
HdyViewSwitcher needs an icon named 'widget-libhandy-viewswitcher'
HdyLeaflet needs an icon named 'widget-libhandy-leaflet'
GtkApplicationWindow needs an icon named 'widget-gtk-applicationwindow'
HdySearchBar needs an icon named 'widget-libhandy-searchbar'
HdyHeaderBar needs an icon named 'widget-libhandy-headerbar'
HdyDialog needs an icon named 'widget-libhandy-dialog'
HdyExpanderRow needs an icon named 'widget-libhandy-expanderrow'
HdyComboRow needs an icon named 'widget-libhandy-comborow'
(glade:9655): GLib-DEBUG: 00:25:04.439: posix_spawn avoided (fd close requested)
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.572: gdk_pixbuf_from_pixdata() called on:
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.572: Encoding raw
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.572: Dimensions: 14 x 14
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.572: Rowstride: 56, Length: 808
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.572: Copy pixels == false
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.576: gdk_pixbuf_from_pixdata() called on:
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.576: Encoding raw
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.576: Dimensions: 14 x 14
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.576: Rowstride: 56, Length: 808
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.576: Copy pixels == false
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.579: gdk_pixbuf_from_pixdata() called on:
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.579: Encoding raw
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.579: Dimensions: 14 x 14
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.579: Rowstride: 56, Length: 808
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.579: Copy pixels == false
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.582: gdk_pixbuf_from_pixdata() called on:
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.582: Encoding raw
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.582: Dimensions: 14 x 14
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.582: Rowstride: 56, Length: 808
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.582: Copy pixels == false
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.587: gdk_pixbuf_from_pixdata() called on:
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.587: Encoding raw
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.587: Dimensions: 14 x 14
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.587: Rowstride: 56, Length: 808
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.587: Copy pixels == false
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.591: gdk_pixbuf_from_pixdata() called on:
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.591: Encoding raw
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.591: Dimensions: 14 x 14
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.591: Rowstride: 56, Length: 808
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.591: Copy pixels == false
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.594: gdk_pixbuf_from_pixdata() called on:
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.594: Encoding raw
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.594: Dimensions: 14 x 14
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.594: Rowstride: 56, Length: 808
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.594: Copy pixels == false
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.596: gdk_pixbuf_from_pixdata() called on:
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.596: Encoding raw
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.596: Dimensions: 14 x 14
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.596: Rowstride: 56, Length: 808
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.596: Copy pixels == false
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.598: gdk_pixbuf_from_pixdata() called on:
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.598: Encoding raw
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.598: Dimensions: 14 x 14
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.598: Rowstride: 56, Length: 808
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.598: Copy pixels == false
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.600: gdk_pixbuf_from_pixdata() called on:
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.600: Encoding raw
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.600: Dimensions: 14 x 14
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.600: Rowstride: 56, Length: 808
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.600: Copy pixels == false
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.602: gdk_pixbuf_from_pixdata() called on:
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.602: Encoding raw
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.602: Dimensions: 14 x 14
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.602: Rowstride: 56, Length: 808
(glade:9655): GdkPixbuf-DEBUG: 00:25:04.602: Copy pixels == false
(glade:9655): Gtk-CRITICAL **: 00:25:07.476: gtk_window_get_default_widget: assertion 'GTK_IS_WINDOW (window)' failed
(glade:9655): Gtk-CRITICAL **: 00:25:07.477: gtk_window_set_default: assertion 'GTK_IS_WINDOW (window)' failed
(glade:9655): GdkPixbuf-DEBUG: 00:25:07.495: gdk_pixbuf_from_pixdata() called on:
(glade:9655): GdkPixbuf-DEBUG: 00:25:07.495: Encoding raw
(glade:9655): GdkPixbuf-DEBUG: 00:25:07.495: Dimensions: 14 x 14
(glade:9655): GdkPixbuf-DEBUG: 00:25:07.495: Rowstride: 56, Length: 808
(glade:9655): GdkPixbuf-DEBUG: 00:25:07.495: Copy pixels == false
Gdk-Message: 00:25:15.116: Window 0x561d2ecfaaf0 is a temporary window without parent, application will not be able to position it on screen.
Gdk-Message: 00:25:15.116: Window 0x561d2ecfaaf0 is a temporary window without parent, application will not be able to position it on screen.
(glade:9655): Gdk-CRITICAL **: 00:25:15.140: gdk_wayland_window_handle_configure_popup: assertion 'impl->transient_for' failed
(glade:9655): GdkPixbuf-DEBUG: 00:25:15.883: gdk_pixbuf_from_pixdata() called on:
(glade:9655): GdkPixbuf-DEBUG: 00:25:15.883: Encoding raw
(glade:9655): GdkPixbuf-DEBUG: 00:25:15.883: Dimensions: 14 x 14
(glade:9655): GdkPixbuf-DEBUG: 00:25:15.883: Rowstride: 56, Length: 808
(glade:9655): GdkPixbuf-DEBUG: 00:25:15.883: Copy pixels == false
(glade:9655): GdkPixbuf-DEBUG: 00:25:15.913: gdk_pixbuf_from_pixdata() called on:
(glade:9655): GdkPixbuf-DEBUG: 00:25:15.913: Encoding raw
(glade:9655): GdkPixbuf-DEBUG: 00:25:15.913: Dimensions: 14 x 14
(glade:9655): GdkPixbuf-DEBUG: 00:25:15.913: Rowstride: 56, Length: 808
(glade:9655): GdkPixbuf-DEBUG: 00:25:15.913: Copy pixels == false
(glade:9655): GdkPixbuf-DEBUG: 00:25:15.915: gdk_pixbuf_from_pixdata() called on:
(glade:9655): GdkPixbuf-DEBUG: 00:25:15.915: Encoding raw
(glade:9655): GdkPixbuf-DEBUG: 00:25:15.915: Dimensions: 14 x 14
(glade:9655): GdkPixbuf-DEBUG: 00:25:15.915: Rowstride: 56, Length: 808
(glade:9655): GdkPixbuf-DEBUG: 00:25:15.915: Copy pixels == false
(glade:9655): GdkPixbuf-DEBUG: 00:25:15.918: gdk_pixbuf_from_pixdata() called on:
(glade:9655): GdkPixbuf-DEBUG: 00:25:15.918: Encoding raw
(glade:9655): GdkPixbuf-DEBUG: 00:25:15.918: Dimensions: 14 x 14
(glade:9655): GdkPixbuf-DEBUG: 00:25:15.918: Rowstride: 56, Length: 808
(glade:9655): GdkPixbuf-DEBUG: 00:25:15.918: Copy pixels == false
(glade:9655): GLib-GObject-WARNING **: 00:25:15.927: invalid cast from 'GladePlaceholder' to 'HdyViewSwitcherButton'
(glade:9655): Gtk-CRITICAL **: 00:25:15.927: gtk_widget_get_preferred_width: assertion 'GTK_IS_WIDGET (widget)' failed
(glade:9655): Gtk-CRITICAL **: 00:25:15.927: gtk_widget_get_preferred_width: assertion 'GTK_IS_WIDGET (widget)' failed
(glade:9655): GLib-GObject-WARNING **: 00:25:15.927: invalid cast from 'GladePlaceholder' to 'HdyViewSwitcherButton'
(glade:9655): Gtk-CRITICAL **: 00:25:15.927: gtk_widget_get_preferred_width: assertion 'GTK_IS_WIDGET (widget)' failed
(glade:9655): Gtk-CRITICAL **: 00:25:15.927: gtk_widget_get_preferred_width: assertion 'GTK_IS_WIDGET (widget)' failed
(glade:9655): GLib-GObject-WARNING **: 00:25:15.927: invalid cast from 'GladePlaceholder' to 'HdyViewSwitcherButton'
(glade:9655): Gtk-CRITICAL **: 00:25:15.927: gtk_widget_get_preferred_width: assertion 'GTK_IS_WIDGET (widget)' failed
(glade:9655): Gtk-CRITICAL **: 00:25:15.927: gtk_widget_get_preferred_width: assertion 'GTK_IS_WIDGET (widget)' failed
(glade:9655): GLib-GObject-WARNING **: 00:25:15.952: invalid cast from 'GladePlaceholder' to 'HdyViewSwitcherButton'
(glade:9655): Gtk-CRITICAL **: 00:25:15.953: gtk_widget_get_preferred_width: assertion 'GTK_IS_WIDGET (widget)' failed
(glade:9655): GLib-GObject-WARNING **: 00:25:15.953: invalid cast from 'GladePlaceholder' to 'HdyViewSwitcherButton'
(glade:9655): Gtk-CRITICAL **: 00:25:15.953: gtk_widget_get_preferred_width: assertion 'GTK_IS_WIDGET (widget)' failed
(glade:9655): GLib-GObject-WARNING **: 00:25:15.953: invalid cast from 'GladePlaceholder' to 'HdyViewSwitcherButton'
(glade:9655): Gtk-CRITICAL **: 00:25:15.953: gtk_widget_get_preferred_width: assertion 'GTK_IS_WIDGET (widget)' failed
(glade:9655): GLib-GObject-WARNING **: 00:25:15.953: invalid cast from 'GladePlaceholder' to 'GtkOrientable'
(glade:9655): Gtk-CRITICAL **: 00:25:15.953: gtk_orientable_set_orientation: assertion 'GTK_IS_ORIENTABLE (orientable)' failed
(glade:9655): GLib-GObject-WARNING **: 00:25:15.953: invalid cast from 'GladePlaceholder' to 'GtkOrientable'
(glade:9655): Gtk-CRITICAL **: 00:25:15.953: gtk_orientable_set_orientation: assertion 'GTK_IS_ORIENTABLE (orientable)' failed
(glade:9655): GLib-GObject-WARNING **: 00:25:15.953: invalid cast from 'GladePlaceholder' to 'GtkOrientable'
(glade:9655): Gtk-CRITICAL **: 00:25:15.953: gtk_orientable_set_orientation: assertion 'GTK_IS_ORIENTABLE (orientable)' failed
(glade:9655): GdkPixbuf-DEBUG: 00:25:21.068: gdk_pixbuf_from_pixdata() called on:
(glade:9655): GdkPixbuf-DEBUG: 00:25:21.068: Encoding raw
(glade:9655): GdkPixbuf-DEBUG: 00:25:21.068: Dimensions: 14 x 14
(glade:9655): GdkPixbuf-DEBUG: 00:25:21.068: Rowstride: 56, Length: 808
(glade:9655): GdkPixbuf-DEBUG: 00:25:21.068: Copy pixels == false
(glade:9655): GdkPixbuf-DEBUG: 00:25:21.192: gdk_pixbuf_from_pixdata() called on:
(glade:9655): GdkPixbuf-DEBUG: 00:25:21.192: Encoding raw
(glade:9655): GdkPixbuf-DEBUG: 00:25:21.192: Dimensions: 14 x 14
(glade:9655): GdkPixbuf-DEBUG: 00:25:21.192: Rowstride: 56, Length: 808
(glade:9655): GdkPixbuf-DEBUG: 00:25:21.192: Copy pixels == false
(glade:9655): GdkPixbuf-DEBUG: 00:25:21.965: gdk_pixbuf_from_pixdata() called on:
(glade:9655): GdkPixbuf-DEBUG: 00:25:21.965: Encoding raw
(glade:9655): GdkPixbuf-DEBUG: 00:25:21.965: Dimensions: 14 x 14
(glade:9655): GdkPixbuf-DEBUG: 00:25:21.965: Rowstride: 56, Length: 808
(glade:9655): GdkPixbuf-DEBUG: 00:25:21.965: Copy pixels == false
(glade:9655): GLib-GObject-WARNING **: 00:25:22.016: invalid cast from 'GladePlaceholder' to 'GtkRadioButton'
(glade:9655): Gtk-CRITICAL **: 00:25:22.016: gtk_radio_button_join_group: assertion 'group_source == NULL || GTK_IS_RADIO_BUTTON (group_source)' failed
(glade:9655): GdkPixbuf-DEBUG: 00:25:22.021: gdk_pixbuf_from_pixdata() called on:
(glade:9655): GdkPixbuf-DEBUG: 00:25:22.021: Encoding raw
(glade:9655): GdkPixbuf-DEBUG: 00:25:22.021: Dimensions: 14 x 14
(glade:9655): GdkPixbuf-DEBUG: 00:25:22.021: Rowstride: 56, Length: 808
(glade:9655): GdkPixbuf-DEBUG: 00:25:22.021: Copy pixels == false
(glade:9655): GLib-GObject-WARNING **: 00:25:22.038: invalid cast from 'GladePlaceholder' to 'HdyViewSwitcherButton'
(glade:9655): Gtk-CRITICAL **: 00:25:22.038: gtk_widget_get_preferred_width: assertion 'GTK_IS_WIDGET (widget)' failed