From e448b9bfdac5c0e751749eb62270dada1476e046 Mon Sep 17 00:00:00 2001 From: AskaEth Date: Thu, 3 Sep 2026 14:00:28 +0800 Subject: [PATCH] =?UTF-8?q?fix(launcher):=20M6.22=20=E6=92=AD=E6=94=BE?= =?UTF-8?q?=E9=A1=B5=E8=BF=94=E5=9B=9E=E6=A0=B9=E5=9B=A0=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=20=E2=80=94=20np=5Fexit=20=E9=80=80=E5=87=BA=E5=A4=96=E5=B1=82?= =?UTF-8?q?=E4=B8=BB=E5=BE=AA=E7=8E=AF(break=E9=94=99=E5=B1=82=E7=BA=A7)?= =?UTF-8?q?=20=E2=80=94=20=E6=8E=A8=E5=8D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- patch_v2/meow_launcherd/now_playing.c | 6 +++++- scripts/build/fw_content.conf | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/patch_v2/meow_launcherd/now_playing.c b/patch_v2/meow_launcherd/now_playing.c index cd6aa1f..3716d3d 100644 --- a/patch_v2/meow_launcherd/now_playing.c +++ b/patch_v2/meow_launcherd/now_playing.c @@ -293,6 +293,8 @@ void run_now_playing(struct app *apps, int napps) unsigned long long last_prog = now_ms(); unsigned long long np_last_status_tick = now_ms(); /* M6.20:播放页状态栏时钟 1s 刷新(主界面同语义) */ int need_redraw = 1; + int np_exit = 0; /* M6.22:返回手势命中 → 置位退出外层主循环。触摸内的 break 只跳出内层 + * 读事件 while,不退出外层 while(!sigterm_flag),故必须靠标志跳出(根因:返回「没反应」)。 */ char last_title[128] = ""; uint32_t last_state = 0xFFFFFFFFu; char last_app[MEOW_APP_ID_MAX] = ""; @@ -302,6 +304,7 @@ void run_now_playing(struct app *apps, int napps) meow_ui_flush(); while (!sigterm_flag) { + if (np_exit) break; /* M6.22:返回手势已命中 → 退出本页,走尾部收尾回主界面 */ meow_ipc_process(); meow_media_tick(); unsigned long long now = now_ms(); @@ -354,7 +357,8 @@ void run_now_playing(struct app *apps, int napps) * (进度=点按,幅度<60 走 tap 分支),故任意位置横向右滑恒判返回。 */ else if (np_edge || np_anyright) { logmsg("np: BACK break (edge=%d anyright=%d dx=%d)", np_edge, np_anyright, dx); - break; + np_exit = 1; + break; /* 仅跳出内层读事件 while;外层主循环靠 np_exit 退出 */ } if (adx < 60 && ady < 60) { int cmd = np_btn_tap(tlx, tly); diff --git a/scripts/build/fw_content.conf b/scripts/build/fw_content.conf index ee2c31c..0fdaad1 100644 --- a/scripts/build/fw_content.conf +++ b/scripts/build/fw_content.conf @@ -28,7 +28,7 @@ # ---- 用户态/服务守护二进制(usr/bin,全部 chmod 755 静态 MIPS)---- patch_v2/bootmenu/meow_bootmenu|/usr/bin/meow_bootmenu|4441822d87e76bfce2ce584604ac3830|引导选单 M2.85(sysui让位 agent-216) -patch_v2/meow_launcherd/meow_launcherd|/usr/bin/meow_launcherd|db77d3dba394dc0e97882d600d13bb0e|M6.21 播放页右滑返回诊断+阈值放宽 +patch_v2/meow_launcherd/meow_launcherd|/usr/bin/meow_launcherd|dd9e619df3e0ab7544850133ac6db7df|M6.22 播放页返回根因修复(np_exit 退出外层主循环) patch_v2/meow_watchdog/meow_watchdog|/usr/bin/meow_watchdog|553840cdc79d8d7bed766a5e3981ac57|应用看门狗 M2.97(音量反转 + DS1039 平方锥度 + 插孔消抖) patch_v2/meow_svcd/meow_svcd|/usr/bin/meow_svcd|605646c4cc93f2baf29071ea6bc870ea|服务管理器 M2.77(+崩溃上报 meow_crash agent-187) mips-repo/bins/meow_mdns/bin/meow_mdns|/usr/bin/meow_mdns|d6b0151bda26768f19952dae1342610d|mDNS 应答器 M2.78(启动竞态+换IP重检 agent-194)