Index: src/chext/TContextMenuHandler.cpp =================================================================== diff -u -r2fe97a93f21771d75901d4b6559057d1ea055104 -r488f785a5369dfe98e89d21915b82766b101a5c2 --- src/chext/TContextMenuHandler.cpp (.../TContextMenuHandler.cpp) (revision 2fe97a93f21771d75901d4b6559057d1ea055104) +++ src/chext/TContextMenuHandler.cpp (.../TContextMenuHandler.cpp) (revision 488f785a5369dfe98e89d21915b82766b101a5c2) @@ -62,15 +62,14 @@ UpdateMenuRecursive(spMenuItem, hSubMenu, 0, rShellExtData, bOverrideDefaultItem); MENUITEMINFO mii; - mii.cch = _MAX_PATH; mii.cbSize = sizeof(MENUITEMINFO); - mii.fMask = MIIM_ID | MIIM_STATE | MIIM_SUBMENU | MIIM_TYPE; + mii.fMask = MIIM_ID | MIIM_STATE | MIIM_SUBMENU | MIIM_STRING; mii.fType = MFT_STRING; mii.fState = (spRootMenuItem->GetChildrenCount() > 0) ? MFS_ENABLED : MFS_GRAYED; mii.wID = m_uiNextMenuID++; mii.hSubMenu = hSubMenu; mii.dwTypeData = (PTSTR)spMenuItem->GetName().c_str(); - mii.cch = (UINT)spMenuItem->GetName().GetLength(); + mii.cch = 0; ::InsertMenuItem(hMenu, uiFirstItemPosition++, TRUE, &mii); break; Index: src/common/TShellExtMenuConfig.h =================================================================== diff -u -r633a533cb6e741d44fe28aa56339e1d2709b1b27 -r488f785a5369dfe98e89d21915b82766b101a5c2 --- src/common/TShellExtMenuConfig.h (.../TShellExtMenuConfig.h) (revision 633a533cb6e741d44fe28aa56339e1d2709b1b27) +++ src/common/TShellExtMenuConfig.h (.../TShellExtMenuConfig.h) (revision 488f785a5369dfe98e89d21915b82766b101a5c2) @@ -153,8 +153,8 @@ void Clear(); // retrieving attributes - common ones - chcore::TString GetName() const { return m_strName; } - chcore::TString GetItemTip() const { return m_strItemTip; } + const chcore::TString& GetName() const { return m_strName; } + const chcore::TString& GetItemTip() const { return m_strItemTip; } // retrieving attributes - standard items only const TOperationTypeInfo& GetOperationTypeInfo() const { return m_tOperationType; }