Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Difference From 71f581f3e731e7c2 To 3cc37438bb772ef2
2024-03-15
| ||
02:00 | Complement to the fix for [47d4f29159]: Ignored binding scripts for events with detail field NotifyInferior. check-in: 435c91c0 user: fvogel tags: core-8-6-branch | |
2024-03-14
| ||
19:38 | Fix mistake in comment. Closed-Leaf check-in: 3cc37438 user: fvogel tags: bug-47d4f29159 | |
2024-03-13
| ||
20:50 | Don't use the <<EnteredChild>> event anymore internally in Tk. Eradicate the <<NOTE-PW-LEAVE-NOTIFYINFERIOR>>. check-in: 927b68cf user: fvogel tags: bug-47d4f29159 | |
2024-02-28
| ||
21:22 | merge release check-in: ade24c0a user: dgp tags: core-8-6-branch | |
2024-02-25
| ||
20:27 | Fix [47d4f29159]: Ignored binding scripts for events with detail field NotifyInferior. Patch from Erik Leunissen. check-in: 58a10b35 user: fvogel tags: bug-47d4f29159 | |
20:21 | Fix [22349fc78a]: Incorrect crossing events upon destruction of the pointer window under MS Windows. Patch from Erik Leunissen. check-in: 04732899 user: fvogel tags: bug-22349fc78a | |
2024-02-21
| ||
15:58 | merge 8.6 check-in: 06061eb5 user: dgp tags: core-8-6-14-rc | |
2024-02-16
| ||
15:22 | Merge 8.6 check-in: 81c381e8 user: jan.nijtmans tags: core-8-branch | |
15:16 | Fix [82d5a93a46]: 8.6 Documentation/comment typo fixes check-in: 71f581f3 user: jan.nijtmans tags: core-8-6-branch | |
2024-02-13
| ||
15:07 | Fix compilation warning with -DDEBUG_FONTSEL check-in: c8315f40 user: jan.nijtmans tags: core-8-6-branch | |
Changes to .github/workflows/linux-build.yml.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | name: Linux on: push: branches: - "main" - "core-8-branch" - "core-8-6-branch" tags: - "core-**" permissions: contents: read defaults: run: shell: bash | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | name: Linux on: push: branches: - "main" - "core-8-branch" - "core-8-6-branch" - "bug-47d4f29159" tags: - "core-**" permissions: contents: read defaults: run: shell: bash |
︙ | ︙ |
Changes to .github/workflows/mac-build.yml.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | name: macOS on: push: branches: - "main" - "core-8-branch" - "core-8-6-branch" tags: - "core-**" permissions: contents: read env: ERROR_ON_FAILURES: 1 jobs: | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | name: macOS on: push: branches: - "main" - "core-8-branch" - "core-8-6-branch" - "bug-47d4f29159" tags: - "core-**" permissions: contents: read env: ERROR_ON_FAILURES: 1 jobs: |
︙ | ︙ |
Changes to .github/workflows/win-build.yml.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | name: Windows on: push: branches: - "main" - "core-8-branch" - "core-8-6-branch" tags: - "core-**" permissions: contents: read env: ERROR_ON_FAILURES: 1 jobs: | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | name: Windows on: push: branches: - "main" - "core-8-branch" - "core-8-6-branch" - "bug-47d4f29159" tags: - "core-**" permissions: contents: read env: ERROR_ON_FAILURES: 1 jobs: |
︙ | ︙ |
Changes to doc/ttk_panedwindow.n.
︙ | ︙ | |||
113 114 115 116 117 118 119 | .ta 5.5c 11c \fBcget\fR \fBconfigure\fR \fBinstate\fR \fBstate\fR .DE .SH "VIRTUAL EVENTS" .PP The panedwindow widget generates an \fB<<EnteredChild>>\fR virtual event on | | < < | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | .ta 5.5c 11c \fBcget\fR \fBconfigure\fR \fBinstate\fR \fBstate\fR .DE .SH "VIRTUAL EVENTS" .PP The panedwindow widget generates an \fB<<EnteredChild>>\fR virtual event on LeaveNotify/NotifyInferior events. .SH "STYLING OPTIONS" .PP The class name for a \fBttk::panedwindow\fP is \fBTPanedwindow\fP. The sash has a class name of \fBSash\fP. .PP \fBTPanedwindow\fP styling options configurable with \fBttk::style\fP are: |
︙ | ︙ |
Changes to generic/tkBind.c.
︙ | ︙ | |||
2194 2195 2196 2197 2198 2199 2200 | } dispPtr = ((TkWindow *) tkwin)->dispPtr; bindInfoPtr = winPtr->mainPtr->bindInfo; curEvent = bindPtr->eventInfo + eventPtr->type; /* | < < < < < < < | > < < < < < < < < < | 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 | } dispPtr = ((TkWindow *) tkwin)->dispPtr; bindInfoPtr = winPtr->mainPtr->bindInfo; curEvent = bindPtr->eventInfo + eventPtr->type; /* * Compute current time needed for "event generate", * and reset counters for Key and Button events. */ switch (eventPtr->type) { case EnterNotify: case LeaveNotify: if (eventPtr->xcrossing.time) { bindInfoPtr->lastCurrentTime = CurrentTimeInMilliSecs(); bindInfoPtr->lastEventTime = eventPtr->xcrossing.time; } break; case KeyPress: case KeyRelease: { int reset = 1; if (eventPtr->xkey.time) { bindInfoPtr->lastCurrentTime = CurrentTimeInMilliSecs(); |
︙ | ︙ |
Changes to generic/tkCanvas.c.
︙ | ︙ | |||
4959 4960 4961 4962 4963 4964 4965 | Tk_Item *itemPtr = canvasPtr->currentItemPtr; int i; event = canvasPtr->pickEvent; event.type = LeaveNotify; /* | > | | | > > > > > > > | 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 | Tk_Item *itemPtr = canvasPtr->currentItemPtr; int i; event = canvasPtr->pickEvent; event.type = LeaveNotify; /* * Behaviour before ticket #47d4f29159: * If the event's detail happens to be NotifyInferior the binding * mechanism will discard the event. To be consistent, always use * NotifyAncestor. * * Behaviour after ticket #47d4f29159: * The binding mechanism doesn't discard events with detail field * NotifyInferior anymore. It would be best to base the detail * field on the ancestry relationship between the old and new * canvas items. For the time being, retain the choice from before * ticket #47d4f29159, which doesn't harm. */ event.xcrossing.detail = NotifyAncestor; canvasPtr->flags |= REPICK_IN_PROGRESS; CanvasDoEvent(canvasPtr, &event); canvasPtr->flags &= ~REPICK_IN_PROGRESS; |
︙ | ︙ |
Changes to generic/tkTextTag.c.
︙ | ︙ | |||
1799 1800 1801 1802 1803 1804 1805 | if ((textPtr->sharedTextPtr->bindingTable != NULL) && (textPtr->tkwin != NULL) && !(textPtr->flags & DESTROYED)) { event = textPtr->pickEvent; event.type = LeaveNotify; /* | > | | | > > > > > > > | 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 | if ((textPtr->sharedTextPtr->bindingTable != NULL) && (textPtr->tkwin != NULL) && !(textPtr->flags & DESTROYED)) { event = textPtr->pickEvent; event.type = LeaveNotify; /* * Behaviour before ticket #47d4f29159: * Always use a detail of NotifyAncestor. Besides being * consistent, this avoids problems where the binding code will * discard NotifyInferior events. * * Behaviour after ticket #47d4f29159: * The binding mechanism doesn't discard events with detail field * NotifyInferior anymore. It would be best to base the detail * field on the ancestry relationship between the old and new * tags. For the time being, retain the choice from before * ticket #47d4f29159, which doesn't harm. */ event.xcrossing.detail = NotifyAncestor; TagBindEvent(textPtr, &event, numOldTags, oldArrayPtr); } ckfree(oldArrayPtr); } |
︙ | ︙ |
Changes to generic/ttk/ttkPanedwindow.c.
︙ | ︙ | |||
465 466 467 468 469 470 471 | PaneRequest, PaneRemoved }; /*------------------------------------------------------------------------ * +++ Event handler. * | < < < < < < > > > > > > > > | 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 | PaneRequest, PaneRemoved }; /*------------------------------------------------------------------------ * +++ Event handler. * * This event handler generates an <<EnteredChild>> virtual event * on LeaveNotify/NotifyInferior. * This was originally introduced because Tk used to discard events with * detail field NotifyInferior. The <<EnteredChild>> event was then used * to reset the cursor when the pointer crosses from a parent to a child. * Since ticket #47d4f29159, LeaveNotify/NotifyInferior are no longer * discarded: the <Leave> event will trigger even with NotifyInferior * detail field. The generated <<EnteredChild>> is nevertheless kept for * backwards compatibility purpose since it is publicly documented, * meaning that someone could bind to it. */ static const unsigned PanedEventMask = LeaveWindowMask; static void PanedEventProc(ClientData clientData, XEvent *eventPtr) { WidgetCore *corePtr = (WidgetCore *)clientData; if ( eventPtr->type == LeaveNotify |
︙ | ︙ |
Changes to generic/ttk/ttkWidget.c.
︙ | ︙ | |||
238 239 240 241 242 243 244 | * Processes Expose, Configure, FocusIn/Out, and Destroy events. * Also handles <<ThemeChanged>> virtual events. * * For Expose and Configure, simply schedule the widget for redisplay. * For Destroy events, handle the cleanup process. * * For Focus events, set/clear the focus bit in the state field. | < < | 238 239 240 241 242 243 244 245 246 247 248 249 250 251 | * Processes Expose, Configure, FocusIn/Out, and Destroy events. * Also handles <<ThemeChanged>> virtual events. * * For Expose and Configure, simply schedule the widget for redisplay. * For Destroy events, handle the cleanup process. * * For Focus events, set/clear the focus bit in the state field. * * For Deactivate/Activate pseudo-events, set/clear the background state * flag. */ static const unsigned CoreEventMask = ExposureMask |
︙ | ︙ |
Changes to library/ttk/panedwindow.tcl.
︙ | ︙ | |||
18 19 20 21 22 23 24 | bind TPanedwindow <Button-1> { ttk::panedwindow::Press %W %x %y } bind TPanedwindow <B1-Motion> { ttk::panedwindow::Drag %W %x %y } bind TPanedwindow <ButtonRelease-1> { ttk::panedwindow::Release %W %x %y } bind TPanedwindow <Motion> { ttk::panedwindow::SetCursor %W %x %y } bind TPanedwindow <Enter> { ttk::panedwindow::SetCursor %W %x %y } bind TPanedwindow <Leave> { ttk::panedwindow::ResetCursor %W } | < < | 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | bind TPanedwindow <Button-1> { ttk::panedwindow::Press %W %x %y } bind TPanedwindow <B1-Motion> { ttk::panedwindow::Drag %W %x %y } bind TPanedwindow <ButtonRelease-1> { ttk::panedwindow::Release %W %x %y } bind TPanedwindow <Motion> { ttk::panedwindow::SetCursor %W %x %y } bind TPanedwindow <Enter> { ttk::panedwindow::SetCursor %W %x %y } bind TPanedwindow <Leave> { ttk::panedwindow::ResetCursor %W } ## Sash movement: # proc ttk::panedwindow::Press {w x y} { variable State set sash [$w identify $x $y] |
︙ | ︙ |
Changes to tests/bind.test.
︙ | ︙ | |||
570 571 572 573 574 575 576 | bind .t.f <Button> {lappend x "%W z (.t.f <Button> binding)"} event generate .t.f <Button-1> event generate .t.f <Button-2> return $x } -cleanup { destroy .t.f } -result {{.t.f z (.t.f <Button-1> binding)} {.t.f z (.t.f <Button> binding)}} | | | | 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 | bind .t.f <Button> {lappend x "%W z (.t.f <Button> binding)"} event generate .t.f <Button-1> event generate .t.f <Button-2> return $x } -cleanup { destroy .t.f } -result {{.t.f z (.t.f <Button-1> binding)} {.t.f z (.t.f <Button> binding)}} test bind-13.10 {Tk_BindEvent procedure: don't ignore NotifyInferior - bug 47d4f29159} -setup { frame .t.f -class Test -width 150 -height 100 pack .t.f focus -force .t.f update set x {} } -body { bind .t.f <Enter> "lappend x Enter%#" bind .t.f <Leave> "lappend x Leave%#" event generate .t.f <Enter> -serial 100 -detail NotifyAncestor event generate .t.f <Enter> -serial 101 -detail NotifyInferior event generate .t.f <Leave> -serial 102 -detail NotifyAncestor event generate .t.f <Leave> -serial 103 -detail NotifyInferior return $x } -cleanup { destroy .t.f } -result {Enter100 Enter101 Leave102 Leave103} test bind-13.11 {Tk_BindEvent procedure: collapse Motions} -setup { frame .t.f -class Test -width 150 -height 100 pack .t.f focus -force .t.f update set x {} } -body { |
︙ | ︙ |
Changes to tests/event.test.
︙ | ︙ | |||
857 858 859 860 861 862 863 | on which this test is run does NOT have a diaeresis \ physical key - in this case, test is actually void." } } -cleanup { deleteWindows } -result {OK} | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 857 858 859 860 861 862 863 864 865 866 867 868 869 870 | on which this test is run does NOT have a diaeresis \ physical key - in this case, test is actually void." } } -cleanup { deleteWindows } -result {OK} test event-9.1 {enter . window by destroying a toplevel - bug b1d115fa60} -setup { set EnterBind [bind . <Enter>] } -body { wm geometry . 200x200+300+300 wm deiconify . _pause 200 toplevel .top2 -width 200 -height 200 |
︙ | ︙ |