SQLBI Whiteboard 1.0.2 (dev 3261)
Pre-release
Pre-release
Keep Graphics Capture on the UI thread and bump to 1.0.2 (#70) 1.0.1 still crashed in the Store with `AccessViolationException` from `IObjectReference.Finalize` (`0xC0000005`). Disposing the session and frame fields was not enough. Two RCWs were still left for the GC, and both match create-LiveView-then-resize: - `GraphicsCapturePicker` is not `IDisposable`. The pick method allocated it and dropped it. Resize allocates, GC runs, the finalizer `Marshal.Release`s off the UI apartment. - `CreateFreeThreaded` built frames on a worker. Rate-limiting disposed most of those wrappers on that worker. In a packaged process they are apartment-bound. Create a WinRT `DispatcherQueue` on the WPF UI thread and hold the native controller for the process lifetime. Switch the frame pool to `Create` so `FrameArrived` stays on that thread. `Release` every capture RCW there, including the picker. `VersionPrefix` is 1.0.2 so this can go to the Store (identity `1.0.2.0`). Verified locally: `dotnet build Whiteboard.sln -c Release` is clean, Core smoke tests pass. Confirmation is still a packaged install on a machine that crashed on 1.0.1; the portable ZIP never hit this path.