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.
This commit is contained in:
parent
89d8cd943b
commit
246eb11058
|
@ -48,7 +48,7 @@ os.chdir(os.path.expanduser('~/Documents'))
|
||||||
# the interpreter in the framework, by following the symlink
|
# the interpreter in the framework, by following the symlink
|
||||||
# exported in PYTHONEXECUTABLE.
|
# exported in PYTHONEXECUTABLE.
|
||||||
pyex = os.environ['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.
|
# Remove any sys.path entries for the Resources dir in the IDLE.app bundle.
|
||||||
p = pyex.partition('.app')
|
p = pyex.partition('.app')
|
||||||
|
@ -68,6 +68,8 @@ for idx, value in enumerate(sys.argv):
|
||||||
break
|
break
|
||||||
|
|
||||||
# Now it is safe to import idlelib.
|
# Now it is safe to import idlelib.
|
||||||
|
from idlelib import macosxSupport
|
||||||
|
macosxSupport._appbundle = True
|
||||||
from idlelib.PyShell import main
|
from idlelib.PyShell import main
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
main()
|
main()
|
||||||
|
|
|
@ -166,6 +166,10 @@ install_IDLE:
|
||||||
-test -d "$(DESTDIR)$(PYTHONAPPSDIR)/IDLE.app" && rm -rf "$(DESTDIR)$(PYTHONAPPSDIR)/IDLE.app"
|
-test -d "$(DESTDIR)$(PYTHONAPPSDIR)/IDLE.app" && rm -rf "$(DESTDIR)$(PYTHONAPPSDIR)/IDLE.app"
|
||||||
/bin/cp -PR "$(srcdir)/IDLE/IDLE.app" "$(DESTDIR)$(PYTHONAPPSDIR)"
|
/bin/cp -PR "$(srcdir)/IDLE/IDLE.app" "$(DESTDIR)$(PYTHONAPPSDIR)"
|
||||||
ln -sf "$(INSTALLED_PYTHONAPP)" "$(DESTDIR)$(PYTHONAPPSDIR)/IDLE.app/Contents/MacOS/Python"
|
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 -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"
|
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 \
|
if [ -f "$(DESTDIR)$(LIBDEST)/idlelib/config-main.def" ]; then \
|
||||||
|
|
Loading…
Reference in New Issue