summaryrefslogtreecommitdiff
path: root/x11-libs/goocanvas/files/goocanvas-3.0.0-fix-gcc14.patch
blob: ecb54b1e1d27ea0df2f65ccd6cea75fb8f7c3fb2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
https://gitlab.gnome.org/Archive/goocanvas/-/merge_requests/15
https://bugs.gentoo.org/919442

From d025d0eeae1c5266063bdc1476dbdff121bcfa57 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Wed, 31 Jan 2024 17:44:59 +0100
Subject: [PATCH] Fix building with GCC 14

GCC 14 becomes stricter regarging pointer types:

goocanvasitemsimple.c: In function 'goo_canvas_item_simple_set_model':
goocanvasitemsimple.c:1539:15: error: assignment to 'GooCanvasItemModelSimple *' {aka 'struct _GooCanvasItemModelSimple *'} from incompatible pointer type 'GooCanvasItemModel *' {aka 'struct _GooCanvasItemModel *'} [-Wincompatible-pointer-types]
 1539 |   item->model = g_object_ref (model);
      |               ^
make[3]: *** [Makefile:595: goocanvasitemsimple.lo] Error 1

It looks like missing a pointer cast.

<https://bugzilla.redhat.com/2261209>
--- a/src/goocanvasitemsimple.c
+++ b/src/goocanvasitemsimple.c
@@ -1536,7 +1536,7 @@ goo_canvas_item_simple_set_model (GooCanvasItemSimple  *item,
   goo_canvas_item_simple_free_data (item->simple_data);
   g_slice_free (GooCanvasItemSimpleData, item->simple_data);
 
-  item->model = g_object_ref (model);
+  item->model = (GooCanvasItemModelSimple *) g_object_ref (model);
   item->simple_data = &item->model->simple_data;
 
   if (accessibility_enabled)
-- 
GitLab