From b299404811a9bb84a5c79786afaa5b647c966f93 Mon Sep 17 00:00:00 2001 From: tokyo4j Date: Wed, 21 May 2025 20:51:13 +0900 Subject: [PATCH] config: drop xwayland persistence workaround for wlroots < 0.18.2 We enabled xwayland persistence for wlroots < 0.18.2 to prevent crashes, but it's no longer needed since we now depend on wlroots 0.19. --- docs/labwc-config.5.scd | 9 ++------- docs/rc.xml.all | 2 +- src/config/rcxml.c | 22 ---------------------- 3 files changed, 3 insertions(+), 30 deletions(-) diff --git a/docs/labwc-config.5.scd b/docs/labwc-config.5.scd index 87992fbb..c650b8ab 100644 --- a/docs/labwc-config.5.scd +++ b/docs/labwc-config.5.scd @@ -173,7 +173,7 @@ this is for compatibility with Openbox. no yes no - yes + no ``` @@ -228,12 +228,7 @@ this is for compatibility with Openbox. ** [yes|no] Keep XWayland alive even when no clients are connected, rather than using a "lazy" policy that allows the server to launch on demand and die - when it is no longer needed. - - When labwc is compiled with wlroots 0.18.2 or later, the default is no. - When labwc is compiled with wlroots < 0.18.2, the default is yes to - avoid a wlroots bug that can result in compositor crashes when - performing drag-and-drop actions when the XWayland server is shut down. + when it is no longer needed. Default is no. Note: changing this setting requires a restart of labwc. diff --git a/docs/rc.xml.all b/docs/rc.xml.all index f02ee794..8d825f66 100644 --- a/docs/rc.xml.all +++ b/docs/rc.xml.all @@ -14,7 +14,7 @@ no yes no - yes + no diff --git a/src/config/rcxml.c b/src/config/rcxml.c index 56e47a11..1fc5deae 100644 --- a/src/config/rcxml.c +++ b/src/config/rcxml.c @@ -14,7 +14,6 @@ #include #include #include -#include #include "action.h" #include "common/dir.h" #include "common/list.h" @@ -38,9 +37,6 @@ #include "window-rules.h" #include "workspaces.h" -#define LAB_WLR_VERSION_OLDER_THAN(major, minor, micro) \ - (WLR_VERSION_NUM < (((major) << 16) | ((minor) << 8) | (micro))) - struct parser_state { bool in_regions; bool in_usable_area_override; @@ -1126,15 +1122,6 @@ entry(xmlNode *node, char *nodename, char *content, struct parser_state *state) } } else if (!strcasecmp(nodename, "xwaylandPersistence.core")) { set_bool(content, &rc.xwayland_persistence); - -#if LAB_WLR_VERSION_OLDER_THAN(0, 18, 2) - if (!rc.xwayland_persistence) { - wlr_log(WLR_ERROR, "to avoid the risk of a fatal crash, " - "setting xwaylandPersistence to 'no' is only " - "recommended when labwc is compiled against " - "wlroots >= 0.18.2. See #2371 for details."); - } -#endif } else if (!strcasecmp(nodename, "x.cascadeOffset.placement")) { rc.placement_cascade_offset_x = atoi(content); } else if (!strcasecmp(nodename, "y.cascadeOffset.placement")) { @@ -1514,16 +1501,7 @@ rcxml_init(void) rc.allow_tearing = false; rc.auto_enable_outputs = true; rc.reuse_output_mode = false; - -#if LAB_WLR_VERSION_OLDER_THAN(0, 18, 2) - /* - * For wlroots < 0.18.2, keep xwayland alive by default to work around - * a fatal crash when the X server is terminated during drag-and-drop. - */ - rc.xwayland_persistence = true; -#else rc.xwayland_persistence = false; -#endif init_font_defaults(&rc.font_activewindow); init_font_defaults(&rc.font_inactivewindow);