@elextr commented on this pull request.


> @@ -688,7 +698,10 @@ gboolean socket_lock_input_cb(GIOChannel *source, 
> GIOCondition condition, gpoint
                                if (buf_len > 0 && buf[buf_len - 1] == '\n')
                                        buf[buf_len - 1] = '\0';
 
-                               handle_input_filename(buf);
+                               // Important:
+                               // avoid creating documents now because there 
could be a modal dialog open.
+                               // modal code may call document_get_current and 
assume it hasn't changed
+                               g_timeout_add(100, handle_input_filename, 
g_strdup(buf));

> but I guess the API runs a separate mainloop internally which runs idle 
> callbacks (and the GIO input callback here...).

Modal dialogs are only specified to freeze the user input to the UI, so any 
other event the mainloop sees should "just work".

-- 
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/3395#discussion_r1109101228
You are receiving this because you are subscribed to this thread.

Message ID: <geany/geany/pull/3395/review/[email protected]>

Reply via email to