--- /dev/null
+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