Commit 05c506c
committed
fix(gui): prevent crash during file dialog and resolve D3D11 resize jitter
- Add reentrant guard to event_watch callback; file dialogs (NFD) run
a Win32 modal loop that pumps messages → SDL fires EXPOSED events →
callback calls NewFrame() while main loop is mid-frame → ImGui assert
- Wrap main loop render in same guard so callback detects mid-frame state
- D3D11 on_resize: remove Flush() stall, use event pixel dimensions
directly, skip vsync on resize frames to beat DWM composition deadline
- Only handle SDL_EVENT_WINDOW_PIXEL_SIZE_CHANGED (drop WINDOW_RESIZED)1 parent b3b9c3e commit 05c506c
1 file changed
Lines changed: 9 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
376 | 376 | | |
377 | 377 | | |
378 | 378 | | |
| 379 | + | |
379 | 380 | | |
380 | 381 | | |
381 | 382 | | |
382 | 383 | | |
383 | 384 | | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
384 | 388 | | |
385 | 389 | | |
386 | 390 | | |
| 391 | + | |
387 | 392 | | |
388 | 393 | | |
389 | 394 | | |
| |||
393 | 398 | | |
394 | 399 | | |
395 | 400 | | |
| 401 | + | |
396 | 402 | | |
397 | 403 | | |
398 | 404 | | |
| |||
401 | 407 | | |
402 | 408 | | |
403 | 409 | | |
| 410 | + | |
404 | 411 | | |
405 | 412 | | |
406 | 413 | | |
| |||
455 | 462 | | |
456 | 463 | | |
457 | 464 | | |
| 465 | + | |
458 | 466 | | |
459 | 467 | | |
460 | 468 | | |
| |||
463 | 471 | | |
464 | 472 | | |
465 | 473 | | |
| 474 | + | |
466 | 475 | | |
467 | 476 | | |
468 | 477 | | |
| |||
0 commit comments