From cc4c1fd713072d001a023118e2d55bff857f9b22 Mon Sep 17 00:00:00 2001 From: "Rob Swindell (on Windows 11)" <rob@synchro.net> Date: Sun, 3 Mar 2024 18:28:04 -0800 Subject: [PATCH] Clear any mouse hot-spots before executing external program from exec_xtrn() As Nelgin pointed out, mouse hot-spots were still active when running external programs (door games) - so clear any active hot-spots before running external programs. This could possibly be done in external() instead, but this sufficient for now. I wouldn't want a menu that EXEC's something (via @-code) to lose all its hot-spots as a result. --- src/sbbs3/xtrn_sec.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/sbbs3/xtrn_sec.cpp b/src/sbbs3/xtrn_sec.cpp index ef17292338..0b8deaff9e 100644 --- a/src/sbbs3/xtrn_sec.cpp +++ b/src/sbbs3/xtrn_sec.cpp @@ -1438,6 +1438,7 @@ bool sbbs_t::exec_xtrn(uint xtrnnum, bool user_event) snprintf(str, sizeof(str), "%u\t%s", useron.number, useron.alias); mqtt_pub_timestamped_msg(mqtt, TOPIC_BBS_ACTION, topic, start, str); + clear_hotspots(); external(cmdstr(cfg.xtrn[xtrnnum]->cmd, drop_file, startup_dir, NULL, mode) ,mode ,cfg.xtrn[xtrnnum]->path); @@ -1446,6 +1447,7 @@ bool sbbs_t::exec_xtrn(uint xtrnnum, bool user_event) if(cfg.xtrn[xtrnnum]->misc&FREETIME) starttime+=end-start; if(cfg.xtrn[xtrnnum]->clean[0]) { + clear_hotspots(); external(cmdstr(cfg.xtrn[xtrnnum]->clean, drop_file, startup_dir, NULL, mode) ,mode&~(EX_STDIN|EX_CONIO), cfg.xtrn[xtrnnum]->path); } -- GitLab