Closing windows is no longer a segfault
This commit is contained in:
parent
f65a9aaf12
commit
8304734230
3 changed files with 27 additions and 5 deletions
|
|
@ -5,5 +5,5 @@
|
||||||
|
|
||||||
echo ">>>>> before foot"
|
echo ">>>>> before foot"
|
||||||
/usr/bin/foot &
|
/usr/bin/foot &
|
||||||
# /usr/bin/foot &
|
/usr/bin/foot &
|
||||||
echo "<<<<< after foot"
|
echo "<<<<< after foot"
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,15 @@ fn windowListener(river_window_v1: *river.WindowV1, event: river.WindowV1.Event,
|
||||||
switch (event) {
|
switch (event) {
|
||||||
.closed => {
|
.closed => {
|
||||||
river_window_v1.destroy();
|
river_window_v1.destroy();
|
||||||
|
{
|
||||||
|
var it = window.context.wm.seats.iterator(.forward);
|
||||||
|
while (it.next()) |seat| {
|
||||||
|
if (seat.hovered == window) {
|
||||||
|
seat.hovered = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
window.link.remove();
|
||||||
window.context.allocator.destroy(window);
|
window.context.allocator.destroy(window);
|
||||||
},
|
},
|
||||||
.dimensions => |ev| {
|
.dimensions => |ev| {
|
||||||
|
|
|
||||||
|
|
@ -59,10 +59,23 @@ fn windowManagerV1Listener(window_manager_v1: *river.WindowManagerV1, event: riv
|
||||||
window_manager_v1.manageFinish();
|
window_manager_v1.manageFinish();
|
||||||
},
|
},
|
||||||
.render_start => {
|
.render_start => {
|
||||||
log.debug("2", .{});
|
{
|
||||||
var it = wm.windows.iterator(.forward);
|
var it = wm.seats.iterator(.forward);
|
||||||
while (it.next()) |window| {
|
while (it.next()) |seat| {
|
||||||
window.render();
|
seat.render();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
var it = wm.outputs.iterator(.forward);
|
||||||
|
while (it.next()) |output| {
|
||||||
|
output.render();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
var it = wm.windows.iterator(.forward);
|
||||||
|
while (it.next()) |window| {
|
||||||
|
window.render();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
window_manager_v1.renderFinish();
|
window_manager_v1.renderFinish();
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue