Merge branch 'master' of https://codeberg.org/river/river
This commit is contained in:
@ -55,7 +55,6 @@ pub fn create(wlr_layer_surface: *wlr.LayerSurfaceV1) error{OutOfMemory}!void {
|
||||
.scene_layer_surface = try layer_tree.createSceneLayerSurfaceV1(wlr_layer_surface),
|
||||
.popup_tree = try output.layers.popups.createSceneTree(),
|
||||
};
|
||||
wlr_layer_surface.data = @intFromPtr(layer_surface);
|
||||
|
||||
try SceneNodeData.attach(&layer_surface.scene_layer_surface.tree.node, .{ .layer_surface = layer_surface });
|
||||
try SceneNodeData.attach(&layer_surface.popup_tree.node, .{ .layer_surface = layer_surface });
|
||||
@ -93,6 +92,9 @@ fn handleDestroy(listener: *wl.Listener(*wlr.LayerSurfaceV1), _: *wlr.LayerSurfa
|
||||
|
||||
layer_surface.popup_tree.node.destroy();
|
||||
|
||||
// The wlr_surface may outlive the wlr_layer_surface so we must clean up the user data.
|
||||
layer_surface.wlr_layer_surface.surface.data = 0;
|
||||
|
||||
util.gpa.destroy(layer_surface);
|
||||
}
|
||||
|
||||
|
@ -85,6 +85,9 @@ pub fn destroy(lock_surface: *LockSurface) void {
|
||||
lock_surface.map.link.remove();
|
||||
lock_surface.surface_destroy.link.remove();
|
||||
|
||||
// The wlr_surface may outlive the wlr_lock_surface so we must clean up the user data.
|
||||
lock_surface.wlr_lock_surface.surface.data = 0;
|
||||
|
||||
util.gpa.destroy(lock_surface);
|
||||
}
|
||||
|
||||
|
@ -416,6 +416,9 @@ pub fn activateOutput(root: *Root, output: *Output) void {
|
||||
}
|
||||
assert(root.fallback_pending.focus_stack.empty());
|
||||
assert(root.fallback_pending.wm_stack.empty());
|
||||
|
||||
// Enforce map-to-output configuration for the newly active output.
|
||||
server.input_manager.reconfigureDevices();
|
||||
}
|
||||
|
||||
/// Trigger asynchronous application of pending state for all outputs and views.
|
||||
|
Reference in New Issue
Block a user