Added ugly workaround for Console crash at startup
authorIngo Ruhnke <grumbel@gmail.com>
Tue, 26 Aug 2014 10:44:17 +0000 (12:44 +0200)
committerIngo Ruhnke <grumbel@gmail.com>
Tue, 26 Aug 2014 22:57:45 +0000 (00:57 +0200)
This is an ugly workaround for a crash at startup. Console::current()
becomes valid before the Console constructor is finished and loading
Surfaces and Fonts wants to write text to the Console, with Fonts that
aren't yet loaded, thus crashing

src/supertux/console.cpp

index 9f17267..71b0c5f 100644 (file)
@@ -123,6 +123,16 @@ Console::~Console()
 void
 Console::on_buffer_change(int line_count)
 {
+  if (!m_font)
+  {
+    // FIXME: This is an ugly workaround for a crash at startup.
+    // Console::current() becomes valid before the Console constructor
+    // is finished and loading Surfaces and Fonts wants to write text
+    // to the Console, with Fonts that aren't yet loaded, thus
+    // crashing
+    return;
+  }
+
   // increase console height if necessary
   if (m_stayOpen > 0 && m_height < 64)
   {