[Linux] show/hide emission hooks are never removed; verify clean exit
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 68/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- cpp, linux
調査の方向性
Start in src/platform/linux/window_manager_linux.cpp at InstallGlobalSwizzling(), comparing the show/hide hooks with the nearby focus-in/focus-out hooks. Trace where window_manager shuts down and verify the hook lifecycle there. Done means a nativeapi Flutter app exits cleanly on Linux under X11 and Wayland, including after closing a secondary window created through package:nativeapi/windowing.dart.
索引モデルが issue の本文から書いたものです。
説明
InstallGlobalSwizzling() in src/platform/linux/window_manager_linux.cpp adds show / hide emission hooks on GtkWidget with g_signal_add_emission_hook(), but doesn't keep the hook ids, so they are never removed. The focus-in/focus-out hooks next to them are removed properly.
window_manager had a similar never-removed button-press-event emission hook in its Linux plugin. Users reported crashes when the app exits, or when a secondary Flutter window closes: FlutterEngineRemoveView ... The implicit view cannot be removed, followed by an epoxy/GLX assertion. The hooks here pass no user data, so they probably can't use a freed plugin pointer, but that should be confirmed:
- keep the hook ids and remove them when the manager shuts down
- check that a Flutter app with nativeapi exits cleanly on Linux (X11 and Wayland), including after a secondary window created through
package:nativeapi/windowing.dartis closed
Background:
- leanflutter/window_manager#585: crash on exit on Fedora 44 KDE X11, from just having the plugin
- leanflutter/window_manager#567: a PR that removes the emission hook on plugin dispose
- 主要言語
- C++
- スター
- 34
- フォーク
- 7
- 平均マージ
- 3日 1時間
- マージ済み PR(30日)
- 1
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
libnativeapi/nativeapi のほかの issue
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
libnativeapi/nativeapi#81 ·
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
libnativeapi/nativeapi#80 ·
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
libnativeapi/nativeapi#79 ·
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
libnativeapi/nativeapi#78 ·
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
libnativeapi/nativeapi#77 ·
libnativeapi/nativeapi の issue をすべて見る
似ている issue
-
ai_reviewed
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
ydb-platform/ydb#53869 · コメント 3 件 ·
-
bug cert blocker needs triage
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
project-chip/connectedhomeip#74373 ·
-
upstream update
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
conan-io/conan-center-index#31035 ·
-
Bug
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
-
documentation
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
vllm-project/vllm-ascend#17329 ·