summaryrefslogtreecommitdiff
path: root/gtk/gtkmodule.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtkmodule.c')
-rw-r--r--gtk/gtkmodule.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/gtk/gtkmodule.c b/gtk/gtkmodule.c
index ba77dda3..8651d946 100644
--- a/gtk/gtkmodule.c
+++ b/gtk/gtkmodule.c
@@ -38,10 +38,17 @@ sink_gtkobject(GObject *object)
static gboolean
python_do_pending_calls(gpointer data)
{
+ gboolean quit = FALSE;
+
+ pyg_block_threads();
if (PyErr_CheckSignals() == -1) {
PyErr_SetNone(PyExc_KeyboardInterrupt);
- gtk_main_quit();
+ quit = TRUE;
}
+ pyg_unblock_threads();
+
+ if (quit)
+ gtk_main_quit();
return TRUE;
}