blob: d56db89bbacda4bb091f3ff714f1b3eaf95f91f8 (
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
34
35
36
37
38
39
40
41
42
|
From 37e49e8a22c223b030297f9607bdb748c219e060 Mon Sep 17 00:00:00 2001
From: Philip Withnall <pwithnall@gnome.org>
Date: Tue, 28 May 2024 18:08:27 +0100
Subject: [PATCH] shell-camera-monitor: Fix warning about strict aliasing
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Changing type when casting a double pointer is not strictly allowed in
C. In order to fix compilation with `-fstrict-aliasing`, don’t use
`g_clear_pointer()` for clearing this pointer where the type expected by
the destroy notify function does not match the type stored in the
`ShellCameraMonitor` struct.
This introduces no functional changes.
Signed-off-by: Philip Withnall <pwithnall@gnome.org>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3351>
---
src/shell-camera-monitor.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/shell-camera-monitor.c b/src/shell-camera-monitor.c
index 1e2e0f14569..b2e6e0b2af2 100644
--- a/src/shell-camera-monitor.c
+++ b/src/shell-camera-monitor.c
@@ -298,7 +298,11 @@ shell_camera_monitor_disconnect_core (ShellCameraMonitor *monitor)
g_clear_handle_id (&monitor->delayed_disable_id, g_source_remove);
spa_hook_remove (&monitor->registry_listener);
- g_clear_pointer ((struct pw_proxy**) &monitor->registry, pw_proxy_destroy);
+ if (monitor->registry != NULL)
+ {
+ pw_proxy_destroy ((struct pw_proxy *) monitor->registry);
+ monitor->registry = NULL;
+ }
spa_hook_remove (&monitor->core_listener);
g_clear_pointer (&monitor->core, pw_core_disconnect);
}
--
GitLab
|