diff --git a/devel/201_46.md b/devel/201_46.md index 9f7ea6b4d4..a5cb3ebcd1 100644 --- a/devel/201_46.md +++ b/devel/201_46.md @@ -24,6 +24,10 @@ rm ~/.local/share/moganlab 5. 把引导弹窗X掉,不进入主界面 +## 2026/01/12 回滚对 init_texmacs.cpp的init_main_paths方法的优化 +### What +会导致 macOS 上 focus-parameter-menu-item 处理 boolean 类型时失效 + ## 2026/01/07 优化引导弹窗启动代码,防止因zh.tmu文件被污染而crash ## 2026/01/04 引导弹窗加入进度条 diff --git a/src/System/Boot/init_texmacs.cpp b/src/System/Boot/init_texmacs.cpp index 7965c2f048..669d3ec048 100644 --- a/src/System/Boot/init_texmacs.cpp +++ b/src/System/Boot/init_texmacs.cpp @@ -957,16 +957,20 @@ show_startup_login_dialog () { dialog->setModal (false); dialog->setAttribute (Qt::WA_DeleteOnClose); - bool userDecisionMade= false; + QEventLoop eventLoop; + bool userDecisionMade= false; // Connect dialog signals QObject::connect (dialog, &QWK::StartupLoginDialog::loginRequested, [&] () { g_startup_login_requested= true; userDecisionMade = true; + eventLoop.quit (); }); - QObject::connect (dialog, &QWK::StartupLoginDialog::skipRequested, - [&] () { userDecisionMade= true; }); + QObject::connect (dialog, &QWK::StartupLoginDialog::skipRequested, [&] () { + userDecisionMade= true; + eventLoop.quit (); + }); // Show the dialog (non-blocking) dialog->show (); @@ -975,7 +979,10 @@ show_startup_login_dialog () { dialog->startInitialization (); // Enter local event loop to wait for user decision - dialog->exec (); + eventLoop.exec (); + + // Cleanup + dialog->deleteLater (); return userDecisionMade; }