From 536a07167d6171d143c5e91a146eb218f367eb70 Mon Sep 17 00:00:00 2001 From: donho Date: Sun, 8 Jun 2008 19:55:59 +0000 Subject: [PATCH] [NEW_FEATURE] Add the smart highlight file size limit - 1.5 MB in order to improve the performance. Make setInfo() call before getFuncsArray() call for PluginsManager. git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository@224 f5eea248-9336-0410-98b8-ebc06183d4e3 --- .../src/MISC/PluginsManager/PluginsManager.cpp | 11 +++-------- PowerEditor/src/Notepad_plus.cpp | 6 ++++++ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/PowerEditor/src/MISC/PluginsManager/PluginsManager.cpp b/PowerEditor/src/MISC/PluginsManager/PluginsManager.cpp index 78e098908..7939e92e9 100644 --- a/PowerEditor/src/MISC/PluginsManager/PluginsManager.cpp +++ b/PowerEditor/src/MISC/PluginsManager/PluginsManager.cpp @@ -81,6 +81,8 @@ bool PluginsManager::loadPlugins(const char *dir) pi->_pMessageProc = (PMESSAGEPROC)GetProcAddress(pi->_hLib, "messageProc"); if (!pi->_pMessageProc) throw string("Missing \"messageProc\" function"); + + pi->_pFuncSetInfo(_nppData); pi->_pFuncGetFuncsArray = (PFUNCGETFUNCSARRAY)GetProcAddress(pi->_hLib, "getFuncsArray"); if (!pi->_pFuncGetFuncsArray) @@ -90,16 +92,9 @@ bool PluginsManager::loadPlugins(const char *dir) if ((!pi->_funcItems) || (pi->_nbFuncItem <= 0)) throw string("Missing \"FuncItems\" array, or the nb of Function Item is not set correctly"); -/* - for (int c = 0 ; c < pi->_nbFuncItem ; c++) - if (!pi->_funcItems[c]._pFunc) - throw string("\"FuncItems\" array is not set correctly"); -*/ + pi->_pluginMenu = ::CreateMenu(); - pi->_pFuncSetInfo(_nppData); - - GetLexerCountFn GetLexerCount = (GetLexerCountFn)::GetProcAddress(pi->_hLib, "GetLexerCount"); // it's a lexer plugin if (GetLexerCount) diff --git a/PowerEditor/src/Notepad_plus.cpp b/PowerEditor/src/Notepad_plus.cpp index b7769c0d1..b40f51f7b 100644 --- a/PowerEditor/src/Notepad_plus.cpp +++ b/PowerEditor/src/Notepad_plus.cpp @@ -43,6 +43,8 @@ const char Notepad_plus::_className[32] = NOTEPAD_PP_CLASS_NAME; const char *urlHttpRegExpr = "http://[a-z0-9_\\-\\+.:?&@=/%#]*"; +const int smartHighlightFileSizeLimit = 1024 * 1024 + 512 * 1024; // 1,5 MB + int docTabIconIDs[] = {IDI_SAVED_ICON, IDI_UNSAVED_ICON, IDI_READONLY_ICON}; enum tb_stat {tb_saved, tb_unsaved, tb_ro}; @@ -7692,6 +7694,10 @@ void Notepad_plus::markSelectedText() if (!nppGUI._enableSmartHilite) return; + // + if (_pEditView->getCurrentDocLen() > smartHighlightFileSizeLimit) + return; + //Get selection CharacterRange range = _pEditView->getSelection(); //Dont mark if the selection has not changed.