Add patch to not fail fatally without X-server
authorIOhannes m zmölnig <zmoelnig@umlautS.umlaeute.mur.at>
Mon, 16 Mar 2020 12:07:13 +0000 (13:07 +0100)
committerIOhannes m zmölnig <zmoelnig@umlautS.umlaeute.mur.at>
Mon, 16 Mar 2020 12:07:30 +0000 (13:07 +0100)
debian/patches/0011-Don-t-fail-fatally-if-gui-cannot-connect-to-X-server.patch [new file with mode: 0644]
debian/patches/series

diff --git a/debian/patches/0011-Don-t-fail-fatally-if-gui-cannot-connect-to-X-server.patch b/debian/patches/0011-Don-t-fail-fatally-if-gui-cannot-connect-to-X-server.patch
new file mode 100644 (file)
index 0000000..2dadecc
--- /dev/null
@@ -0,0 +1,49 @@
+From: kunitoki <kunitoki@gmail.com>
+Date: Mon, 16 Mar 2020 13:01:47 +0100
+Subject: Don't fail fatally if gui cannot connect to X server
+MIME-Version: 1.0
+Content-Type: text/plain; charset="utf-8"
+Content-Transfer-Encoding: 8bit
+
+Bug: https://github.com/WeAreROLI/JUCE/issues/422
+
+This is a slight modification of https://github.com/WeAreROLI/JUCE/issues/422 by
+IOhannes m zmölnig, using early exits rather than longish if-clauses (mainly to
+minimize the diff).
+---
+ modules/juce_gui_basics/native/juce_linux_X11.cpp | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/modules/juce_gui_basics/native/juce_linux_X11.cpp b/modules/juce_gui_basics/native/juce_linux_X11.cpp
+index a2ceb67..7d67541 100644
+--- a/modules/juce_gui_basics/native/juce_linux_X11.cpp
++++ b/modules/juce_gui_basics/native/juce_linux_X11.cpp
+@@ -149,7 +149,8 @@ XWindowSystem::~XWindowSystem() noexcept
\r
+ ::Display* XWindowSystem::displayUnref() noexcept\r
+ {\r
+-    jassert (display != nullptr);\r
++    if (!display)\r
++        return display;\r
+     jassert (displayCount.get() > 0);\r
\r
+     if (--displayCount == 0)\r
+@@ -168,7 +169,7 @@ void XWindowSystem::initialiseXDisplay() noexcept
+     if (display == nullptr)\r
+     {\r
+         Logger::outputDebugString ("Failed to connect to the X Server.");\r
+-        Process::terminate();\r
++        return;\r
+     }\r
\r
+     // Create a context to store user data associated with Windows we create\r
+@@ -223,6 +224,9 @@ void XWindowSystem::initialiseXDisplay() noexcept
\r
+ void XWindowSystem::destroyXDisplay() noexcept\r
+ {\r
++    if (!display)\r
++        return;\r
++\r
+     ScopedXLock xlock (display);\r
+     XDestroyWindow (display, juce_messageWindowHandle);\r
+     juce_messageWindowHandle = 0;\r
index a5cbb7a7181081fda8d74b110205b8dbea27cf0e..3110dd7a969e9c19ef2cc0a62f15b2dfa4f45b6a 100644 (file)
@@ -8,3 +8,4 @@ debian_python3.patch
 debian_unittests_globalpaths.patch
 debian_vst.patch
 debian_link_systemlibs.patch
+0011-Don-t-fail-fatally-if-gui-cannot-connect-to-X-server.patch