changeset: 86669:0bf4cf62f14c branch: 3.3 parent: 86660:bc259b221cb8 user: Ned Deily date: Sat Oct 26 22:22:07 2013 -0700 files: Mac/IDLE/IDLE.app/Contents/Resources/idlemain.py Mac/Makefile.in description: 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. diff -r bc259b221cb8 -r 0bf4cf62f14c Mac/IDLE/IDLE.app/Contents/Resources/idlemain.py --- a/Mac/IDLE/IDLE.app/Contents/Resources/idlemain.py Sat Oct 26 13:13:51 2013 -0400 +++ b/Mac/IDLE/IDLE.app/Contents/Resources/idlemain.py Sat Oct 26 22:22:07 2013 -0700 @@ -48,7 +48,7 @@ # 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 @@ 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 -r bc259b221cb8 -r 0bf4cf62f14c Mac/Makefile.in --- a/Mac/Makefile.in Sat Oct 26 13:13:51 2013 -0400 +++ b/Mac/Makefile.in Sat Oct 26 22:22:07 2013 -0700 @@ -166,6 +166,10 @@ -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 \