]> git.mdlowis.com Git - proto/labwc.git/commitdiff
config: drop xwayland persistence workaround for wlroots < 0.18.2
authortokyo4j <hrak1529@gmail.com>
Wed, 21 May 2025 11:51:13 +0000 (20:51 +0900)
committerHiroaki Yamamoto <hrak1529@gmail.com>
Wed, 21 May 2025 12:27:57 +0000 (21:27 +0900)
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
docs/rc.xml.all
src/config/rcxml.c

index 87992fbb4ee77c419d51326f44d4906f2649299d..c650b8ab05b8dd0bded13f2e0e76252f18917d4f 100644 (file)
@@ -173,7 +173,7 @@ this is for compatibility with Openbox.
   <allowTearing>no</allowTearing>
   <autoEnableOutputs>yes</autoEnableOutputs>
   <reuseOutputMode>no</reuseOutputMode>
-  <xwaylandPersistence>yes</xwaylandPersistence>
+  <xwaylandPersistence>no</xwaylandPersistence>
 </core>
 ```
 
@@ -228,12 +228,7 @@ this is for compatibility with Openbox.
 *<core><xwaylandPersistence>* [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.
 
index f02ee79419a04c50020b8c9bb7527209d693e23a..8d825f66b976a8637e2271465807232b144cd38f 100644 (file)
@@ -14,7 +14,7 @@
     <allowTearing>no</allowTearing>
     <autoEnableOutputs>yes</autoEnableOutputs>
     <reuseOutputMode>no</reuseOutputMode>
-    <xwaylandPersistence>yes</xwaylandPersistence>
+    <xwaylandPersistence>no</xwaylandPersistence>
   </core>
 
   <placement>
index 56e47a11441663f69a78d156ff79bba0924ea742..1fc5deae92bc9d2b6cb7e134c5141d4908328390 100644 (file)
@@ -14,7 +14,6 @@
 #include <wayland-server-core.h>
 #include <wlr/util/box.h>
 #include <wlr/util/log.h>
-#include <wlr/version.h>
 #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);