aboutsummaryrefslogtreecommitdiff
path: root/src/XdgToplevel.zig
diff options
context:
space:
mode:
authorIsaac Freund <ifreund@ifreund.xyz>2020-05-17 17:06:05 +0200
committerIsaac Freund <ifreund@ifreund.xyz>2020-05-17 17:06:05 +0200
commitbbfe3bfd603687604a74a08db152381ab80d2bc3 (patch)
tree7dc4429753a0741e061431942e23ddd00867344b /src/XdgToplevel.zig
parent3fe1edbe3edec7967d0d1c67dc7677da9f6a6f4e (diff)
downloadriver-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.zig6
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);
}