deps: update to latest zig-wlroots

This fixes the return type of Foo.fromWlrSurface() functions which can
in fact return null in the edge case that the role matches but the
corresponding object has already been destroyed.
This commit is contained in:
Isaac Freund
2022-07-01 20:53:45 +02:00
parent db366e9455
commit 7402cb8aea
2 changed files with 5 additions and 7 deletions

View File

@ -422,16 +422,14 @@ pub fn move(self: *Self, delta_x: i32, delta_y: i32) void {
/// Find and return the view corresponding to a given surface, if any
pub fn fromWlrSurface(surface: *wlr.Surface) ?*Self {
if (surface.isXdgSurface()) {
const xdg_surface = wlr.XdgSurface.fromWlrSurface(surface);
const xdg_surface = wlr.XdgSurface.fromWlrSurface(surface) orelse return null;
if (xdg_surface.role == .toplevel) {
return @intToPtr(*Self, xdg_surface.data);
}
}
if (build_options.xwayland) {
if (surface.isXWaylandSurface()) {
const xwayland_surface = wlr.XwaylandSurface.fromWlrSurface(surface);
return @intToPtr(?*Self, xwayland_surface.data);
}
if (build_options.xwayland and surface.isXWaylandSurface()) {
const xwayland_surface = wlr.XwaylandSurface.fromWlrSurface(surface) orelse return null;
return @intToPtr(?*Self, xwayland_surface.data);
}
if (surface.isSubsurface()) {
if (wlr.Subsurface.fromWlrSurface(surface)) |ss| {