summaryrefslogtreecommitdiffstats
path: root/tests/button.test
diff options
context:
space:
mode:
Diffstat (limited to 'tests/button.test')
-rw-r--r--tests/button.test19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/button.test b/tests/button.test
index 6d924f6..05f463c 100644
--- a/tests/button.test
+++ b/tests/button.test
@@ -3908,6 +3908,25 @@ test button-13.8 {size behavior: checkbutton} -setup {
destroy .a .b .c
} -result {1 1 1}
+test button-14.1 {bug fix: [011706ec42] tk::ButtonInvoke unsafe wrt widget destruction} -body {
+ proc destroy_button {} {
+ if {[winfo exists .top.b]} {
+ destroy .top.b
+ puts destroyed
+ }
+ }
+ toplevel .top
+ button .top.b -text Foo -command destroy_button
+ bind .top.b <space> destroy_button
+ pack .top.b
+ focus -force .top.b
+ update
+ event generate .top.b <space>
+ update ; # shall not trigger error invalid command name ".top.b"
+} -cleanup {
+ destroy .top.b .top
+} -result {}
+
imageFinish
cleanupTests
return