[Windows] Application::Quit posts WM_QUIT before destroying windows
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 72/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- cpp
- Bereich
- desktop, operating-systems
Rechercherichtung
Start in src/platform/windows/application_windows.cpp and trace Application::Quit() through the window teardown and message-loop handling. Check the behavior in a Flutter app, including a close handler that intercepts the system close button. Done means the windows and Flutter engine are destroyed while messages are still pumped, before WM_QUIT is posted, and the app exits promptly.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
On Windows, Application::Quit() ends in PostQuitMessage() (src/platform/windows/application_windows.cpp) without destroying the application's windows first.
window_manager had the same pattern in destroy(), and there it made apps take several seconds to exit, or stop responding, since Flutter 3.24. The window and the Flutter engine were torn down after the message loop had already stopped.
Expected: destroy the windows (so the Flutter view controller shuts down its engine while messages are still pumped), then post WM_QUIT. Needs checking in a Flutter app, including with a close handler that intercepts the system close button.
Background:
- leanflutter/window_manager#478: destroy() takes several seconds (also #452)
- leanflutter/window_manager#590: a PR that destroys the window before quitting the message loop
- Vorherrschende Sprache
- C++
- Sterne
- 34
- Forks
- 7
- Ø Merge
- 3 T. 1 Std.
- Gemergte PRs (30 T.)
- 1
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus libnativeapi/nativeapi
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
libnativeapi/nativeapi#81 ·
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
libnativeapi/nativeapi#80 ·
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
libnativeapi/nativeapi#79 ·
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
libnativeapi/nativeapi#78 ·
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
libnativeapi/nativeapi#77 ·
Alle Issues in libnativeapi/nativeapi
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
duckdb/duckdb-wasm#2258 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
objectionary/eo-graphs#75 ·
-
Coarray integration tests carry no LABELS, so run_tests.py silently skips them under every backend Offencoarray
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
FISCO-BCOS/FISCO-BCOS#5642 ·