[client] wayland: improve fractional scale protocol compatibility
Some checks failed
build / client (Debug, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / module (push) Has been cancelled
build / host-linux (push) Has been cancelled
build / host-windows-cross (push) Has been cancelled
build / host-windows-native (push) Has been cancelled
build / idd (push) Has been cancelled
build / obs (clang) (push) Has been cancelled
build / obs (gcc) (push) Has been cancelled
build / docs (push) Has been cancelled

There is no reason to call a bunch of stuff before the xdg_surface is
configured, so let's not call them and cause early painting to happen
should the compositor decide to send the `preferred_scale` message early.
This commit is contained in:
Quantum
2026-07-03 16:59:04 -04:00
committed by Geoffrey McRae
parent 1f3051e81a
commit c9845d3453
4 changed files with 23 additions and 5 deletions

View File

@@ -263,6 +263,11 @@ void libdecor_pollWait(struct wl_display * display, int epollFd,
}
}
bool libdecor_configured(void)
{
return state.configured;
}
WL_DesktopOps WLD_libdecor =
{
.name = "libdecor",
@@ -277,5 +282,6 @@ WL_DesktopOps WLD_libdecor =
.getSize = libdecor_getSize,
.registryGlobalHandler = libdecor_registryGlobalHandler,
.pollInit = libdecor_pollInit,
.pollWait = libdecor_pollWait
.pollWait = libdecor_pollWait,
.configured = libdecor_configured
};

View File

@@ -304,6 +304,11 @@ void xdg_pollWait(struct wl_display * display, int epollFd,
wl_display_cancel_read(display);
}
bool xdg_configured(void)
{
return state.configured;
}
WL_DesktopOps WLD_xdg =
{
.name = "xdg",
@@ -318,5 +323,6 @@ WL_DesktopOps WLD_xdg =
.getSize = xdg_getSize,
.registryGlobalHandler = xdg_registryGlobalHandler,
.pollInit = xdg_pollInit,
.pollWait = xdg_pollWait
.pollWait = xdg_pollWait,
.configured = xdg_configured
};