https://bugs.gentoo.org/919197 https://gitlab.gnome.org/GNOME/gdl/-/issues/9 https://salsa.debian.org/rnpalmer-guest/gdl/-/raw/fix1074981/debian/patches/gcc-14-compat-1074981.patch?ref_type=heads From: Rebecca N. Palmer Date: Fri, 6 Dec 2024 20:04:45 +0000 Subject: Allow building with gcc-14 object_class and dock_object_class are the same pointer cast to different types, so either should work but only dock_object_class passes gcc-14 type checking. Closes: #1074981 --- a/gdl/gdl-dock-bar.c +++ b/gdl/gdl-dock-bar.c @@ -425,7 +425,7 @@ gdl_dock_bar_set_master (GdlDockBar *dockbar, if (GDL_IS_DOCK_OBJECT (master)) { master = gdl_dock_object_get_master (GDL_DOCK_OBJECT (master)); } - dockbar->priv->master = g_object_ref (master); + dockbar->priv->master = GDL_DOCK_MASTER (g_object_ref (master)); dockbar->priv->layout_changed_id = g_signal_connect (dockbar->priv->master, "layout-changed", (GCallback) gdl_dock_bar_layout_changed_cb, --- a/gdl/gdl-dock-item.c +++ b/gdl/gdl-dock-item.c @@ -355,7 +355,7 @@ gdl_dock_item_class_init (GdlDockItemClass *klass) container_class->set_focus_child = gdl_dock_item_set_focus_child; gtk_container_class_handle_border_width (container_class); - gdl_dock_object_class_set_is_compound (object_class, FALSE); + gdl_dock_object_class_set_is_compound (dock_object_class, FALSE); dock_object_class->dock_request = gdl_dock_item_dock_request; dock_object_class->dock = gdl_dock_item_dock; dock_object_class->present = gdl_dock_item_present; @@ -744,7 +744,7 @@ gdl_dock_item_set_property (GObject *g_object, case PROP_RESIZE: item->priv->resize = g_value_get_boolean (value); { - GObject * parent = gtk_widget_get_parent (GTK_WIDGET (item)); + GtkWidget * parent = gtk_widget_get_parent (GTK_WIDGET (item)); //if we docked update "resize" child_property of our parent if(parent) { --- a/gdl/gdl-dock-layout.c +++ b/gdl/gdl-dock-layout.c @@ -620,7 +620,7 @@ gdl_dock_layout_set_master (GdlDockLayout *layout, if (GDL_IS_DOCK_OBJECT (master)) { master = gdl_dock_object_get_master (GDL_DOCK_OBJECT (master)); } - layout->priv->master = g_object_ref (master); + layout->priv->master = GDL_DOCK_MASTER (g_object_ref (master)); layout->priv->layout_changed_id = g_signal_connect (layout->priv->master, "layout-changed", (GCallback) gdl_dock_layout_layout_changed_cb,