From 5e0280bba4421e2a67996b4c932a0821b2d05ab5 Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Thu, 3 Jul 2008 02:59:16 +0000 Subject: [PATCH] fixed PR 9571 svn: r10571 --- collects/framework/private/menu.ss | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/collects/framework/private/menu.ss b/collects/framework/private/menu.ss index eae60a294a..84e025bb40 100644 --- a/collects/framework/private/menu.ss +++ b/collects/framework/private/menu.ss @@ -31,12 +31,21 @@ (define can-restore-underscore-mixin (mixin (labelled-menu-item<%>) (can-restore-underscore<%>) - (inherit get-label get-plain-label set-label) + (inherit get-label get-plain-label) + (define/override (set-label nl) + (unless dont-save + (set! saved-label nl)) + (super set-label nl)) (define/public (erase-underscores) - (set-label (get-plain-label))) + (set! dont-save #t) + (set-label (get-plain-label)) + (set! dont-save #f)) (define/public (restore-underscores) (unless (eq? saved-label 'not-yet-saved-label) - (set-label saved-label))) + (set! dont-save #t) + (set-label saved-label) + (set! dont-save #f))) + (define dont-save #f) (define saved-label 'not-yet-saved-label) (super-new) (set! saved-label (get-label))