From 32ec5da8601c47146ce51dce18e3d846de9f61e1 Mon Sep 17 00:00:00 2001 From: falkTX Date: Thu, 31 Dec 2015 16:12:15 +0000 Subject: [PATCH] Cleanup --- source/interposer/interposer-x11.cpp | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/source/interposer/interposer-x11.cpp b/source/interposer/interposer-x11.cpp index 479b66fd9..453171795 100644 --- a/source/interposer/interposer-x11.cpp +++ b/source/interposer/interposer-x11.cpp @@ -58,20 +58,25 @@ int XMapWindow(Display* display, Window w) { carla_stdout("------------------------------- XMapWindow called"); - if (++sMapWindowCounter != 1) - return real_XMapWindow(display, w); - - if (const char* const winIdStr = std::getenv("CARLA_ENGINE_OPTION_FRONTEND_WIN_ID")) + for (;;) { - CARLA_SAFE_ASSERT_RETURN(winIdStr[0] != '\0', real_XMapWindow(display, w)); + if (++sMapWindowCounter != 1) + break; + + if (const char* const winIdStr = std::getenv("CARLA_ENGINE_OPTION_FRONTEND_WIN_ID")) + { + CARLA_SAFE_ASSERT_BREAK(winIdStr[0] != '\0'); + + const long long winIdLL(std::strtoll(winIdStr, nullptr, 16)); + CARLA_SAFE_ASSERT_BREAK(winIdLL > 0); - const long long winIdLL(std::strtoll(winIdStr, nullptr, 16)); - CARLA_SAFE_ASSERT_RETURN(winIdLL > 0, real_XMapWindow(display, w)); + const Window winId(static_cast(winIdLL)); + XSetTransientForHint(display, w, static_cast(winId)); - const Window winId(static_cast(winIdLL)); - XSetTransientForHint(display, w, static_cast(winId)); + carla_stdout("Transient hint correctly applied before mapping window"); + } - carla_stdout("Transient hint correctly applied before mapping window"); + break; } return real_XMapWindow(display, w);