Commit 27992f1
Fix macOS momentum scrolling: apply SDL hints before first video init
SDL_HINT_MAC_SCROLL_MOMENTUM is consumed exactly once by the Cocoa
backend's registerUserDefaults during the first SDL_InitSubSystem(
SDL_INIT_VIDEO), which registers AppleMomentumScrollSupported. The splash
screen brings video up before init_sdl() set the hint, so SDL read the
unset hint (default off) and momentum-phase scroll events were never
delivered. The later hint in init_sdl() was dead because video was
already up (ref-counted), so registerUserDefaults never re-ran.
Extract the hints into set_sdl_hints() (once-guarded) and call it before
the first video init from every entry point that can reach it first: the
splash screen, init_sdl(), and OSMessageBoxSDL (early fatal dialogs route
through Cocoa_RegisterApp too).
Also restores SDL_HINT_MAC_PRESS_AND_HOLD, which fed the same
registerUserDefaults and was being applied just as late.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>1 parent c896b93 commit 27992f1
3 files changed
Lines changed: 66 additions & 29 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
72 | 72 | | |
73 | 73 | | |
74 | 74 | | |
75 | | - | |
| 75 | + | |
76 | 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 | 77 | | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
106 | 86 | | |
107 | 87 | | |
108 | 88 | | |
| |||
163 | 143 | | |
164 | 144 | | |
165 | 145 | | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
166 | 182 | | |
167 | 183 | | |
168 | 184 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
33 | 39 | | |
34 | 40 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3548 | 3548 | | |
3549 | 3549 | | |
3550 | 3550 | | |
| 3551 | + | |
| 3552 | + | |
| 3553 | + | |
| 3554 | + | |
| 3555 | + | |
| 3556 | + | |
| 3557 | + | |
| 3558 | + | |
3551 | 3559 | | |
3552 | 3560 | | |
3553 | 3561 | | |
| |||
3740 | 3748 | | |
3741 | 3749 | | |
3742 | 3750 | | |
| 3751 | + | |
| 3752 | + | |
| 3753 | + | |
| 3754 | + | |
| 3755 | + | |
| 3756 | + | |
| 3757 | + | |
3743 | 3758 | | |
3744 | 3759 | | |
3745 | 3760 | | |
| |||
0 commit comments