From a67cf41c179e70e5f5ac6381d925b8bc29bf1ef8 Mon Sep 17 00:00:00 2001 From: Marcel Gerber Date: Sun, 8 Feb 2015 20:57:01 +0100 Subject: [PATCH] Fix memory leak in Quick Open/Smart Autocomplete --- src/search/QuickOpen.js | 3 +++ .../smart-auto-complete-local/jquery.smart_autocomplete.js | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/search/QuickOpen.js b/src/search/QuickOpen.js index ec214e79ad0..ddce733e28f 100644 --- a/src/search/QuickOpen.js +++ b/src/search/QuickOpen.js @@ -521,6 +521,9 @@ define(function (require, exports, module) { } }, 0); + _curDialog = null; + + $("input#quickOpenSearch").removeData("smart-autocomplete"); $(".smart_autocomplete_container").remove(); $(window.document).off("mousedown", this._handleDocumentMouseDown); diff --git a/src/thirdparty/smart-auto-complete-local/jquery.smart_autocomplete.js b/src/thirdparty/smart-auto-complete-local/jquery.smart_autocomplete.js index d8fa7e05b0a..3cfbd571ad6 100644 --- a/src/thirdparty/smart-auto-complete-local/jquery.smart_autocomplete.js +++ b/src/thirdparty/smart-auto-complete-local/jquery.smart_autocomplete.js @@ -494,6 +494,8 @@ } }); + // Brackets monkeypatch: don't bind leaky handlers to document. Brackets can detect lost focus itself. +/* //check for loosing focus on smart complete field and results container //$(this).blur(function(ev){ $(document).bind("focusin click", function(ev){ @@ -505,6 +507,7 @@ $(options.context).trigger("lostFocus"); } }); +*/ // Brackets monkeypatch: don't trigger item focus/unfocus events on mouseenter/mouseleave, since we don't // want to select an item just by mousing over it. We just want an ordinary hover highlight, which we apply