summaryrefslogtreecommitdiff
path: root/src/nigui/private/windows
diff options
context:
space:
mode:
authortrustable-code <krauter.simon@arcor.de>2018-05-11 18:18:12 +0200
committertrustable-code <krauter.simon@arcor.de>2018-05-11 18:18:12 +0200
commitb0efefc389e7666b3119f15781c403c0ded7e574 (patch)
tree57d28c125dde7358bc5edf0e375d048140d498b3 /src/nigui/private/windows
parentf8825fa1d708c644997ad01c1a8dfaedc787727b (diff)
downloadNiGui-b0efefc389e7666b3119f15781c403c0ded7e574.tar.gz
NiGui-b0efefc389e7666b3119f15781c403c0ded7e574.zip
Fix: Clear down keys when window focus is lost
Diffstat (limited to 'src/nigui/private/windows')
-rwxr-xr-xsrc/nigui/private/windows/platform_impl.nim9
-rwxr-xr-xsrc/nigui/private/windows/windows.nim1
2 files changed, 6 insertions, 4 deletions
diff --git a/src/nigui/private/windows/platform_impl.nim b/src/nigui/private/windows/platform_impl.nim
index 24d5c8c..f95d92c 100755
--- a/src/nigui/private/windows/platform_impl.nim
+++ b/src/nigui/private/windows/platform_impl.nim
@@ -333,6 +333,8 @@ proc pWindowWndProc(hWnd: pointer, uMsg: int32, wParam, lParam: pointer): pointe
discard
#echo "window WM_SETFOCUS"
# not called?
+ of WM_KILLFOCUS:
+ internalAllKeysUp()
of WM_DROPFILES:
let window = cast[WindowImpl](pGetWindowLongPtr(hWnd, GWLP_USERDATA))
var files: seq[string] = @[]
@@ -1076,14 +1078,13 @@ proc pCommonControlWndProc(hWnd: pointer, uMsg: int32, wParam, lParam: pointer):
of WM_KEYUP:
internalKeyUp(pWMParamsToKey(wParam, lParam))
+ # of WM_KEYUP:
+ # return nil # key is still inserted in text area
+
of WM_CHAR:
let control = cast[Control](pGetWindowLongPtr(hWnd, GWLP_USERDATA))
if control != nil and pHandleWMCHAR(control.parentWindow, control, wParam, lParam):
return PWndProcResult_False
-
- # of WM_KEYUP:
- # return nil # key is still inserted in text area
-
of WM_LBUTTONDOWN, WM_RBUTTONDOWN, WM_MBUTTONDOWN:
let control = cast[Control](pGetWindowLongPtr(hWnd, GWLP_USERDATA))
if control != nil:
diff --git a/src/nigui/private/windows/windows.nim b/src/nigui/private/windows/windows.nim
index 3bf3515..902b39b 100755
--- a/src/nigui/private/windows/windows.nim
+++ b/src/nigui/private/windows/windows.nim
@@ -133,6 +133,7 @@ const
WM_RBUTTONDOWN* = 0x0204
WM_RBUTTONUP* = 0x0205
WM_SETFOCUS* = 0x0007
+ WM_KILLFOCUS* = 0x0008
WM_SETFONT* = 48
WM_SIZE* = 5
WM_VSCROLL* = 277