Linux debug: hot restart no longer crashes with live mpv players

Hot restart frees the old isolate's NativeCallables while mpv handles stay
alive; media_kit then quits them on the next start and mpv calls the dead
wakeup callback (SIGSEGV on the mpv 'core' thread). A debug-only runner
hook clears every live handle's wakeup callback on the engine's
on-pre-engine-restart signal.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
foxyzandClaude Opus 5.5 committed 2026-10-09 18:53:07 +03:00
1 parent 151ec95289
commit d002ff6941
5 files changed
+100 -1

No files matched your search

@@ -6,6 +6,7 @@
#endif
#include "flutter/generated_plugin_registrant.h"
#include "hot_restart_guard.h"
struct _MyApplication {
GtkApplication parent_instance;
@@ -87,6 +88,7 @@ static void my_application_activate(GApplication* application) {
gtk_widget_realize(GTK_WIDGET(view));
fl_register_plugins(FL_PLUGIN_REGISTRY(view));
hot_restart_guard_attach(view);
gtk_widget_grab_focus(GTK_WIDGET(view));
}