summaryrefslogtreecommitdiffstats
path: root/Tools/idle/EditorWindow.py
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1999-02-17 17:20:50 (GMT)
committerGuido van Rossum <guido@python.org>1999-02-17 17:20:50 (GMT)
commitc4f752f803a20948826eff4601ea595d8b74bb96 (patch)
treee4611b1b816dd03e9536404041bfa0cdeb5016ad /Tools/idle/EditorWindow.py
parent5437ddfa36f785cd8d2a68dc35297173d88ca67c (diff)
downloadcpython-c4f752f803a20948826eff4601ea595d8b74bb96.zip
cpython-c4f752f803a20948826eff4601ea595d8b74bb96.tar.gz
cpython-c4f752f803a20948826eff4601ea595d8b74bb96.tar.bz2
Fix up the Windows menu via the new callback mechanism instead of
depending on menu post commands (which don't work when the menu is torn off).
Diffstat (limited to 'Tools/idle/EditorWindow.py')
-rw-r--r--Tools/idle/EditorWindow.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/Tools/idle/EditorWindow.py b/Tools/idle/EditorWindow.py
index 096f275..0aa31ea 100644
--- a/Tools/idle/EditorWindow.py
+++ b/Tools/idle/EditorWindow.py
@@ -7,6 +7,7 @@ from Tkinter import *
import tkSimpleDialog
import tkMessageBox
import idlever
+import WindowList
# File menu
@@ -159,7 +160,7 @@ class EditorWindow:
menu.add_separator()
end = end + 1
self.wmenu_end = end
- menu.configure(postcommand=self.postwindowsmenu)
+ WindowList.register_callback(self.postwindowsmenu)
def wakeup(self):
if self.top.wm_state() == "iconic":
@@ -196,7 +197,6 @@ class EditorWindow:
end = -1
if end > self.wmenu_end:
menu.delete(self.wmenu_end+1, end)
- import WindowList
WindowList.add_windows_to_menu(menu)
rmenu = None
@@ -441,6 +441,7 @@ class EditorWindow:
self.top.tkraise()
reply = self.maybesave()
if reply != "cancel":
+ WindowList.unregister_callback(self.postwindowsmenu)
if self.close_hook:
self.close_hook()
colorizing = 0
@@ -450,6 +451,7 @@ class EditorWindow:
self.color.close(doh) # Cancel colorization
if not colorizing:
self.top.destroy()
+ self.top.after_idle(WindowList.call_callbacks)
return reply
def load_extensions(self):