From 909aaddf3d256a0fd9058e083d499273cc646f09 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 25 May 2011 07:25:44 -0600 Subject: [PATCH] protect against nested snip deletes in `pasteboard%' --- collects/mred/private/wxme/pasteboard.rkt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/collects/mred/private/wxme/pasteboard.rkt b/collects/mred/private/wxme/pasteboard.rkt index 31e5de61e5..6362c27ae7 100644 --- a/collects/mred/private/wxme/pasteboard.rkt +++ b/collects/mred/private/wxme/pasteboard.rkt @@ -729,7 +729,10 @@ (case-args args [() - (delete-some (lambda (s) (loc-selected? (snip-loc s))))] + (delete-some (lambda (s) + (let ([l (snip-loc s)]) + (and l ;; deleted already! + (loc-selected? l)))))] [([snip% s]) (unless (or s-user-locked? (not (zero? write-locked))) @@ -1295,7 +1298,7 @@ ;; called by the administrator to trigger a redraw (def/override (refresh [real? left] [real? top] [nonnegative-real? width] [nonnegative-real? height] - [(symbol-in no-caret show-inactive-caret show-caret) show-caret] + [caret-status? show-caret] [(make-or-false color%) bg-color]) (cond