From b424f87a276e509dcaaee6beb10ca00c12bb7d29 Mon Sep 17 00:00:00 2001 From: Andreas Gutsche Date: Thu, 6 Jan 2011 15:21:09 +0100 Subject: Added the bugfix code as a utility function to be reused wherever this specific subprocess bug occurs. --- git/util.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'git/util.py') diff --git a/git/util.py b/git/util.py index 8c0b6697..f81e3741 100644 --- a/git/util.py +++ b/git/util.py @@ -21,7 +21,7 @@ from gitdb.util import ( ) __all__ = ( "stream_copy", "join_path", "to_native_path_windows", "to_native_path_linux", - "join_path_native", "Stats", "IndexFileSHA1Writer", "Iterable", "IterableList", + "join_path_native", "sleep_on_gui_present_osx_crashfix", "Stats", "IndexFileSHA1Writer", "Iterable", "IterableList", "BlockingLockFile", "LockFile", 'Actor', 'get_user_id', 'assure_directory_exists', 'RemoteProgress') @@ -101,6 +101,14 @@ def get_user_id(): # END get username from login return "%s@%s" % (username, platform.node()) +def sleep_on_gui_present_osx_crashfix(): + """This fixes a crash which appears when using pyside on OS X.""" + + #HACK: These two lines are necessary because OSX raises an error if you try to .wait() right after creating the process object. + # It is only necessary when using GUI frameworks to instantiate an application. + if platform.system().startswith("Darwin") and "PySide" in sys.modules.keys(): + time.sleep(0.1) + #} END utilities #{ Classes -- cgit v1.2.1