From 68582f69738d0722e40ec365aef788af46da6db6 Mon Sep 17 00:00:00 2001
From: chylex <contact@chylex.com>
Date: Sat, 8 Jan 2022 05:44:24 +0100
Subject: [PATCH] Fix not disposing frame object when handling key events

---
 Browser/Handling/KeyboardHandlerBase.cs | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/Browser/Handling/KeyboardHandlerBase.cs b/Browser/Handling/KeyboardHandlerBase.cs
index 7ad390cb..6a11f605 100644
--- a/Browser/Handling/KeyboardHandlerBase.cs
+++ b/Browser/Handling/KeyboardHandlerBase.cs
@@ -14,8 +14,12 @@ protected virtual bool HandleRawKey(IWebBrowser browserControl, Keys key, CefEve
 		}
 
 		bool IKeyboardHandler.OnPreKeyEvent(IWebBrowser browserControl, IBrowser browser, KeyType type, int windowsKeyCode, int nativeKeyCode, CefEventFlags modifiers, bool isSystemKey, ref bool isKeyboardShortcut) {
-			if (type == KeyType.RawKeyDown && !browser.FocusedFrame.Url.StartsWith("devtools://")) {
-				return HandleRawKey(browserControl, (Keys) windowsKeyCode, modifiers);
+			if (type == KeyType.RawKeyDown) {
+				using var frame = browser.FocusedFrame;
+
+				if (!frame.Url.StartsWith("devtools://")) {
+					return HandleRawKey(browserControl, (Keys) windowsKeyCode, modifiers);
+				}
 			}
 
 			return false;