Skip to content

Commit a7094bb

Browse files
committed
修复无法重启
1 parent 8d1d58d commit a7094bb

3 files changed

Lines changed: 15 additions & 35 deletions

File tree

CHANGELOG/v2.2.1/CHANGELOG.md

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,15 @@ v2.0 - Koharu(小鸟游星野) release 4
88
## 💡 功能优化
99

1010
- 优化 Sentry上报,过滤**无效错误**与日志
11-
- 优化 main/window/tray.py,重构结构并提取**常量**
12-
- 优化 app/tools目录,重构结构并提取**常量**
13-
- 优化 roll_call/lottery.py,提取重复代码至**UI工具类**
14-
- 优化 RollCall/LotteryController,封装**业务逻辑**
15-
- 优化 RollCall/LotteryUIInterface,预留**自定义接口**
16-
- 优化 VoiceCacheManager,移除**内存缓存**
17-
- 优化 TTSHandler,整合**系统音量控制**
18-
- 优化 edge_tts_worker.py,简化**代码结构**
19-
- 优化 font_manager.py,重构字体加载并提取**常量**
20-
- 优化 personalised.py,简化图标与主题函数,移除**重复代码**
21-
- 优化 config.py,新增通知与音量**常量配置**
22-
- 优化 button_draw_utils.py,新增函数**文档注释**
11+
- 优化 托盘功能,重构结构并提取**常量**
12+
- 优化 工具模块,重构结构并提取**常量**
13+
- 优化 抽奖功能,提取重复代码至**UI工具类**
14+
- 优化 语音缓存,移除**内存缓存**
15+
- 优化 语音合成,整合**系统音量控制**
16+
- 优化 Edge语音,简化**代码结构**
17+
- 优化 字体管理,重构字体加载并提取**常量**
18+
- 优化 个性化设置,简化图标与主题函数,移除**重复代码**
19+
- 优化 配置文件,新增通知与音量**常量配置**
2320

2421
## 🐛 修复问题
2522

@@ -30,8 +27,9 @@ v2.0 - Koharu(小鸟游星野) release 4
3027
- 修复 设置文件读取空文件**JSON解析**错误
3128
- 修复 图标加载空文件**图标映射**错误
3229
- 修复 抽奖奖品抽取时**KeyError**报错
33-
- 修复 config.py通知**lambda**函数显示异常
34-
- 修复 roll_call/roll_call_utils.py 中**缓存键错误**
30+
- 修复 配置通知,修复**lambda函数**显示异常
31+
- 修复 点名功能,修复**缓存键错误**,导致的重复问题
32+
- 修复 应用重启功能,修复**无法重启**问题
3533

3634
## 🔧 其它变更
3735

app/tools/variable.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -281,9 +281,6 @@
281281
UPDATE_CHECK_THREAD_TIMEOUT_MS = 2000 # 更新检查线程超时时间(毫秒)
282282
PROCESS_EXIT_WAIT_SECONDS = 1 # 进程退出等待时间(秒)
283283

284-
# -------------------- Windows 进程配置 --------------------
285-
CREATE_NO_WINDOW = 0x08000000 # Windows 进程创建标志,不创建新窗口
286-
287284

288285
# ==================================================
289286
# 全局变量

main.py

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
import sys
33
import time
44
import gc
5-
import subprocess
65

76
import sentry_sdk
87
from sentry_sdk.integrations.loguru import LoguruIntegration, LoggingLevels
@@ -23,7 +22,6 @@
2322
DEV_HINT_DELAY_MS,
2423
UPDATE_CHECK_THREAD_TIMEOUT_MS,
2524
PROCESS_EXIT_WAIT_SECONDS,
26-
CREATE_NO_WINDOW,
2725
)
2826
from app.core.single_instance import (
2927
check_single_instance,
@@ -315,24 +313,11 @@ def restart_application(program_dir):
315313
os._exit(1)
316314

317315
try:
318-
if sys.platform.startswith("win"):
319-
startup_info = subprocess.STARTUPINFO()
320-
startup_info.dwFlags |= subprocess.STARTF_USESHOWWINDOW
321-
subprocess.Popen(
322-
[executable] + filtered_args,
323-
cwd=program_dir,
324-
creationflags=subprocess.CREATE_NEW_PROCESS_GROUP | CREATE_NO_WINDOW,
325-
startupinfo=startup_info,
326-
)
327-
else:
328-
subprocess.Popen(
329-
[executable] + filtered_args,
330-
cwd=program_dir,
331-
start_new_session=True,
332-
)
333-
logger.info("新的应用程序实例已启动")
316+
os.chdir(program_dir)
317+
os.execl(executable, executable, *filtered_args)
334318
except Exception as e:
335319
logger.exception(f"重启应用程序失败: {e}")
320+
os._exit(1)
336321

337322

338323
def handle_exit(

0 commit comments

Comments
 (0)