Alternative fix for Bug #18650, case 1

This commit is contained in:
Joshua Fuhs 2012-12-04 19:36:38 -05:00
parent ecdfff073a
commit d7dd018704
1 changed files with 18 additions and 4 deletions

View File

@ -208,13 +208,27 @@ Manager_cleanup()
Manager_closeWindow()
{
Local aWndId, aview, c0
WinGet, aWndId, ID, A
WinGetClass, aWndClass, ahk_id %aWndId%
WinGetTitle, aWndTitle, ahk_id %aWndId%
;; @todo: Prior to closing, find the next window that should have focus.
;; If there is no such window, choose the bar on the same monitor.
If Not (aWndClass = "AutoHotkeyGUI" And RegExMatch(aWndTitle, "bug.n_BAR_[0-9]+"))
{
;; Prior to closing, find the next window that should have focus.
;; If there is no such window, choose the bar on the same monitor.
aview := Monitor_#%Manager_aMonitor%_aView_#1
wnds := View_#%Manager_aMonitor%_#%aview%_wndIds
StringSplit, c, wnds, `;
If (c0 < 3)
{
Manager_winActivate(0)
}
Else
{
View_activateWindow(1)
}
Manager_winClose(aWndId)
}
}
@ -593,8 +607,8 @@ Manager_onShellMessage(wParam, lParam) {
WinGetPos, aWndX, aWndY, aWndWidth, aWndHeight, ahk_id %aWndId%
m := Monitor_get(aWndX + aWndWidth / 2, aWndY + aWndHeight / 2)
Debug_logMessage("DEBUG[1] Manager_onShellMessage: Manager_monitorCount: " Manager_monitorCount ", Manager_aMonitor: " Manager_aMonitor ", m: " m ", aWndId: " aWndId, 1)
If m And Not (m = Manager_aMonitor)
Manager_activateMonitor(0)
If m
Manager_aMonitor := m
}
If wndIds