summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/compositor/compositor_api/qwaylandoutput.cpp4
-rw-r--r--src/compositor/compositor_api/qwaylandseat.cpp4
-rw-r--r--src/compositor/compositor_api/qwaylandsurface.cpp4
-rw-r--r--src/compositor/extensions/qwaylandxdgshell.cpp8
-rw-r--r--src/compositor/extensions/qwaylandxdgshellv6.cpp4
-rw-r--r--src/compositor/wayland_wrapper/qwlregion.cpp4
-rw-r--r--tests/auto/client/shared/mocksurface.cpp4
7 files changed, 24 insertions, 8 deletions
diff --git a/src/compositor/compositor_api/qwaylandoutput.cpp b/src/compositor/compositor_api/qwaylandoutput.cpp
index b1ee9bbe0..c9cc5a136 100644
--- a/src/compositor/compositor_api/qwaylandoutput.cpp
+++ b/src/compositor/compositor_api/qwaylandoutput.cpp
@@ -329,7 +329,9 @@ void QWaylandOutput::initialize()
*/
QWaylandOutput *QWaylandOutput::fromResource(wl_resource *resource)
{
- return static_cast<QWaylandOutputPrivate *>(QWaylandOutputPrivate::Resource::fromResource(resource)->output_object)->q_func();
+ if (auto *r = QWaylandOutputPrivate::Resource::fromResource(resource))
+ return static_cast<QWaylandOutputPrivate *>(r->output_object)->q_func();
+ return nullptr;
}
/*!
diff --git a/src/compositor/compositor_api/qwaylandseat.cpp b/src/compositor/compositor_api/qwaylandseat.cpp
index 957f5ea83..60d4d6fd9 100644
--- a/src/compositor/compositor_api/qwaylandseat.cpp
+++ b/src/compositor/compositor_api/qwaylandseat.cpp
@@ -631,7 +631,9 @@ bool QWaylandSeat::isOwner(QInputEvent *inputEvent) const
*/
QWaylandSeat *QWaylandSeat::fromSeatResource(struct ::wl_resource *resource)
{
- return static_cast<QWaylandSeatPrivate *>(QWaylandSeatPrivate::Resource::fromResource(resource)->seat_object)->q_func();
+ if (auto *r = QWaylandSeatPrivate::Resource::fromResource(resource))
+ return static_cast<QWaylandSeatPrivate *>(r->seat_object)->q_func();
+ return nullptr;
}
/*!
diff --git a/src/compositor/compositor_api/qwaylandsurface.cpp b/src/compositor/compositor_api/qwaylandsurface.cpp
index 9783b5848..632b1757f 100644
--- a/src/compositor/compositor_api/qwaylandsurface.cpp
+++ b/src/compositor/compositor_api/qwaylandsurface.cpp
@@ -748,7 +748,9 @@ QList<QWaylandView *> QWaylandSurface::views() const
*/
QWaylandSurface *QWaylandSurface::fromResource(::wl_resource *res)
{
- return static_cast<QWaylandSurfacePrivate *>(QWaylandSurfacePrivate::Resource::fromResource(res)->surface_object)->q_func();
+ if (auto *r = QWaylandSurfacePrivate::Resource::fromResource(res))
+ return static_cast<QWaylandSurfacePrivate *>(r->surface_object)->q_func();
+ return nullptr;
}
/*!
diff --git a/src/compositor/extensions/qwaylandxdgshell.cpp b/src/compositor/extensions/qwaylandxdgshell.cpp
index 175caea62..90841b117 100644
--- a/src/compositor/extensions/qwaylandxdgshell.cpp
+++ b/src/compositor/extensions/qwaylandxdgshell.cpp
@@ -1127,7 +1127,9 @@ QWaylandSurfaceRole *QWaylandXdgToplevel::role()
*/
QWaylandXdgToplevel *QWaylandXdgToplevel::fromResource(wl_resource *resource)
{
- return static_cast<QWaylandXdgToplevelPrivate *>(QWaylandXdgToplevelPrivate::Resource::fromResource(resource)->xdg_toplevel_object)->q_func();
+ if (auto *r = QWaylandXdgToplevelPrivate::Resource::fromResource(resource))
+ return static_cast<QWaylandXdgToplevelPrivate *>(r->xdg_toplevel_object)->q_func();
+ return nullptr;
}
/*!
@@ -2006,7 +2008,9 @@ void QWaylandXdgPositioner::xdg_positioner_set_offset(QtWaylandServer::xdg_posit
QWaylandXdgPositioner *QWaylandXdgPositioner::fromResource(wl_resource *resource)
{
- return static_cast<QWaylandXdgPositioner *>(Resource::fromResource(resource)->xdg_positioner_object);
+ if (auto *r = Resource::fromResource(resource))
+ return static_cast<QWaylandXdgPositioner *>(r->xdg_positioner_object);
+ return nullptr;
}
Qt::Edges QWaylandXdgPositioner::convertToEdges(anchor anchor)
diff --git a/src/compositor/extensions/qwaylandxdgshellv6.cpp b/src/compositor/extensions/qwaylandxdgshellv6.cpp
index 648f2a1e1..a8b0d3914 100644
--- a/src/compositor/extensions/qwaylandxdgshellv6.cpp
+++ b/src/compositor/extensions/qwaylandxdgshellv6.cpp
@@ -1997,7 +1997,9 @@ void QWaylandXdgPositionerV6::zxdg_positioner_v6_set_offset(QtWaylandServer::zxd
QWaylandXdgPositionerV6 *QWaylandXdgPositionerV6::fromResource(wl_resource *resource)
{
- return static_cast<QWaylandXdgPositionerV6 *>(Resource::fromResource(resource)->zxdg_positioner_v6_object);
+ if (auto *r = Resource::fromResource(resource))
+ return static_cast<QWaylandXdgPositionerV6 *>(r->zxdg_positioner_v6_object);
+ return nullptr;
}
QT_END_NAMESPACE
diff --git a/src/compositor/wayland_wrapper/qwlregion.cpp b/src/compositor/wayland_wrapper/qwlregion.cpp
index 040538411..52c19e946 100644
--- a/src/compositor/wayland_wrapper/qwlregion.cpp
+++ b/src/compositor/wayland_wrapper/qwlregion.cpp
@@ -54,7 +54,9 @@ Region::~Region()
Region *Region::fromResource(struct ::wl_resource *resource)
{
- return static_cast<Region *>(Resource::fromResource(resource)->region_object);
+ if (auto *r = Resource::fromResource(resource))
+ return static_cast<Region *>(r->region_object);
+ return nullptr;
}
void Region::region_destroy_resource(Resource *)
diff --git a/tests/auto/client/shared/mocksurface.cpp b/tests/auto/client/shared/mocksurface.cpp
index 82ce37acb..4de4265d7 100644
--- a/tests/auto/client/shared/mocksurface.cpp
+++ b/tests/auto/client/shared/mocksurface.cpp
@@ -107,7 +107,9 @@ bool Surface::isMapped() const
Surface *Surface::fromResource(struct ::wl_resource *resource)
{
- return static_cast<Surface *>(Resource::fromResource(resource)->surface_object);
+ if (auto *r = Resource::fromResource(resource))
+ return static_cast<Surface *>(r->surface_object);
+ return nullptr;
}
void Surface::surface_destroy_resource(Resource *)