Commit f101660
authored
screen.use() makes its screen current for the callback, but the module
kept recording the previously current screen, so newwin(), newpad() and
getwin() tagged the new window with the wrong owner. The window then
failed to keep its own screen alive: the screen could be freed while the
window was still in use, and the next call on it read freed memory.
initscr() inside use() returned the other screen's standard window for
the same reason.
1 parent 76ac2de commit f101660
2 files changed
Lines changed: 31 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3056 | 3056 | | |
3057 | 3057 | | |
3058 | 3058 | | |
| 3059 | + | |
| 3060 | + | |
| 3061 | + | |
| 3062 | + | |
| 3063 | + | |
| 3064 | + | |
| 3065 | + | |
| 3066 | + | |
| 3067 | + | |
| 3068 | + | |
| 3069 | + | |
| 3070 | + | |
| 3071 | + | |
| 3072 | + | |
| 3073 | + | |
| 3074 | + | |
| 3075 | + | |
| 3076 | + | |
| 3077 | + | |
| 3078 | + | |
| 3079 | + | |
| 3080 | + | |
| 3081 | + | |
| 3082 | + | |
| 3083 | + | |
| 3084 | + | |
| 3085 | + | |
3059 | 3086 | | |
3060 | 3087 | | |
3061 | 3088 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5303 | 5303 | | |
5304 | 5304 | | |
5305 | 5305 | | |
| 5306 | + | |
5306 | 5307 | | |
5307 | | - | |
5308 | 5308 | | |
5309 | 5309 | | |
5310 | 5310 | | |
| |||
5313 | 5313 | | |
5314 | 5314 | | |
5315 | 5315 | | |
| 5316 | + | |
| 5317 | + | |
5316 | 5318 | | |
| 5319 | + | |
5317 | 5320 | | |
5318 | 5321 | | |
5319 | 5322 | | |
| |||
0 commit comments