From 1e91aa73ce7aa59b5950e2a91443fdcdcba6ccaf Mon Sep 17 00:00:00 2001 From: fvogel Date: Tue, 5 Apr 2016 16:08:33 +0000 Subject: Fixed [fd3a4dc111] - <> event is not always sent to peers --- generic/tkText.c | 5 ++++- tests/text.test | 15 +++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/generic/tkText.c b/generic/tkText.c index 506075d..e6cb96d 100644 --- a/generic/tkText.c +++ b/generic/tkText.c @@ -5215,7 +5215,10 @@ TextEditCmd( */ if ((!oldModified) != (!setModified)) { - GenerateModifiedEvent(textPtr); + for (textPtr = textPtr->sharedTextPtr->peers; textPtr != NULL; + textPtr = textPtr->next) { + GenerateModifiedEvent(textPtr); + } } break; case EDIT_REDO: diff --git a/tests/text.test b/tests/text.test index ff933a8..03b5ae3 100644 --- a/tests/text.test +++ b/tests/text.test @@ -6321,6 +6321,21 @@ test text-27.14 {<> virtual event - delete before Modified} -body { } -cleanup { destroy .t } -result {thing special} +test text-27.14a {<> virtual event - propagation to peers} -body { +# Bug [fd3a4dc111], <> event is not always sent to peers + set ::retval 0 + text .t -undo 1 + .t peer create .tt + pack .t .tt + bind .t <> {incr ::retval} + bind .tt <> {incr ::retval} + .t insert end "This increments ::retval once for each peer, i.e. twice." + .t edit modified 0 ; # shall increment twice as well, not just once + update idletasks + set ::retval +} -cleanup { + destroy .t .tt +} -result {4} test text-27.15 {<> virtual event} -body { set ::retval no_selection pack [text .t -undo 1] -- cgit v0.12