summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfvogel <fvogel@noemail.net>2016-04-29 09:46:18 (GMT)
committerfvogel <fvogel@noemail.net>2016-04-29 09:46:18 (GMT)
commit568253d2152a5e4350795501d2443328eb2c71b8 (patch)
treefa0c69ccba767519a0396be600b2216d4c4224c4
parent1fe0e44742a4c3245866f77fde8215676146c8e0 (diff)
parent98ad79817e81b09b3b037c1faf4d210cec81f40f (diff)
downloadtk-568253d2152a5e4350795501d2443328eb2c71b8.zip
tk-568253d2152a5e4350795501d2443328eb2c71b8.tar.gz
tk-568253d2152a5e4350795501d2443328eb2c71b8.tar.bz2
Fixed [fd3a4dc111] - <<Modified>> event is not always sent to peers
FossilOrigin-Name: d4b0a69df1e20e0e79bb29f7ee809082ab019354
-rw-r--r--generic/tkText.c5
-rw-r--r--tests/text.test15
2 files changed, 19 insertions, 1 deletions
diff --git a/generic/tkText.c b/generic/tkText.c
index 8b94ab7..0a7ae37 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 0275ee8..a02074b 100644
--- a/tests/text.test
+++ b/tests/text.test
@@ -6321,6 +6321,21 @@ test text-27.14 {<<Modified>> virtual event - delete before Modified} -body {
} -cleanup {
destroy .t
} -result {thing special}
+test text-27.14a {<<Modified>> virtual event - propagation to peers} -body {
+# Bug [fd3a4dc111], <<Modified>> event is not always sent to peers
+ set ::retval 0
+ text .t -undo 1
+ .t peer create .tt
+ pack .t .tt
+ bind .t <<Modified>> {incr ::retval}
+ bind .tt <<Modified>> {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 {<<Selection>> virtual event} -body {
set ::retval no_selection
pack [text .t -undo 1]