summaryrefslogtreecommitdiff
path: root/src/Compositor.cpp
diff options
context:
space:
mode:
authorvaxerski <vaxry@vaxry.net>2023-01-19 16:44:23 +0100
committervaxerski <vaxry@vaxry.net>2023-01-19 16:44:23 +0100
commit5112056fdbda989191310364444f328240bbf6f1 (patch)
treefb10086a33a5f811fcae5db646aeb67885a744ec /src/Compositor.cpp
parentd8ee624e35f424334fdc439b8ad269455b178004 (diff)
better log wl socket adding and use auto if failed
Diffstat (limited to 'src/Compositor.cpp')
-rw-r--r--src/Compositor.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp
index f0a6d833..ca7f9b69 100644
--- a/src/Compositor.cpp
+++ b/src/Compositor.cpp
@@ -357,16 +357,28 @@ void CCompositor::startCompositor() {
// get socket, avoid using 0
for (int candidate = 1; candidate <= 32; candidate++) {
- if (wl_display_add_socket(m_sWLDisplay, ("wayland-" + std::to_string(candidate)).c_str()) >= 0) {
- m_szWLDisplaySocket = "wayland-" + std::to_string(candidate);
+ const auto CANDIDATESTR = ("wayland-" + std::to_string(candidate));
+ const auto RETVAL = wl_display_add_socket(m_sWLDisplay, CANDIDATESTR.c_str());
+ if (RETVAL >= 0) {
+ m_szWLDisplaySocket = CANDIDATESTR;
+ Debug::log(LOG, "wl_display_add_socket for %s succeeded with %i", CANDIDATESTR.c_str(), RETVAL);
break;
+ } else {
+ Debug::log(WARN, "wl_display_add_socket for %s returned %i: skipping candidate %i", CANDIDATESTR.c_str(), RETVAL, candidate);
}
}
if (m_szWLDisplaySocket.empty()) {
+ Debug::log(WARN, "All candidates failed, trying wl_display_add_socket_auto");
+ const auto SOCKETSTR = wl_display_add_socket_auto(m_sWLDisplay);
+ if (SOCKETSTR)
+ m_szWLDisplaySocket = SOCKETSTR;
+ }
+
+ if (m_szWLDisplaySocket.empty()) {
Debug::log(CRIT, "m_szWLDisplaySocket NULL!");
wlr_backend_destroy(m_sWLRBackend);
- throw std::runtime_error("m_szWLDisplaySocket was null! (wl_display_add_socket_auto failed)");
+ throw std::runtime_error("m_szWLDisplaySocket was null! (wl_display_add_socket and wl_display_add_socket_auto failed)");
}
setenv("WAYLAND_DISPLAY", m_szWLDisplaySocket.c_str(), 1);