From fecba717b19f8125d1a0f89e9cca23f1623e84c6 Mon Sep 17 00:00:00 2001
From: Nico Alt <nicoalt@posteo.org>
Date: Thu, 30 May 2019 22:36:22 +0200
Subject: [PATCH] Don't directly emit signal

GTK isn't thread safe. Therefore, I was experiencing race conditions.
---
 src/briar/gtk/containers/startup.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/briar/gtk/containers/startup.py b/src/briar/gtk/containers/startup.py
index 2f16321..67b267f 100644
--- a/src/briar/gtk/containers/startup.py
+++ b/src/briar/gtk/containers/startup.py
@@ -7,7 +7,7 @@ from briar.gtk.define import App
 
 import gi
 gi.require_version('Gtk', '3.0')
-from gi.repository import GObject, Gtk
+from gi.repository import GLib, GObject, Gtk
 
 
 class StartupContainer(Container):
@@ -52,6 +52,6 @@ class StartupContainer(Container):
 
     def _startup_finished(self, succeeded):
         if succeeded:
-            self.emit("briar_startup_completed", (succeeded,))
+            GLib.idle_add(self.emit, "briar_startup_completed", (succeeded,))
             return
         print("Startup failed")
-- 
GitLab