summaryrefslogtreecommitdiffstats
path: root/platform/linuxbsd/wayland/wayland_thread.cpp
diff options
context:
space:
mode:
authorAlistair Leslie-Hughes <leslie_alistair@hotmail.com>2024-03-09 15:05:30 +1100
committerAlistair Leslie-Hughes <leslie_alistair@hotmail.com>2024-03-09 21:50:55 +1100
commit82a052a008fcd6bdaeb5f8a829798b5acb2540b2 (patch)
treecccb21cb0958e85a6885b306151ee49eed2b27cf /platform/linuxbsd/wayland/wayland_thread.cpp
parentbfa866c3187f79fedc8c6e5f493325f43147cbd7 (diff)
downloadredot-engine-82a052a008fcd6bdaeb5f8a829798b5acb2540b2.tar.gz
wayland: Stop possible Null pointer dereferences
Diffstat (limited to 'platform/linuxbsd/wayland/wayland_thread.cpp')
-rw-r--r--platform/linuxbsd/wayland/wayland_thread.cpp28
1 files changed, 24 insertions, 4 deletions
diff --git a/platform/linuxbsd/wayland/wayland_thread.cpp b/platform/linuxbsd/wayland/wayland_thread.cpp
index 8167642345..2a3d1bedcd 100644
--- a/platform/linuxbsd/wayland/wayland_thread.cpp
+++ b/platform/linuxbsd/wayland/wayland_thread.cpp
@@ -2192,9 +2192,14 @@ void WaylandThread::_wp_tablet_tool_on_done(void *data, struct zwp_tablet_tool_v
void WaylandThread::_wp_tablet_tool_on_removed(void *data, struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2) {
TabletToolState *ts = wp_tablet_tool_get_state(zwp_tablet_tool_v2);
+
+ if (!ts) {
+ return;
+ }
+
SeatState *ss = wl_seat_get_seat_state(ts->wl_seat);
- if (!ts || !ss) {
+ if (!ss) {
return;
}
@@ -2214,9 +2219,14 @@ void WaylandThread::_wp_tablet_tool_on_removed(void *data, struct zwp_tablet_too
void WaylandThread::_wp_tablet_tool_on_proximity_in(void *data, struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2, uint32_t serial, struct zwp_tablet_v2 *tablet, struct wl_surface *surface) {
TabletToolState *ts = wp_tablet_tool_get_state(zwp_tablet_tool_v2);
+
+ if (!ts) {
+ return;
+ }
+
SeatState *ss = wl_seat_get_seat_state(ts->wl_seat);
- if (!ts || !ss) {
+ if (!ss) {
return;
}
@@ -2237,9 +2247,14 @@ void WaylandThread::_wp_tablet_tool_on_proximity_in(void *data, struct zwp_table
void WaylandThread::_wp_tablet_tool_on_proximity_out(void *data, struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2) {
TabletToolState *ts = wp_tablet_tool_get_state(zwp_tablet_tool_v2);
+
+ if (!ts) {
+ return;
+ }
+
SeatState *ss = wl_seat_get_seat_state(ts->wl_seat);
- if (!ts || !ss) {
+ if (!ss) {
return;
}
@@ -2389,9 +2404,14 @@ void WaylandThread::_wp_tablet_tool_on_button(void *data, struct zwp_tablet_tool
void WaylandThread::_wp_tablet_tool_on_frame(void *data, struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2, uint32_t time) {
TabletToolState *ts = wp_tablet_tool_get_state(zwp_tablet_tool_v2);
+
+ if (!ts) {
+ return;
+ }
+
SeatState *ss = wl_seat_get_seat_state(ts->wl_seat);
- if (!ts || !ss) {
+ if (!ss) {
return;
}