@@ -315,16 +315,6 @@ private static void ProcessMenuWithIcons(IntPtr hMenu, IContextMenu contextMenu,
315
315
316
316
for ( uint i = 0 ; i < menuCount ; i ++ )
317
317
{
318
- var menuText = new StringBuilder ( 256 ) ;
319
- uint result = GetMenuString ( hMenu , i , menuText , menuText . Capacity , 0x400 ) ;
320
-
321
- if ( result == 0 || string . IsNullOrWhiteSpace ( menuText . ToString ( ) ) )
322
- {
323
- continue ;
324
- }
325
-
326
- menuText . Replace ( "&" , "" ) ;
327
-
328
318
var mii = new MENUITEMINFO
329
319
{
330
320
cbSize = ( uint ) Marshal . SizeOf ( typeof ( MENUITEMINFO ) ) ,
@@ -333,12 +323,16 @@ private static void ProcessMenuWithIcons(IntPtr hMenu, IContextMenu contextMenu,
333
323
} ;
334
324
335
325
GetMenuItemInfo ( hMenu , i , true , ref mii ) ;
326
+ var menuText = new StringBuilder ( 256 ) ;
327
+ uint result = GetMenuString ( hMenu , mii . wID , menuText , menuText . Capacity , 0 ) ;
336
328
337
- if ( ( mii . fType & ( uint ) MenuItemFtype . Separator ) != 0 )
329
+ if ( result == 0 || string . IsNullOrWhiteSpace ( menuText . ToString ( ) ) )
338
330
{
339
331
continue ;
340
332
}
341
333
334
+ menuText . Replace ( "&" , "" ) ;
335
+
342
336
IntPtr hSubMenu = GetSubMenu ( hMenu , ( int ) i ) ;
343
337
if ( hSubMenu != IntPtr . Zero )
344
338
{
0 commit comments