From 5f4af37c3411d8fab0c7e436488d10b71f4e0e5b Mon Sep 17 00:00:00 2001 From: glax Date: Tue, 16 Apr 2024 05:00:52 +0200 Subject: [PATCH] Fix multiple windows interfering --- OBSBlur/OBS/Blur.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/OBSBlur/OBS/Blur.cs b/OBSBlur/OBS/Blur.cs index d90ee81..44c1adc 100644 --- a/OBSBlur/OBS/Blur.cs +++ b/OBSBlur/OBS/Blur.cs @@ -30,14 +30,14 @@ public class Blur windowManager.WindowZOrderChanged += WindowManagerOnWindowZOrderChanged; } - private void UpdateBlurs(WindowInfo[]? windowInfos = null, IntPtr[]? zOrder = null) + private void UpdateBlurs() { if (!enabledScenes.Contains(currentScene)) return; if (!_websocket.IsConnected) return; - windowInfos ??= windowManager.WindowInfos; - zOrder ??= windowManager.WindowZOrder; + WindowInfo[] windowInfos = windowManager.WindowInfos; + IntPtr[] zOrder = windowManager.WindowZOrder; bool maximixedWindowReached = false; @@ -58,7 +58,7 @@ public class Blur } foreach(IntPtr blurredWindow in windowHandleSceneItems.Keys.ToArray()) - if(!windowInfos.Any(w => w.WindowHandle == blurredWindow)) + if(windowInfos.All(w => w.WindowHandle != blurredWindow)) DeleteBlur(blurredWindow); } @@ -184,7 +184,7 @@ public class Blur Console.WriteLine($"Z-order changed {DateTime.UtcNow:O}"); Console.WriteLine($"{"Z",3} | {"hWnd",8} | {"PID",8} | {"Name",17} | {"Window Title",-17} | {"Vis",-8} | {"State",-13} | Rectangle"); Console.WriteLine(prnt); - UpdateBlurs(zOrder: neworder); + UpdateBlurs(); } private void WindowManagerOnWindowsChanged(WindowInfo[] before, WindowInfo[] after) @@ -194,7 +194,7 @@ public class Blur prnt += $"{windowInfo}\n"; Console.WriteLine($"Windows changed {DateTime.UtcNow:O}"); Console.WriteLine(prnt); - UpdateBlurs(windowInfos: after); + UpdateBlurs(); } private void WebsocketOnDisconnected(object? sender, ObsDisconnectionInfo e)