v1.8.36: fix fullscreen toggle — _is_detached flag prevents re-embed conflict

- Added _is_detached flag to EmbeddedRDP (set in detach(), cleared in reattach())
- _monitor_tick() skips try_reembed() when window is intentionally detached
- Prevents race condition: monitor tick no longer re-embeds fullscreen window
- Added plans/test-rdp.md — RDP testing documentation
- build.py auto-cleanup removed v1.8.31

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
chrome-storm-c442
2026-02-24 12:59:16 -05:00
parent 68f2d7eae8
commit 142b68515c
5 changed files with 459 additions and 2 deletions

View File

@@ -384,7 +384,8 @@ class LaunchTab(ctk.CTkFrame):
self._on_rdp_exited()
return
if not self._embedded_rdp.is_embedded():
# Skip re-embed check when intentionally detached (fullscreen)
if not self._embedded_rdp._is_detached and not self._embedded_rdp.is_embedded():
# HWND invalid or reparented — mstsc reconnected with new window
log.info("RDP window lost, attempting re-embed...")
self._rdp_frame.update_idletasks()