This commit is contained in:
Alexander Rosenberg 2024-06-19 13:28:50 -07:00
commit ffb24267b8
Signed by: Zander671
GPG Key ID: 5FD0394ADBD72730
6 changed files with 79 additions and 7 deletions

View File

@ -40,16 +40,17 @@ tasks:
sudo ninja -C build/ install sudo ninja -C build/ install
cd .. cd ..
wget -nv https://ziglang.org/download/0.13.0/zig-linux-x86_64-0.13.0.tar.xz # Eat Github's resources rather than the Zig Software Foundation's resources!
wget -nv https://github.com/ifreund/zig-tarball-mirror/releases/download/0.13.0/zig-linux-x86_64-0.13.0.tar.xz
tar xf zig-linux-x86_64-0.13.0.tar.xz tar xf zig-linux-x86_64-0.13.0.tar.xz
sudo mv zig-linux-x86_64-0.13.0/zig /usr/bin/ sudo mv zig-linux-x86_64-0.13.0/zig /usr/bin/
sudo mv zig-linux-x86_64-0.13.0/lib /usr/lib/zig sudo mv zig-linux-x86_64-0.13.0/lib /usr/lib/zig
- build: | - build: |
cd river cd river
zig build zig build --summary all
- build_xwayland: | - build_xwayland: |
cd river cd river
zig build -Dxwayland zig build --summary all -Dxwayland
- fmt: | - fmt: |
cd river cd river
zig fmt --check river/ zig fmt --check river/

View File

@ -38,16 +38,17 @@ tasks:
sudo ninja -C build/ install sudo ninja -C build/ install
cd .. cd ..
wget -nv https://ziglang.org/download/0.13.0/zig-linux-x86_64-0.13.0.tar.xz # Eat Github's resources rather than the Zig Software Foundation's resources!
wget -nv https://github.com/ifreund/zig-tarball-mirror/releases/download/0.13.0/zig-linux-x86_64-0.13.0.tar.xz
tar xf zig-linux-x86_64-0.13.0.tar.xz tar xf zig-linux-x86_64-0.13.0.tar.xz
sudo mv zig-linux-x86_64-0.13.0/zig /usr/bin/ sudo mv zig-linux-x86_64-0.13.0/zig /usr/bin/
sudo mv zig-linux-x86_64-0.13.0/lib /usr/lib/zig sudo mv zig-linux-x86_64-0.13.0/lib /usr/lib/zig
- build: | - build: |
cd river cd river
zig build zig build --summary all
- build_xwayland: | - build_xwayland: |
cd river cd river
zig build -Dxwayland zig build --summary all -Dxwayland
- fmt: | - fmt: |
cd river cd river
zig fmt --check river/ zig fmt --check river/

62
.builds/freebsd.yml Normal file
View File

@ -0,0 +1,62 @@
image: freebsd/latest
packages:
- devel/evdev-proto
- devel/libevdev
- devel/libepoll-shim
- devel/libudev-devd
- devel/meson
- devel/pkgconf
- graphics/mesa-libs
- graphics/wayland-protocols
- misc/hwdata
- x11/libX11
- x11/libinput
- x11/libxcb
- x11/libxkbcommon
- x11/pixman
- x11/xcb-util-errors
- x11/xcb-util-renderutil
- x11/xcb-util-wm
- x11-servers/xwayland
- security/ca_root_nss
- sysutils/seatd
- sysutils/libdisplay-info
- gmake
- scdoc
- wget
sources:
- https://codeberg.org/river/river
- https://gitlab.freedesktop.org/wayland/wayland.git
- https://gitlab.freedesktop.org/wlroots/wlroots.git
tasks:
- install_deps: |
cd wayland
git checkout 1.22.0
meson setup build -Ddocumentation=false -Dtests=false --prefix /usr
sudo ninja -C build install
cd ..
cd wlroots
git checkout 0.17.2
meson setup build --auto-features=enabled -Drenderers=gles2 -Dexamples=false \
-Dwerror=false -Db_ndebug=false --prefix /usr
sudo ninja -C build/ install
cd ..
# Eat Github's resources rather than the Zig Software Foundation's resources!
wget -nv https://github.com/ifreund/zig-tarball-mirror/releases/download/0.13.0/zig-freebsd-x86_64-0.13.0.tar.xz
tar xf zig-freebsd-x86_64-0.13.0.tar.xz
sudo mv zig-freebsd-x86_64-0.13.0/zig /usr/bin/
sudo mv zig-freebsd-x86_64-0.13.0/lib /usr/lib/zig
- build: |
cd river
zig build --summary all
- build_xwayland: |
cd river
zig build --summary all -Dxwayland
- fmt: |
cd river
zig fmt --check river/
zig fmt --check riverctl/
zig fmt --check rivertile/
zig fmt --check build.zig

View File

@ -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), .scene_layer_surface = try layer_tree.createSceneLayerSurfaceV1(wlr_layer_surface),
.popup_tree = try output.layers.popups.createSceneTree(), .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.scene_layer_surface.tree.node, .{ .layer_surface = layer_surface });
try SceneNodeData.attach(&layer_surface.popup_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(); 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); util.gpa.destroy(layer_surface);
} }

View File

@ -85,6 +85,9 @@ pub fn destroy(lock_surface: *LockSurface) void {
lock_surface.map.link.remove(); lock_surface.map.link.remove();
lock_surface.surface_destroy.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); util.gpa.destroy(lock_surface);
} }

View File

@ -416,6 +416,9 @@ pub fn activateOutput(root: *Root, output: *Output) void {
} }
assert(root.fallback_pending.focus_stack.empty()); assert(root.fallback_pending.focus_stack.empty());
assert(root.fallback_pending.wm_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. /// Trigger asynchronous application of pending state for all outputs and views.