Cocoa : correctly handle late events sent after window deactivate
authorDamien Plisson <damien.plisson@yahoo.fr>
Thu, 28 Jan 2010 19:18:36 +0000 (19:18 +0000)
committerDamien Plisson <damien.plisson@yahoo.fr>
Thu, 28 Jan 2010 19:18:36 +0000 (19:18 +0000)
commite4882e3da2ed7af07dc5f3dc139d784b5337a796
treed1aed31ce80895ca03296f7b112276036dccff37
parentcd2c4a58345dfabf88e985b6aca5f259168f628e
Cocoa : correctly handle late events sent after window deactivate

Cocoa can still send events (tagged with the correct NSWindow handle) after having sent the window deactivate event.
This caused these events being discarded as there was no active window for GHOST_WindowManager.

Fix is to use this NSWindow handle to retrieve the target window and correctly push the event.

E.g. of effects of this bug: OSKey modifier stuck after having invoked Spotlight through its shortcut (Cmd + Space). This gave the impression the Blender window has not got focus back for the keyboard.

Ton, can you confirm if this fixes the "Cocoa window loses focus permanently on using Spotlight" issue you found ?
intern/ghost/GHOST_IWindow.h
intern/ghost/intern/GHOST_SystemCocoa.mm
intern/ghost/intern/GHOST_Window.cpp
intern/ghost/intern/GHOST_Window.h
intern/ghost/intern/GHOST_WindowCocoa.h
intern/ghost/intern/GHOST_WindowCocoa.mm
intern/ghost/intern/GHOST_WindowManager.cpp
intern/ghost/intern/GHOST_WindowManager.h