diff --git a/vcl/win/app/salinst.cxx b/vcl/win/app/salinst.cxx index 1f2d22cdd69e..906129fdfb29 100644 --- a/vcl/win/app/salinst.cxx +++ b/vcl/win/app/salinst.cxx @@ -299,6 +299,8 @@ void SalData::initKeyCodeMap() if( nKey < 0xffff )\ maVKMap[ nKey ] = b; + maVKMap.clear(); + initKey( '+', KEY_ADD ); initKey( '-', KEY_SUBTRACT ); initKey( '*', KEY_MULTIPLY ); diff --git a/vcl/win/window/salframe.cxx b/vcl/win/window/salframe.cxx index fd5d2076d05c..a7168989505c 100644 --- a/vcl/win/window/salframe.cxx +++ b/vcl/win/window/salframe.cxx @@ -4917,6 +4917,9 @@ static void ImplHandleInputLangChange( HWND hWnd, WPARAM, LPARAM lParam ) if( nLang != pFrame->mnInputLang ) pFrame->CallCallback( SalEvent::InputLanguageChange, 0 ); + // reinit spec. keys + GetSalData()->initKeyCodeMap(); + ImplSalYieldMutexRelease(); }