[BUG_FIXED] Fix the translated sub menu entries applying on the menu item.
[ENHANCED] Display more information while catching of plugins crash. git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@585 f5eea248-9336-0410-98b8-ebc06183d4e3
This commit is contained in:
parent
759a950cfa
commit
0d2eee4ed5
@ -371,7 +371,9 @@ void PluginsManager::runPluginCommand(size_t i)
|
||||
try {
|
||||
_pluginsCommands[i]._pFunc();
|
||||
} catch (...) {
|
||||
pluginCrashAlert(_pluginsCommands[i]._pluginName.c_str(), TEXT("runPluginCommand(size_t i)"));
|
||||
TCHAR funcInfo[128];
|
||||
generic_sprintf(funcInfo, TEXT("runPluginCommand(size_t i : %d)"), i);
|
||||
pluginCrashAlert(_pluginsCommands[i]._pluginName.c_str(), funcInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -389,7 +391,9 @@ void PluginsManager::runPluginCommand(const TCHAR *pluginName, int commandID)
|
||||
try {
|
||||
_pluginsCommands[i]._pFunc();
|
||||
} catch (...) {
|
||||
pluginCrashAlert(_pluginsCommands[i]._pluginName.c_str(), TEXT("runPluginCommand(const TCHAR *pluginName, int commandID)"));
|
||||
TCHAR funcInfo[128];
|
||||
generic_sprintf(funcInfo, TEXT("runPluginCommand(const TCHAR *pluginName : %s, int commandID : %d)"), pluginName, commandID);
|
||||
pluginCrashAlert(_pluginsCommands[i]._pluginName.c_str(), funcInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -408,7 +412,10 @@ void PluginsManager::notify(SCNotification *notification)
|
||||
try {
|
||||
_pluginInfos[i]->_pBeNotified(&scNotif);
|
||||
} catch (...) {
|
||||
pluginCrashAlert(_pluginsCommands[i]._pluginName.c_str(), TEXT("notify(SCNotification *notification)"));
|
||||
TCHAR funcInfo[128];
|
||||
generic_sprintf(funcInfo, TEXT("notify(SCNotification *notification) : \r notification->nmhdr.code == %d\r notification->nmhdr.hwndFrom == %d\r notification->nmhdr.idFrom == %d"),\
|
||||
scNotif.nmhdr.code, scNotif.nmhdr.hwndFrom, scNotif.nmhdr.idFrom);
|
||||
pluginCrashAlert(_pluginsCommands[i]._pluginName.c_str(), funcInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -423,7 +430,9 @@ void PluginsManager::relayNppMessages(UINT Message, WPARAM wParam, LPARAM lParam
|
||||
try {
|
||||
_pluginInfos[i]->_pMessageProc(Message, wParam, lParam);
|
||||
} catch (...) {
|
||||
pluginCrashAlert(_pluginsCommands[i]._pluginName.c_str(), TEXT("relayNppMessages(UINT Message, WPARAM wParam, LPARAM lParam)"));
|
||||
TCHAR funcInfo[128];
|
||||
generic_sprintf(funcInfo, TEXT("relayNppMessages(UINT Message : %d, WPARAM wParam : %d, LPARAM lParam : %d)"), Message, wParam, lParam);
|
||||
pluginCrashAlert(_pluginsCommands[i]._pluginName.c_str(), TEXT(""));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -444,7 +453,9 @@ bool PluginsManager::relayPluginMessages(UINT Message, WPARAM wParam, LPARAM lPa
|
||||
try {
|
||||
_pluginInfos[i]->_pMessageProc(Message, wParam, lParam);
|
||||
} catch (...) {
|
||||
pluginCrashAlert(_pluginsCommands[i]._pluginName.c_str(), TEXT("relayPluginMessages(UINT Message, WPARAM wParam, LPARAM lParam)"));
|
||||
TCHAR funcInfo[128];
|
||||
generic_sprintf(funcInfo, TEXT("relayPluginMessages(UINT Message : %d, WPARAM wParam : %d, LPARAM lParam : %d)"), Message, wParam, lParam);
|
||||
pluginCrashAlert(_pluginsCommands[i]._pluginName.c_str(), funcInfo);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -6633,15 +6633,38 @@ void Notepad_plus::changeMenuLang(generic_string & pluginsTrans, generic_string
|
||||
childNode = childNode->NextSibling("Item") )
|
||||
{
|
||||
TiXmlElementA *element = childNode->ToElement();
|
||||
int x, y;
|
||||
element->Attribute("posX", &x);
|
||||
element->Attribute("posY", &y);
|
||||
int x, y, z;
|
||||
const char *xStr = element->Attribute("posX", &x);
|
||||
const char *yStr = element->Attribute("posY", &y);
|
||||
const char *name = element->Attribute("name");
|
||||
if (!xStr || !yStr || !name)
|
||||
continue;
|
||||
|
||||
HMENU hSubMenu = ::GetSubMenu(_mainMenuHandle, x);
|
||||
if (!hSubMenu)
|
||||
continue;
|
||||
HMENU hSubMenu2 = ::GetSubMenu(hSubMenu, y);
|
||||
if (!hSubMenu2)
|
||||
continue;
|
||||
|
||||
HMENU hMenu = hSubMenu;
|
||||
int pos = y;
|
||||
|
||||
const char *zStr = element->Attribute("posZ", &z);
|
||||
if (zStr)
|
||||
{
|
||||
HMENU hSubMenu3 = ::GetSubMenu(hSubMenu2, z);
|
||||
if (!hSubMenu3)
|
||||
continue;
|
||||
hMenu = hSubMenu2;
|
||||
pos = z;
|
||||
}
|
||||
#ifdef UNICODE
|
||||
|
||||
const wchar_t *nameW = wmc->char2wchar(name, _nativeLangEncoding);
|
||||
::ModifyMenu(::GetSubMenu(_mainMenuHandle, x), y, MF_BYPOSITION, 0, nameW);
|
||||
::ModifyMenu(hMenu, pos, MF_BYPOSITION, 0, nameW);
|
||||
#else
|
||||
::ModifyMenu(::GetSubMenu(_mainMenuHandle, x), y, MF_BYPOSITION, 0, name);
|
||||
::ModifyMenu(hMenu, pos, MF_BYPOSITION, 0, name);
|
||||
#endif
|
||||
}
|
||||
::DrawMenuBar(_hSelf);
|
||||
|
Loading…
Reference in New Issue
Block a user