void ScintillaAccelerator::updateKeys() { NppParameters *pNppParam = NppParameters::getInstance(); vector<ScintillaKeyMap> & map = pNppParam->getScintillaKeyList(); size_t mapSize = map.size(); size_t index; for(int i = 0; i < _nrScintillas; ++i) { ::SendMessage(_vScintillas[i], SCI_CLEARALLCMDKEYS, 0, 0); for(int32_t j = static_cast<int32_t>(mapSize) - 1; j >= 0; j--) //reverse order, top of the list has highest priority { ScintillaKeyMap skm = map[j]; if (skm.isEnabled()) { //no validating, scintilla accepts more keys size_t size = skm.getSize(); for(index = 0; index < size; ++index) ::SendMessage(_vScintillas[i], SCI_ASSIGNCMDKEY, skm.toKeyDef(index), skm.getScintillaKeyID()); } if (skm.getMenuCmdID() != 0) { updateMenuItemByID(skm, skm.getMenuCmdID()); } if (j == 0) //j is unsigned, so default method doesnt work break; } } }