---
title: 미저장 제목 별표와 겹친 창 때문에 최소화 실패
date: 2026-10-31T06:35:25.616Z
version: v1.0.0
status: 해결
state: verification
project: designdatatable
type: 버그
report_kind: bug
category: 버그 추적
summary: 24개 창 스트레스에서15번째 최소화 실패를 재현했습니다. 실제 제목의 미저장 별표를 공통 판별에 반영해 수정했습니다.
format: tracefolio-v2
priority: high
severity: major
reporter: 미기록
assignee: 미지정
workflow: resolved
payload: ../assets/submissions/2026-10-31-bug-20261031063525616-v1.0.0.json
---

## 작업 결과

겹친 미저장 DataTable 창의 네이티브 핸들 탐색 실패를 수정하고 반복 최소화·복원1000회 및 상태 보존을 확인했습니다.

## 변경 내용

### 재현 조건

Windows · Unity6000.0.83f1 · Templete1.2.6 · 분리된24개 실제 창

### 재현 순서

두 DataTable과22개 Pixora 창을3개 위치에 겹치고 서로 다른 시험 값을 넣었습니다. DataTable은 저장하지 않은 상태로 엔진 선택3000회 후 최소화·복원을 반복했습니다.

### 기대 동작

미저장 표시가 있어도 정확한 도구 창을 최소화·복원하고 세션을 유지해야 합니다.

### 실제 동작

15번째 대상 MiniGameBalance.xlsx의 핸들을 찾지 못해 최소화가 실패했습니다. 실제 Windows 제목은 MiniGameBalance.xlsx*, Unity titleContent는 MiniGameBalance.xlsx였고 위치와 크기는 같았습니다.

### 원인

제목의 완전 일치만 인정해 별표가 붙은 실제 제목이 named 후보에 들어가지 않았습니다. 같은 위치에 여러 창이 있어 사각형 후보도 복수였고 안전 판별이0을 반환했습니다. missing handle 계측과 실제 네이티브/Unity 제목·위치 대조로 확인했습니다.

### 적용 내용

공통 NativeTitleMatches에서 hasUnsavedChanges가 참일 때만 Unity의 뒤쪽 별표를 허용했습니다. DataTable 일반/준비 미리보기와 공통 fallback 탐색이 이를 사용합니다. 임의 첫 후보 선택은 하지 않습니다. [수정 커밋](https://github.com/MDJ0126/TurnRoom/commit/9238f01873a4e7b41b04e2c9f87be50ce3daad4c).

## 검증

실패2회를 보존한 뒤 제목 판별8개를 포함한206개 회귀가 통과했습니다. 실제24개 창의 선택3000회·최소화/복원1000회 후24개 ID와 미저장 세션을 확인했습니다.

[실패 기록](https://github.com/MDJ0126/TurnRoom/blob/9238f01873a4e7b41b04e2c9f87be50ce3daad4c/Artifacts/WindowStress/2026-10-31/NativeStress-Failed-Diagnosed.json) · [최종 반복 결과](https://github.com/MDJ0126/TurnRoom/blob/9238f01873a4e7b41b04e2c9f87be50ce3daad4c/Artifacts/WindowStress/2026-10-31/NativeStress-ScopedFinal.json).

![검증 후 실제 DataTable 창. 미저장 별표와 시험 값731031이 유지됐습니다.](https://mdj0126.github.io/codex-config/projects/turnroom/assets/window-stress-20261031/Actual-DataTable.webp)

## 남은 사항

확인한 환경과 반복 조건의 수정입니다. 완전히 같은 제목·위치의 복수 후보는 기존처럼 안전하게 미해결로 남깁니다. 다른OS·DPI의 실제 검증은 수행하지 않았습니다.

## 작업 시간

- 제안 시간: 30~50분. 추가 실패 조사·재QA·게시 지연은 진행 중 별도 보고했습니다.
- 실제로 완료된 시간: 시작2026-10-31 14:22:38 KST. 구현·실행 검증·코드 푸시 후 보고서 생성까지72.6분 · 2026-10-31 15:35:15 KST. 게시 확인은 생성 후 별도 수행합니다.
- XERJ: 사용 — XERJ PreserveVisiblePeers 검색 후 현재 WindowServices/WindowFocus/네이티브 호스트와 실행 결과를 대조했습니다.
