diff --git a/Nasal/canvas/gui.nas b/Nasal/canvas/gui.nas index e86bcca2d..a01af5e76 100644 --- a/Nasal/canvas/gui.nas +++ b/Nasal/canvas/gui.nas @@ -195,6 +195,7 @@ var Window = { # me.onFocusIn(); me._onStateChange(); gui.focused_window = me; + setInputFocus(me); return me; }, # @@ -207,6 +208,7 @@ var Window = { # me.onFocusOut(); me._onStateChange(); gui.focused_window = nil; + setInputFocus(nil); return me; }, setPosition: func @@ -475,6 +477,12 @@ var Window = { } }; +# Clear focus on click outside any window +getDesktop().addEventListener("mousedown", func { + if( gui.focused_window != nil ) + gui.focused_window.clearFocus(); +}); + # Provide old 'Dialog' for backwards compatiblity (should be removed for 3.0) var Dialog = { new: func(size, type = nil, id = nil)