浏览代码

* handle nil key events properly in ConvertToLegacyKeyEvent

git-svn-id: branches/unicodekvm@40295 -
nickysn 6 年之前
父节点
当前提交
7d638a1e39
共有 1 个文件被更改,包括 6 次插入3 次删除
  1. 6 3
      packages/rtl-console/src/inc/keyboard.inc

+ 6 - 3
packages/rtl-console/src/inc/keyboard.inc

@@ -110,9 +110,12 @@ end;
 
 function ConvertToLegacyKeyEvent(const KeyEvent: TEnhancedKeyEvent): TKeyEvent;
 begin
-  ConvertToLegacyKeyEvent:=(kbPhys shl 24) or
-    ConvertExtendedToStandardScanCode(KeyEvent.VirtualScanCode) or
-    (KeyEvent.ShiftState shl 16);
+  if KeyEvent=NilEnhancedKeyEvent then
+    ConvertToLegacyKeyEvent:=0
+  else
+    ConvertToLegacyKeyEvent:=(kbPhys shl 24) or
+      ConvertExtendedToStandardScanCode(KeyEvent.VirtualScanCode) or
+      (KeyEvent.ShiftState shl 16);
 end;