fix(recording-dialog): +20% height so the file-name box is not clipped; unhook full-screen hook on shutdown
RenameRecordingDialog was 230px tall for ~225px of stacked content — the file-name textbox clipped (old client area ~193px). Height is now 276 (+20%). Integration test shows the real dialog in the app host and asserts the textbox bottom edge stays inside the client area; the dialog's Icon moved to the explicit /ytLive;component/ URLC form MainWindow already uses so tests can construct it (root-relative /Assets/... only resolves in production via Application.ResourceAssembly). Dependency fix: MainViewModel.Shutdown() now calls _fullScreenDetector.StopWatching(). The global EVENT_SYSTEM_FOREGROUND hook was never unhooked; after VM collection the next foreground event invoked a garbage-collected WinEventProc delegate, crashing the whole test run. Harmless in production (exits the process) but fatal in the multi-window test host. Reference: WPF WinEvent hook lifecycle guidance — SetWinEventHook callbacks must be unhooked before the owning object is collected (obs-projector fullscreen-detection pattern).
This commit is contained in:
@@ -418,6 +418,7 @@ public partial class MainViewModel : ViewModelBase
|
||||
{
|
||||
_saveDebounce?.Stop();
|
||||
SaveLayoutNow();
|
||||
_fullScreenDetector.StopWatching();
|
||||
_audioMixer.Dispose();
|
||||
_framePump.Dispose();
|
||||
_cameraManager.Dispose();
|
||||
|
||||
Reference in New Issue
Block a user