fix csd
All checks were successful
pyrite-dev/milsko/pipeline/head This commit looks good

This commit is contained in:
IoIxD 2026-09-26 17:35:50 -07:00
commit 33ea649d18
2 changed files with 21 additions and 21 deletions

View file

@ -10,8 +10,8 @@ void MwLLWaylandFramebufferSetup(struct _MwLLWayland* wayland) {
memset(wayland->framebuffer.buf_back, 255, wayland->framebuffer.buf_size); memset(wayland->framebuffer.buf_back, 255, wayland->framebuffer.buf_size);
if(wayland->configured) if(wayland->configured)
wl_surface_attach(wayland->framebuffer.surface, wayland->framebuffer.shm_buffer, 0, 0); wl_surface_attach(wayland->framebuffer.surface, wayland->framebuffer.shm_buffer, 0, 0);
if(wayland->framebuffer.fifo) // if(wayland->framebuffer.fifo)
wp_fifo_v1_set_barrier(wayland->framebuffer.fifo); // wp_fifo_v1_set_barrier(wayland->framebuffer.fifo);
wl_surface_commit(wayland->framebuffer.surface); wl_surface_commit(wayland->framebuffer.surface);
@ -25,11 +25,13 @@ void MwLLWaylandFramebufferDestroy(struct _MwLLWayland* wayland) {
}; };
void MwLLWaylandBackbufferSetup(struct _MwLLWayland* wayland) { void MwLLWaylandBackbufferSetup(struct _MwLLWayland* wayland) {
MwU32 w = wayland->ww;
MwU32 h = wayland->wh;
if(wayland->type != MwLL_WAYLAND_TOPLEVEL) { if(wayland->type != MwLL_WAYLAND_TOPLEVEL) {
return; return;
} }
MwU32 w = wayland->ww;
MwU32 h = wayland->wh;
if(!wayland->has_decorations && wayland->do_csd) { if(!wayland->has_decorations && wayland->do_csd) {
w += (CSD_BORDER_FRAME_LEFT + CSD_BORDER_FRAME_RIGHT); w += (CSD_BORDER_FRAME_LEFT + CSD_BORDER_FRAME_RIGHT);
h += (CSD_BORDER_FRAME_TOP + CSD_BORDER_FRAME_BOTTOM); h += (CSD_BORDER_FRAME_TOP + CSD_BORDER_FRAME_BOTTOM);
@ -140,8 +142,8 @@ void MwLLWaylandFramebufferResize(struct _MwLLWayland* wayland) {
if(wayland->configured) if(wayland->configured)
wl_surface_attach(wayland->framebuffer.surface, wayland->framebuffer.shm_buffer, 0, 0); wl_surface_attach(wayland->framebuffer.surface, wayland->framebuffer.shm_buffer, 0, 0);
if(wayland->framebuffer.fifo) // if(wayland->framebuffer.fifo)
wp_fifo_v1_set_barrier(wayland->framebuffer.fifo); // wp_fifo_v1_set_barrier(wayland->framebuffer.fifo);
wl_surface_commit(wayland->framebuffer.surface); wl_surface_commit(wayland->framebuffer.surface);
@ -183,8 +185,8 @@ void MwLLWaylandBufferUpdate(MwLL self, struct _MwLLWaylandShmBuffer* buffer) {
if(self->wayland.configured) { if(self->wayland.configured) {
wl_surface_attach(buffer->surface, buffer->shm_buffer, 0, 0); wl_surface_attach(buffer->surface, buffer->shm_buffer, 0, 0);
} }
if(buffer->fifo) // if(buffer->fifo)
wp_fifo_v1_wait_barrier(buffer->fifo); // wp_fifo_v1_wait_barrier(buffer->fifo);
wl_surface_commit(buffer->surface); wl_surface_commit(buffer->surface);
} }
} }

View file

@ -202,10 +202,9 @@ static void xdg_toplevel_configure(void* data,
// } // }
// } // }
if(self->wayland.resizing == 0) {
xdg_surface_set_window_geometry(self->wayland.toplevel->xdg_surface, 0, 0, self->wayland.ww, self->wayland.wh); xdg_surface_set_window_geometry(self->wayland.toplevel->xdg_surface, 0, 0, self->wayland.ww, self->wayland.wh);
MwLLWaylandFramebufferResize(&self->wayland); MwLLWaylandFramebufferResize(&self->wayland);
MwLLWaylandBackbufferResize(&self->wayland);
MwLLWaylandRegionSetup(self); MwLLWaylandRegionSetup(self);
MwLLDispatch(self, resize, NULL); MwLLDispatch(self, resize, NULL);
@ -216,8 +215,6 @@ static void xdg_toplevel_configure(void* data,
zwp_locked_pointer_v1_set_cursor_position_hint(self->wayland.locked_pointer, 0, CSD_BORDER_FRAME_TOP); zwp_locked_pointer_v1_set_cursor_position_hint(self->wayland.locked_pointer, 0, CSD_BORDER_FRAME_TOP);
wl_surface_commit(self->wayland.framebuffer.surface); wl_surface_commit(self->wayland.framebuffer.surface);
} }
self->wayland.resizing = 1;
}
}; };
/* `xdg_surface.close` callback */ /* `xdg_surface.close` callback */
@ -1414,9 +1411,10 @@ static void MwLLEndDrawImpl(MwLL handle) {
if(handle->wayland.configured) { if(handle->wayland.configured) {
if(handle->wayland.type == MwLL_WAYLAND_TOPLEVEL) { if(handle->wayland.type == MwLL_WAYLAND_TOPLEVEL) {
MwLLWaylandBufferUpdate(handle, &handle->wayland.backbuffer); MwLLWaylandBufferUpdate(handle, &handle->wayland.backbuffer);
MwLLWaylandBackbufferResize(&handle->wayland);
} }
MwLLWaylandBufferUpdate(handle, &handle->wayland.framebuffer); MwLLWaylandBufferUpdate(handle, &handle->wayland.framebuffer);
MwLLWaylandFramebufferResize(&handle->wayland);
} }
} }