patch 9.1.1495: Wayland: uses $XDG_SEAT to determine seat

Problem:  Wayland: uses $XDG_SEAT to determine seat to use
          (dr0bz, after v9.1.1485)
Solution: Do not try to determine the seat from $XDG_SEAT, remove the
          code that checks for this environment variable (Foxe Chen).

related: https://github.com/vim/vim/issues/5157#issuecomment-3015248239
closes: #17625

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Foxe Chen
2025-06-29 18:00:46 +02:00
committed by Christian Brabandt
parent 1c0746829e
commit 7a4cf4b256
3 changed files with 6 additions and 12 deletions

View File

@ -1,4 +1,4 @@
*options.txt* For Vim version 9.1. Last change: 2025 Jun 28
*options.txt* For Vim version 9.1. Last change: 2025 Jun 29
VIM REFERENCE MANUAL by Bram Moolenaar
@ -10086,8 +10086,7 @@ A jump table for the options with a short description can be found at |Q_op|.
specifically the clipboard. If the seat does not exist, then the
option will still be set to the new value, with the Wayland clipboard
being unavailable as a result. If an empty value is passed then Vim
will attempt to use the value of $XDG_SEAT if it exists, if not then
it resorts to using the first seat found available. Updating this
will attempt to use the first seat found available. Updating this
option will also update |v:clipmethod|.
*'wlsteal'* *'wst'* *'nowlsteal'* *'nowst'*

View File

@ -719,6 +719,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1495,
/**/
1494,
/**/

View File

@ -907,21 +907,14 @@ vwl_destroy_seat(vwl_seat_T *seat)
/*
* Return a seat with the give name/label. If none exists then NULL is returned.
* If NULL or an empty string is passed as the label then $XDG_SEAT is used
* else the first available seat found is used.
* If NULL or an empty string is passed as the label then the first available
* seat found is used.
*/
static vwl_seat_T *
vwl_get_seat(const char *label)
{
if ((STRCMP(label, "") == 0 || label == NULL) && vwl_seats.ga_len > 0)
{
const char *xdg_seat = (char*)mch_getenv("XDG_SEAT");
if (xdg_seat == NULL)
return &((vwl_seat_T *)vwl_seats.ga_data)[0];
else
label = xdg_seat;
}
for (int i = 0; i < vwl_seats.ga_len; i++)
{