В приложении Gtk есть 1 основной цикл, который прослушивает события (например, щелчок мышью, клавиатура и т. Д.). И когда появляется модальное диалоговое окно, основной цикл блокируется, пока пользователь не нажмет «ОК» в диалоговом окне, верно? (то есть ничего не произойдет, когда пользователь нажмет на главное окно). Это правильно?
Мой вопрос заключается в том, как Firefox может сделать модальный диалог, чтобы он мог:
1. когда у меня есть 2 окна Firefox
2. один из них имеет модальный диалог
3. другой все еще интерактивен
Если оба окна используют один и тот же основной цикл gtk, как это возможно? Пожалуйста, помогите мне понять это.
Спасибо.