summaryrefslogtreecommitdiffstats
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
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).
-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):