Skip to content

Commit 0da8eb3

Browse files
committed
Fix code issue
1 parent d2325d5 commit 0da8eb3

File tree

1 file changed

+23
-31
lines changed

1 file changed

+23
-31
lines changed

Flow.Launcher.Infrastructure/QuickSwitch/QuickSwitch.cs

Lines changed: 23 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -280,28 +280,31 @@ private static unsafe void InvokeShowQuickSwitchWindow()
280280
// So we start & stop the timer when we find a file dialog window
281281
/*lock (_currentDialogWindowLock)
282282
{
283-
var currentDialogWindowChanged = _currentDialogWindow == null ||
283+
lock (_dialogWindowLock)
284+
{
285+
var currentDialogWindowChanged = _currentDialogWindow == null ||
284286
_currentDialogWindow != _dialogWindow;
285287
286-
if (currentDialogWindowChanged)
287-
{
288-
if (!_moveSizeHook.IsNull)
288+
if (currentDialogWindowChanged)
289289
{
290-
PInvoke.UnhookWinEvent(_moveSizeHook);
291-
_moveSizeHook = HWINEVENTHOOK.Null;
290+
if (!_moveSizeHook.IsNull)
291+
{
292+
PInvoke.UnhookWinEvent(_moveSizeHook);
293+
_moveSizeHook = HWINEVENTHOOK.Null;
294+
}
295+
296+
// Call MoveSizeCallBack when the window is moved or resized
297+
uint processId;
298+
var threadId = PInvoke.GetWindowThreadProcessId(_dialogWindow.Handle, &processId);
299+
_moveSizeHook = PInvoke.SetWinEventHook(
300+
PInvoke.EVENT_SYSTEM_MOVESIZESTART,
301+
PInvoke.EVENT_SYSTEM_MOVESIZEEND,
302+
PInvoke.GetModuleHandle((PCWSTR)null),
303+
MoveSizeCallBack,
304+
processId,
305+
threadId,
306+
PInvoke.WINEVENT_OUTOFCONTEXT);
292307
}
293-
294-
// Call MoveSizeCallBack when the window is moved or resized
295-
uint processId;
296-
var threadId = PInvoke.GetWindowThreadProcessId(_dialogWindow.Handle, &processId);
297-
_moveSizeHook = PInvoke.SetWinEventHook(
298-
PInvoke.EVENT_SYSTEM_MOVESIZESTART,
299-
PInvoke.EVENT_SYSTEM_MOVESIZEEND,
300-
PInvoke.GetModuleHandle((PCWSTR)null),
301-
MoveSizeCallBack,
302-
processId,
303-
threadId,
304-
PInvoke.WINEVENT_OUTOFCONTEXT);
305308
}
306309
}*/
307310
}
@@ -637,20 +640,9 @@ private static void NavigateDialogPath(HWND hwnd, Action action = null)
637640
dialogWindow = _dialogWindow;
638641
}
639642
}
643+
// Then check all dialog windows
640644
if (dialogWindow == null)
641645
{
642-
// Then check current dialog window
643-
lock (_currentDialogWindowLock)
644-
{
645-
if (_currentDialogWindow != null && _currentDialogWindow.Handle == hwnd)
646-
{
647-
dialogWindow = _currentDialogWindow;
648-
}
649-
}
650-
}
651-
if (dialogWindow == null)
652-
{
653-
// After that check all dialog windows
654646
foreach (var dialog in _quickSwitchDialogs)
655647
{
656648
if (dialog.DialogWindow.Handle == hwnd)
@@ -660,9 +652,9 @@ private static void NavigateDialogPath(HWND hwnd, Action action = null)
660652
}
661653
}
662654
}
655+
// Finally search for the dialog window
663656
if (dialogWindow == null)
664657
{
665-
// Finally search for the dialog window
666658
foreach (var dialog in _quickSwitchDialogs)
667659
{
668660
if (dialog.CheckDialogWindow(hwnd))

0 commit comments

Comments
 (0)