gtk+3: fix incompatible-pointer-types errors for native build on Fedora 41

Backport 2 patchs to fix incompatible-pointer-types error when building
gtk+3-native on Fedora 41 host:
  tests/testinput.c:197:79: error: passing argument 1 of ‘gdk_event_get_source_device’ from incompatible pointer type [-Wincompatible-pointer-types]
  gtk/gtklabel.c:4235:32: error: passing argument 1 of ‘gtk_widget_queue_resize’ from incompatible pointer type [-Wincompatible-pointer-types]

On autobuilder: fedora41-vk-1:~$ gcc --version
gcc (GCC) 14.3.1 20251022 (Red Hat 14.3.1-4)

GCC 14 notoriously restricted how pointer types are converted:
https://gcc.gnu.org/gcc-14/porting_to.html#incompatible-pointer-types

Suggested-by: Fabien Thomas <fabien.thomas@smile.fr>
(From OE-Core rev: 99c8e2def939f0801a67fb8384c57d08732dd020)

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
This commit is contained in:
Yoann Congal
2026-03-14 16:15:24 +01:00
committed by Paul Barker
parent 53045adf7b
commit d8712ea143
3 changed files with 78 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
From a3e82f20a1a1e7d8ffbc960a8bb4aa65b0d151ee Mon Sep 17 00:00:00 2001
From: Yoann Congal <yoann.congal@smile.fr>
Date: Tue, 6 Dec 2022 21:49:22 +0000
Subject: [PATCH] Use the right type when calling GtkWidget methods
From: Emmanuele Bassi <ebassi@gnome.org>
Let's avoid complaints from the compiler.
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gtk/-/commit/a3e82f20a1a1e7d8ffbc960a8bb4aa65b0d151ee]
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
gtk/gtklabel.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c
index 7933ab2af73..40a569004b6 100644
--- a/gtk/gtklabel.c
+++ b/gtk/gtklabel.c
@@ -4232,7 +4232,7 @@ gtk_label_style_updated (GtkWidget *widget)
if (change == NULL || gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_FONT))
{
gtk_label_clear_layout (GTK_LABEL (widget));
- gtk_widget_queue_resize (label);
+ gtk_widget_queue_resize (widget);
}
if (change == NULL || gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_TEXT_ATTRS) ||

View File

@@ -0,0 +1,48 @@
From 76bc2a57136fd6cf0374fa3f86a7ba646b779803 Mon Sep 17 00:00:00 2001
From: Yoann Congal <yoann.congal@smile.fr>
Date: Fri, 19 Jan 2024 10:41:33 +0000
Subject: [PATCH] tests: Add GdkEvent casts in testinput
From: David King <amigadave@amigadave.com>
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gtk/-/commit/76bc2a57136fd6cf0374fa3f86a7ba646b779803]
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
tests/testinput.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/tests/testinput.c b/tests/testinput.c
index b68552a4280..3d4d7f6f875 100644
--- a/tests/testinput.c
+++ b/tests/testinput.c
@@ -194,7 +194,7 @@ button_press_event (GtkWidget *widget, GdkEventButton *event)
print_axes (event->device, event->axes);
gdk_event_get_axis ((GdkEvent *)event, GDK_AXIS_PRESSURE, &pressure);
- draw_brush (widget, gdk_device_get_source (gdk_event_get_source_device (event)),
+ draw_brush (widget, gdk_device_get_source (gdk_event_get_source_device ((GdkEvent *)event)),
event->x, event->y, pressure);
motion_time = event->time;
@@ -239,10 +239,10 @@ motion_notify_event (GtkWidget *widget, GdkEventMotion *event)
gdk_device_get_axis (event->device, events[i]->axes, GDK_AXIS_X, &x);
gdk_device_get_axis (event->device, events[i]->axes, GDK_AXIS_Y, &y);
gdk_device_get_axis (event->device, events[i]->axes, GDK_AXIS_PRESSURE, &pressure);
- draw_brush (widget, gdk_device_get_source (gdk_event_get_source_device (event)),
+ draw_brush (widget, gdk_device_get_source (gdk_event_get_source_device ((GdkEvent *)event)),
x, y, pressure);
- print_axes (gdk_event_get_source_device (event), events[i]->axes);
+ print_axes (gdk_event_get_source_device ((GdkEvent *)event), events[i]->axes);
}
gdk_device_free_history (events, n_events);
}
@@ -252,7 +252,7 @@ motion_notify_event (GtkWidget *widget, GdkEventMotion *event)
gdk_event_get_axis ((GdkEvent *)event, GDK_AXIS_PRESSURE, &pressure);
- draw_brush (widget, gdk_device_get_source (gdk_event_get_source_device (event)),
+ draw_brush (widget, gdk_device_get_source (gdk_event_get_source_device ((GdkEvent *)event)),
event->x, event->y, pressure);
}
motion_time = event->time;

View File

@@ -7,6 +7,8 @@ SRC_URI = "${GNOME_MIRROR}/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \
file://0003-Add-disable-opengl-configure-option.patch \
file://link_fribidi.patch \
file://CVE-2024-6655.patch \
file://0001-Use-the-right-type-when-calling-GtkWidget-methods.patch \
file://0002-tests-Add-GdkEvent-casts-in-testinput.patch \
"
SRC_URI[sha256sum] = "dbc69f90ddc821b8d1441f00374dc1da4323a2eafa9078e61edbe5eeefa852ec"