diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index f08f1232ad..39a506163a 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -5757,11 +5757,13 @@ static void ProcessKeyName( RString &s ) s.Replace( "Key_", "" ); } -static void ProcessKeyNames( vector &vs ) +static void ProcessKeyNames( vector &vs, bool doSort ) { FOREACH( RString, vs, s ) ProcessKeyName( *s ); + if (doSort) + sort( vs.begin(), vs.end() ); vector::iterator toDelete = unique( vs.begin(), vs.end() ); vs.erase(toDelete, vs.end()); } @@ -5786,8 +5788,8 @@ static RString GetDeviceButtonsLocalized( const vector &veb, const M } } - ProcessKeyNames( vsPress ); - ProcessKeyNames( vsHold ); + ProcessKeyNames( vsPress, false ); + ProcessKeyNames( vsHold, true ); RString s = join("/",vsPress); if( !vsHold.empty() )