Reworked some umu / proton 7 maximize window and keyboard issues.

This commit is contained in:
2026-09-04 23:39:43 +02:00
parent 8fe627b6cf
commit 09c8f165be
4 changed files with 242 additions and 14 deletions

View File

@@ -1095,6 +1095,7 @@ def _run_and_watch(
detected_at_ns: int | None = None
timed_out = False
stop_reason = "process-exited"
failure_reason: str | None = None
with runner_log_path.open("a", encoding="utf-8") as runner_log:
try:
process = subprocess.Popen(
@@ -1151,18 +1152,26 @@ def _run_and_watch(
current_state = state
current_analysis = analysis.to_summary()
current_text = read_current_run_log_text(state, baseline)
if analysis.load_texture_to_material_failed:
if (
analysis.load_texture_to_material_failed
or analysis.asset_pack_health_failed
):
failure_state = state
failure_trigger_mtime_ns = state.mtime_ns
detected_at_ns = now_ns
post_failure_deadline_ns = now_ns + int(
testcase.stop_after_failure_seconds * 1_000_000_000
)
failure_reason = (
"asset-pack-health"
if analysis.asset_pack_health_failed
else "load-texture-to-material"
)
break
if post_failure_deadline_ns is not None and now_ns >= post_failure_deadline_ns:
stop_reason = "load-texture-to-material"
_stop_process_group(process)
break
if post_failure_deadline_ns is not None and now_ns >= post_failure_deadline_ns:
stop_reason = failure_reason or "load-texture-to-material"
_stop_process_group(process)
break
if now_ns >= deadline_ns:
timed_out = True
stop_reason = "timeout"
@@ -1216,6 +1225,9 @@ def _run_and_watch(
"load_texture_to_material_failed": analysis.get(
"load_texture_to_material_failed", False
),
"asset_pack_health_failed": analysis.get(
"asset_pack_health_failed", False
),
"import_scene_threw": analysis.get("import_scene_threw", False),
}
)
@@ -1244,6 +1256,7 @@ def _run_and_watch(
whispering_vale
and not timed_out
and not current_analysis.get("load_texture_to_material_failed", False)
and not current_analysis.get("asset_pack_health_failed", False)
and not current_analysis.get("import_scene_threw", False)
and not current_analysis.get("failed_import_scenes", [])
) if isinstance(current_analysis, Mapping) else False