From bbfe3bfd603687604a74a08db152381ab80d2bc3 Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Sun, 17 May 2020 17:06:05 +0200 Subject: Make XdgPopup work with non-XdgToplevel parents The idea is to use the same struct for layer shell popups. --- src/XdgToplevel.zig | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/XdgToplevel.zig') diff --git a/src/XdgToplevel.zig b/src/XdgToplevel.zig index 95fee3e..b3806db 100644 --- a/src/XdgToplevel.zig +++ b/src/XdgToplevel.zig @@ -193,9 +193,9 @@ fn handleCommit(listener: ?*c.wl_listener, data: ?*c_void) callconv(.C) void { fn handleNewPopup(listener: ?*c.wl_listener, data: ?*c_void) callconv(.C) void { const self = @fieldParentPtr(Self, "listen_new_popup", listener.?); const wlr_xdg_popup = @ptrCast(*c.wlr_xdg_popup, @alignCast(@alignOf(*c.wlr_xdg_popup), data)); - const server = self.view.output.root.server; + const allocator = self.view.output.root.server.allocator; // This will free itself on destroy - var xdg_popup = server.allocator.create(XdgPopup) catch unreachable; - xdg_popup.init(self, wlr_xdg_popup); + var xdg_popup = allocator.create(XdgPopup) catch unreachable; + xdg_popup.init(self.view.output, &self.view.current_box, wlr_xdg_popup); } -- cgit v1.2.3