diff options
| author | Isaac Freund <ifreund@ifreund.xyz> | 2020-05-17 17:06:05 +0200 |
|---|---|---|
| committer | Isaac Freund <ifreund@ifreund.xyz> | 2020-05-17 17:06:05 +0200 |
| commit | bbfe3bfd603687604a74a08db152381ab80d2bc3 (patch) | |
| tree | 7dc4429753a0741e061431942e23ddd00867344b /src/XdgToplevel.zig | |
| parent | 3fe1edbe3edec7967d0d1c67dc7677da9f6a6f4e (diff) | |
| download | river-bbfe3bfd603687604a74a08db152381ab80d2bc3.tar.gz river-bbfe3bfd603687604a74a08db152381ab80d2bc3.tar.xz | |
Make XdgPopup work with non-XdgToplevel parents
The idea is to use the same struct for layer shell popups.
Diffstat (limited to 'src/XdgToplevel.zig')
| -rw-r--r-- | src/XdgToplevel.zig | 6 |
1 files changed, 3 insertions, 3 deletions
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); } |
