Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | xmfbox now passes - the crash occurs at the end of the tk tests, before the ttk tests |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | bug-22349fc78a-v2 |
Files: | files | file ages | folders |
SHA3-256: |
af75a05b60f2745c2f7921f748123331 |
User & Date: | culler 2024-05-22 18:45:38 |
Original User & Date: | marc_culler 2024-05-22 18:45:38 |
Context
2024-05-22
| ||
19:00 | Readjust event-9.15 and event-9.19 check-in: 1e0be734 user: culler tags: bug-22349fc78a-v2 | |
18:45 | xmfbox now passes - the crash occurs at the end of the tk tests, before the ttk tests check-in: af75a05b user: culler tags: bug-22349fc78a-v2 | |
16:58 | Add some update hacks to defer macOS crashes until xmfbox.test. check-in: 69059f2d user: culler tags: bug-22349fc78a-v2 | |
Changes
Changes to macosx/tkMacOSXWm.c.
︙ | ︙ | |||
619 620 621 622 623 624 625 | NSPoint p = NSMakePoint(x, TkMacOSXZeroScreenHeight() - y); NSArray *windows = [NSApp orderedWindows]; TkWindow *winPtr = NULL; for (NSWindow *w in windows) { winPtr = TkMacOSXGetTkWindow(w); if (winPtr) { | < | < < | < | | < < < | 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 | NSPoint p = NSMakePoint(x, TkMacOSXZeroScreenHeight() - y); NSArray *windows = [NSApp orderedWindows]; TkWindow *winPtr = NULL; for (NSWindow *w in windows) { winPtr = TkMacOSXGetTkWindow(w); if (winPtr) { NSRect windowFrame = [w frame]; NSRect contentFrame = windowFrame; /* * For consistency with other platforms, points in the * title bar are not considered to be contained in the * window. */ contentFrame.size.height = [[w contentView] frame].size.height; if (NSMouseInRect(p, contentFrame, NO)) { return winPtr; } } } return NULL; } /* |
︙ | ︙ |
Changes to tests/xmfbox.test.
︙ | ︙ | |||
50 51 52 53 54 55 56 57 58 59 60 61 62 63 | } msg4] if {$err0 || $err1 || $err2 || $err3 || $err4} { error [list $msg0 $msg1 $msg2 $msg3 $msg4] } catch {unset foo} destroy .foo } # ---------------------------------------------------------------------- test xmfbox-1.1 {tk::MotifFDialog_Create, -parent switch} -constraints { unix } -setup { | > | 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | } msg4] if {$err0 || $err1 || $err2 || $err3 || $err4} { error [list $msg0 $msg1 $msg2 $msg3 $msg4] } catch {unset foo} destroy .foo update } # ---------------------------------------------------------------------- test xmfbox-1.1 {tk::MotifFDialog_Create, -parent switch} -constraints { unix } -setup { |
︙ | ︙ | |||
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | unix } -setup { catch {unset foo} deleteWindows } -body { toplevel .bar wm geometry .bar +0+0 set x [tk::MotifFDialog_Create foo open {-parent .bar}] } -cleanup { destroy $x destroy .bar } -result {.bar.foo} test xmfbox-2.1 {tk::MotifFDialog_InterpFilter, ~ in dir names} -constraints { unix } -body { cleanup file mkdir ./~nosuchuser1 set x [tk::MotifFDialog_Create foo open {}] $::tk::dialog::file::foo(fEnt) delete 0 end $::tk::dialog::file::foo(fEnt) insert 0 [pwd]/~nosuchuser1 set kk [tk::MotifFDialog_InterpFilter $x] } -result "$testPWD/~nosuchuser1 *" test xmfbox-2.2 {tk::MotifFDialog_InterpFilter, ~ in file names} -constraints { unix } -body { cleanup close [open ./~nosuchuser1 {CREAT TRUNC WRONLY}] set x [tk::MotifFDialog_Create foo open {}] $::tk::dialog::file::foo(fEnt) delete 0 end $::tk::dialog::file::foo(fEnt) insert 0 [pwd]/~nosuchuser1 set kk [tk::MotifFDialog_InterpFilter $x] } -result "$testPWD ./~nosuchuser1" test xmfbox-2.3 {tk::MotifFDialog_Update, ~ in file names} -constraints { unix } -body { cleanup close [open ./~nosuchuser1 {CREAT TRUNC WRONLY}] set x [tk::MotifFDialog_Create foo open {}] $::tk::dialog::file::foo(fEnt) delete 0 end $::tk::dialog::file::foo(fEnt) insert 0 [pwd]/~nosuchuser1 tk::MotifFDialog_InterpFilter $x tk::MotifFDialog_Update $x $::tk::dialog::file::foo(fList) get end } -result {~nosuchuser1} test xmfbox-2.4 {tk::MotifFDialog_LoadFile, ~ in file names} -constraints { unix } -body { cleanup close [open ./~nosuchuser1 {CREAT TRUNC WRONLY}] set x [tk::MotifFDialog_Create foo open {}] set i [lsearch [$::tk::dialog::file::foo(fList) get 0 end] ~nosuchuser1] expr {$i >= 0} } -result 1 test xmfbox-2.5 {tk::MotifFDialog_BrowseFList, ~ in file names} -constraints { unix } -body { cleanup close [open ./~nosuchuser1 {CREAT TRUNC WRONLY}] set x [tk::MotifFDialog_Create foo open {}] set i [lsearch [$::tk::dialog::file::foo(fList) get 0 end] ~nosuchuser1] $::tk::dialog::file::foo(fList) selection clear 0 end $::tk::dialog::file::foo(fList) selection set $i tk::MotifFDialog_BrowseFList $x $::tk::dialog::file::foo(sEnt) get } -result "$testPWD/~nosuchuser1" | > > > > > > | 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 | unix } -setup { catch {unset foo} deleteWindows } -body { toplevel .bar wm geometry .bar +0+0 update set x [tk::MotifFDialog_Create foo open {-parent .bar}] } -cleanup { destroy $x destroy .bar } -result {.bar.foo} test xmfbox-2.1 {tk::MotifFDialog_InterpFilter, ~ in dir names} -constraints { unix } -body { cleanup file mkdir ./~nosuchuser1 set x [tk::MotifFDialog_Create foo open {}] update $::tk::dialog::file::foo(fEnt) delete 0 end $::tk::dialog::file::foo(fEnt) insert 0 [pwd]/~nosuchuser1 set kk [tk::MotifFDialog_InterpFilter $x] } -result "$testPWD/~nosuchuser1 *" test xmfbox-2.2 {tk::MotifFDialog_InterpFilter, ~ in file names} -constraints { unix } -body { cleanup close [open ./~nosuchuser1 {CREAT TRUNC WRONLY}] set x [tk::MotifFDialog_Create foo open {}] update $::tk::dialog::file::foo(fEnt) delete 0 end $::tk::dialog::file::foo(fEnt) insert 0 [pwd]/~nosuchuser1 set kk [tk::MotifFDialog_InterpFilter $x] } -result "$testPWD ./~nosuchuser1" test xmfbox-2.3 {tk::MotifFDialog_Update, ~ in file names} -constraints { unix } -body { cleanup close [open ./~nosuchuser1 {CREAT TRUNC WRONLY}] set x [tk::MotifFDialog_Create foo open {}] update $::tk::dialog::file::foo(fEnt) delete 0 end $::tk::dialog::file::foo(fEnt) insert 0 [pwd]/~nosuchuser1 tk::MotifFDialog_InterpFilter $x tk::MotifFDialog_Update $x $::tk::dialog::file::foo(fList) get end } -result {~nosuchuser1} test xmfbox-2.4 {tk::MotifFDialog_LoadFile, ~ in file names} -constraints { unix } -body { cleanup close [open ./~nosuchuser1 {CREAT TRUNC WRONLY}] set x [tk::MotifFDialog_Create foo open {}] update set i [lsearch [$::tk::dialog::file::foo(fList) get 0 end] ~nosuchuser1] expr {$i >= 0} } -result 1 test xmfbox-2.5 {tk::MotifFDialog_BrowseFList, ~ in file names} -constraints { unix } -body { cleanup close [open ./~nosuchuser1 {CREAT TRUNC WRONLY}] set x [tk::MotifFDialog_Create foo open {}] update set i [lsearch [$::tk::dialog::file::foo(fList) get 0 end] ~nosuchuser1] $::tk::dialog::file::foo(fList) selection clear 0 end $::tk::dialog::file::foo(fList) selection set $i tk::MotifFDialog_BrowseFList $x $::tk::dialog::file::foo(sEnt) get } -result "$testPWD/~nosuchuser1" |
︙ | ︙ |