summaryrefslogtreecommitdiffstats
path: root/Mac
diff options
context:
space:
mode:
authorNed Deily <nad@acm.org>2013-10-27 05:22:07 (GMT)
committerNed Deily <nad@acm.org>2013-10-27 05:22:07 (GMT)
commit246eb1105842c746a80865cd492502ad413949c2 (patch)
tree0d9fd036ad8c1056658dbe7f121e660acaf0d080 /Mac
parent89d8cd943b25185e8d15b15636531ff84277bdab (diff)
downloadcpython-246eb1105842c746a80865cd492502ad413949c2.zip
cpython-246eb1105842c746a80865cd492502ad413949c2.tar.gz
cpython-246eb1105842c746a80865cd492502ad413949c2.tar.bz2
Issue #15663: Force IDLE.app to run the GUI process in 32-bit mode.
This mitigates the current Aqua Tk refresh problem on OS X 10.9 by backporting 2.7.x behavior and is transparent to the user.
Diffstat (limited to 'Mac')
-rw-r--r--Mac/IDLE/IDLE.app/Contents/Resources/idlemain.py4
-rw-r--r--Mac/Makefile.in4
2 files changed, 7 insertions, 1 deletions
diff --git a/Mac/IDLE/IDLE.app/Contents/Resources/idlemain.py b/Mac/IDLE/IDLE.app/Contents/Resources/idlemain.py
index d6803ba..8b8beb9 100644
--- a/Mac/IDLE/IDLE.app/Contents/Resources/idlemain.py
+++ b/Mac/IDLE/IDLE.app/Contents/Resources/idlemain.py
@@ -48,7 +48,7 @@ os.chdir(os.path.expanduser('~/Documents'))
# the interpreter in the framework, by following the symlink
# exported in PYTHONEXECUTABLE.
pyex = os.environ['PYTHONEXECUTABLE']
-sys.executable = os.path.join(os.path.dirname(pyex), os.readlink(pyex))
+sys.executable = os.path.join(sys.prefix, 'bin', 'python%d.%d'%(sys.version_info[:2]))
# Remove any sys.path entries for the Resources dir in the IDLE.app bundle.
p = pyex.partition('.app')
@@ -68,6 +68,8 @@ for idx, value in enumerate(sys.argv):
break
# Now it is safe to import idlelib.
+from idlelib import macosxSupport
+macosxSupport._appbundle = True
from idlelib.PyShell import main
if __name__ == '__main__':
main()
diff --git a/Mac/Makefile.in b/Mac/Makefile.in
index 354c1fd..5cb664d 100644
--- a/Mac/Makefile.in
+++ b/Mac/Makefile.in
@@ -166,6 +166,10 @@ install_IDLE:
-test -d "$(DESTDIR)$(PYTHONAPPSDIR)/IDLE.app" && rm -rf "$(DESTDIR)$(PYTHONAPPSDIR)/IDLE.app"
/bin/cp -PR "$(srcdir)/IDLE/IDLE.app" "$(DESTDIR)$(PYTHONAPPSDIR)"
ln -sf "$(INSTALLED_PYTHONAPP)" "$(DESTDIR)$(PYTHONAPPSDIR)/IDLE.app/Contents/MacOS/Python"
+ifneq ($(LIPO_32BIT_FLAGS),)
+ rm "$(DESTDIR)$(PYTHONAPPSDIR)/IDLE.app/Contents/MacOS/Python"
+ lipo $(LIPO_32BIT_FLAGS) -output "$(DESTDIR)$(PYTHONAPPSDIR)/IDLE.app/Contents/MacOS/Python" "$(BUILDPYTHON)"
+endif
sed -e "s!%prefix%!$(prefix)!g" -e 's!%exe%!$(PYTHONFRAMEWORK)!g' < "$(srcdir)/IDLE/IDLE.app/Contents/MacOS/IDLE" > "$(DESTDIR)$(PYTHONAPPSDIR)/IDLE.app/Contents/MacOS/IDLE"
sed "s!%version%!`$(RUNSHARED) $(BUILDPYTHON) -c 'import platform; print(platform.python_version())'`!g" < "$(srcdir)/IDLE/IDLE.app/Contents/Info.plist" > "$(DESTDIR)$(PYTHONAPPSDIR)/IDLE.app/Contents/Info.plist"
if [ -f "$(DESTDIR)$(LIBDEST)/idlelib/config-main.def" ]; then \