hc
2023-02-13 e440ec23c5a540cdd3f7464e8779219be6fd3d95
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
From 75363f4f73d970481352548600f5a5c626fabd99 Mon Sep 17 00:00:00 2001
From: Jeffy Chen <jeffy.chen@rock-chips.com>
Date: Wed, 5 Jan 2022 14:56:17 +0800
Subject: [PATCH 01/74] Revert "compositor: avoid setting
 WAYLAND_DISPLAY=wayland-0"
 
This reverts commit ae69381b6eb43ab63992906d1bf29ffd2b4df10d.
 
Use "wayland-0" by default.
 
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
---
 compositor/main.c | 23 +++++++++--------------
 1 file changed, 9 insertions(+), 14 deletions(-)
 
diff --git a/compositor/main.c b/compositor/main.c
index 322f2ff..d7eb422 100644
--- a/compositor/main.c
+++ b/compositor/main.c
@@ -869,29 +869,24 @@ handle_primary_client_destroyed(struct wl_listener *listener, void *data)
 static int
 weston_create_listening_socket(struct wl_display *display, const char *socket_name)
 {
-    char name_candidate[16];
-
     if (socket_name) {
         if (wl_display_add_socket(display, socket_name)) {
             weston_log("fatal: failed to add socket: %s\n",
                    strerror(errno));
             return -1;
         }
-
-        setenv("WAYLAND_DISPLAY", socket_name, 1);
-        return 0;
     } else {
-        for (int i = 1; i <= 32; i++) {
-            sprintf(name_candidate, "wayland-%d", i);
-            if (wl_display_add_socket(display, name_candidate) >= 0) {
-                setenv("WAYLAND_DISPLAY", name_candidate, 1);
-                return 0;
-            }
+        socket_name = wl_display_add_socket_auto(display);
+        if (!socket_name) {
+            weston_log("fatal: failed to add socket: %s\n",
+                   strerror(errno));
+            return -1;
         }
-        weston_log("fatal: failed to add socket: %s\n",
-               strerror(errno));
-        return -1;
     }
+
+    setenv("WAYLAND_DISPLAY", socket_name, 1);
+
+    return 0;
 }
 
 WL_EXPORT void *
-- 
2.20.1