summaryrefslogtreecommitdiffstats
path: root/frontend/frontend_gtk.py
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/frontend_gtk.py')
-rw-r--r--frontend/frontend_gtk.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/frontend/frontend_gtk.py b/frontend/frontend_gtk.py
index fd3c91b..0a30749 100644
--- a/frontend/frontend_gtk.py
+++ b/frontend/frontend_gtk.py
@@ -46,9 +46,13 @@ class CallbacksMainWindow(object):
def _o(pages, stopbutton):
"""Always return False -> remove from the idle queue after first
execution"""
- for i in range(pages.get_n_pages()):
- pages.get_nth_page(i).set_sensitive(True)
- stopbutton.set_sensitive(False)
+ gtk.gdk.threads_enter()
+ try:
+ for i in range(pages.get_n_pages()):
+ pages.get_nth_page(i).set_sensitive(True)
+ stopbutton.set_sensitive(False)
+ finally:
+ gtk.gdk.threads_leave()
return False
def worker(*args):
@@ -537,7 +541,11 @@ class MainWindow(object):
def _o(func, *args, **kwargs):
"""Always return False -> remove from the idle queue after first
execution"""
- func(*args, **kwargs)
+ try:
+ gtk.gdk.threads_enter()
+ func(*args, **kwargs)
+ finally:
+ gtk.gdk.threads_leave()
return False
def issue_state(self):