From a416e1b43f0d18cc0405deae603382a7ed5f14ef Mon Sep 17 00:00:00 2001
From: andreas <andreas@5a81b35b-ba03-0410-adc8-b2c5c5119f08>
Date: Thu, 22 Jul 2010 14:04:57 +0000
Subject: [PATCH] workaround in init_context_menu for OSX system call bug

git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2585 5a81b35b-ba03-0410-adc8-b2c5c5119f08
---
 modules/gui/pymod/init_context_menu.py | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/modules/gui/pymod/init_context_menu.py b/modules/gui/pymod/init_context_menu.py
index ffe853bae..00921e1d0 100644
--- a/modules/gui/pymod/init_context_menu.py
+++ b/modules/gui/pymod/init_context_menu.py
@@ -125,10 +125,17 @@ class AlignmentContextMenu(QtCore.QObject):
 
   def __init__(self, context_menu):
     try:
-      if platform.system() == "Windows":
-        settings.Locate("tmalign.exe")
-      else:
-        settings.Locate("tmalign")
+      try: # workaround for interrupted system call bug on OSX
+        if platform.system() == "Windows":
+          settings_name="tmalign.exe"
+        else:
+          settings_name="tmalign"
+      except IOError:
+        # if platform.system() fails with an IOError we are most likely on a buggy mac an therefore
+        # use "tmalign"
+        settings_name="tmalign"
+
+      settings.Locate(settings_name)
       QtCore.QObject.__init__(self, context_menu.qobject)
 
       self.action = QtGui.QAction("Align", self)
-- 
GitLab