BladeMight/Mahou

После обновления до v2.5.2.1 выдает ошибку о необработанном исключении

coctic opened this issue · 4 comments

Problem/Request description

У меня включено переключение раскладок по левому/правому shift (русск/англ). После обновления до 2.5.2.1, при нажатии на любой shift (еще до отпускания самого shift или нажатия другой кнопки, т.е. до того, как раскладка должна переключиться), выскакивает сообщение о необработанном исключении. В окне с информацией вот такой текст:

Текст исключения

Подробная информация об использовании оперативной 
(JIT) отладки вместо данного диалогового 
окна содержится в конце этого сообщения.

************** Текст исключения **************
System.Exception: Locale string [] does not contain a layout uID.
   в Mahou.Locales.GetLocaleFromString(String localeString)
   в Mahou.MahouUI.WndProc(Message& m)
   в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Загруженные сборки **************
mscorlib
    Версия сборки: 4.0.0.0
    Версия Win32: 4.7.2115.0 built by: NET47REL1LAST
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
Mahou
    Версия сборки: 2.5.2.1
    Версия Win32: 2.5.2.1
    CodeBase: file:///C:/utils/Mahou.exe
----------------------------------------
System.Windows.Forms
    Версия сборки: 4.0.0.0
    Версия Win32: 4.7.2110.0 built by: NET47REL1LAST
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Версия сборки: 4.0.0.0
    Версия Win32: 4.7.2110.0 built by: NET47REL1LAST
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Версия сборки: 4.0.0.0
    Версия Win32: 4.7.2046.0 built by: NET47REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
    Версия сборки: 4.0.0.0
    Версия Win32: 4.7.2046.0 built by: NET47REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
    Версия сборки: 4.0.0.0
    Версия Win32: 4.7.2116.0 built by: NET47REL1LAST
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
    Версия сборки: 4.0.0.0
    Версия Win32: 4.7.2102.0 built by: NET47REL1LAST
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Windows.Forms.resources
    Версия сборки: 4.0.0.0
    Версия Win32: 4.7.2046.0 built by: NET47REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
mscorlib.resources
    Версия сборки: 4.0.0.0
    Версия Win32: 4.7.2046.0 built by: NET47REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------

************** Оперативная отладка (JIT) **************
Для подключения оперативной (JIT) отладки файл .config данного
приложения или компьютера (machine.config) должен иметь
значение jitDebugging, установленное в секции system.windows.forms.
Приложение также должно быть скомпилировано с включенной
отладкой.

Например:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

При включенной отладке JIT любое необрабатываемое исключение
пересылается отладчику JIT, зарегистрированному на данном компьютере,
вместо того чтобы обрабатываться данным диалоговым окном.

После этого не работает, даже если ткнуть в "продолжить", и на следующее нажатеи shift вылетает то же самое.

Expected behavior (Only if reporting bug)

Должно работать и не выдавать окно на каждое нажатие shift.

System information

MAHOU DEBUG INFO
Environment info
  • Mahou 2.5.2.1
  • OS = [Microsoft Windows NT 6.2.9200.0]
  • x64 = [True]
  • .Net = [4.0.30319.42000]
All installed layouts

США(67699721)
Русская(68748313)

Mahou.ini
!Unicode(✔), Mahou settings file
[FirstStart]
First=False
[Functions]
TrayIconVisible=True
ConvertSelectionLayoutSwitching=True
ReSelect=False
RePress=False
AddOneSpaceToLastWord=False
ConvertSelectionLayoutSwitchingPlus=True
ScrollTip=False
StartupUpdatesCheck=True
Logging=True
CapsLockTimer=False
TrayFlags=False
BlockMahouHotkeysWithCtrl=False
SymbolIgnoreModeEnabled=false
MCDServerSupport=False
OneLayoutWholeWord=True
RestartHooksOnHotkeyActionEnd=True
AutoStartAsAdmin=False
GuessKeyCodeFix=False
AppDataConfigs=False
[Layouts]
SwitchBetweenLayouts=False
EmulateLayoutSwitch=False
EmulateLayoutSwitchType=Ctrl+Shift
ChangeToSpecificLayoutByKey=True
MainLayout1=США(67699721)
MainLayout2=Русская(68748313)
SpecificKey1=4
SpecificKey2=5
SpecificKey3=0
SpecificKey4=0
SpecificLayout1=Русская(68748313)
SpecificLayout2=США(67699721)
SpecificLayout3=
SpecificLayout4=
OneLayout=False
QWERTZfix=False
SpecificKeysType=0
SpecificKeySets=set_1/16/Shift/
[Appearence]
DisplayLangTooltipForMouse=False
DisplayLangTooltipForMouseOnChange=False
DisplayLangTooltipForCaret=False
DisplayLangTooltipForCaretOnChange=False
DifferentColorsForLayouts=False
Language=Русский
Layout1ForeColor=#000000
Layout1BackColor=#FFFFFF
Layout1TransparentBackColor=False
Layout1Font=Georgia; 8pt
Layout1Height=14
Layout1Width=26
Layout1PositionX=8
Layout1PositionY=0
Layout2ForeColor=#000000
Layout2BackColor=#FFFFFF
Layout2TransparentBackColor=False
Layout2Font=Georgia; 8pt
Layout2Height=14
Layout2Width=26
Layout2PositionX=8
Layout2PositionY=0
MouseLTForeColor=#000000
MouseLTBackColor=#FFFFFF
MouseLTTransparentBackColor=False
MouseLTFont=Georgia; 8pt
MouseLTHeight=14
MouseLTWidth=26
MouseLTPositionX=8
MouseLTPositionY=0
CaretLTForeColor=#000000
CaretLTBackColor=#FFFFFF
CaretLTTransparentBackColor=False
CaretLTFont=Georgia; 8pt
CaretLTHeight=14
CaretLTWidth=26
CaretLTPositionX=8
CaretLTPositionY=12
MCDS_Pos_X=58
MCDS_Pos_Y=13
MCDS_Top=60
MCDS_Bottom=45
Layout1LTText=
Layout2LTText=
MouseLTAlways=False
MouseLTUseFlags=False
CaretLTUseFlags=False
MouseLTUpperArrow=False
CaretLTUpperArrow=False
[Timings]
LangTooltipForMouseRefreshRate=25
LangTooltipForCaretRefreshRate=25
DoubleHotkey2ndPressWait=200
FlagsInTrayRefreshRate=100
ScrollLockStateRefreshRate=100
CapsLockDisableRefreshRate=100
SelectedTextGetMoreTries=False
SelectedTextGetMoreTriesCount=5
ExcludedPrograms=LA.exe SomeProg.exe
ChangeLayoutInExcluded=True
[Snippets]
SnippetsEnabled=False
SpaceAfter=False
SwitchToGuessLayout=False
[Hotkeys]
ToggleMainWindow_Enabled=False
ToggleMainWindow_Double=False
ToggleMainWindow_Modifiers=Win + Control + Shift + Alt
ToggleMainWindow_Key=45
ConvertLastWord_Enabled=False
ConvertLastWord_Double=False
ConvertLastWord_Modifiers=
ConvertLastWord_Key=19
ConvertSelectedText_Enabled=True
ConvertSelectedText_Double=False
ConvertSelectedText_Modifiers=Shift
ConvertSelectedText_Key=19
ConvertLastLine_Enabled=False
ConvertLastLine_Double=False
ConvertLastLine_Modifiers=Shift
ConvertLastLine_Key=19
ConvertLastWords_Enabled=False
ConvertLastWords_Double=False
ConvertLastWords_Modifiers=Shift
ConvertLastWords_Key=122
ToggleSymbolIgnoreMode_Enabled=False
ToggleSymbolIgnoreMode_Double=False
ToggleSymbolIgnoreMode_Modifiers=Shift + Control
ToggleSymbolIgnoreMode_Key=122
SelectedTextToTitleCase_Enabled=False
SelectedTextToTitleCase_Double=True
SelectedTextToTitleCase_Modifiers=Shift
SelectedTextToTitleCase_Key=16
SelectedTextToRandomCase_Enabled=False
SelectedTextToRandomCase_Double=True
SelectedTextToRandomCase_Modifiers=Shift
SelectedTextToRandomCase_Key=17
SelectedTextToSwapCase_Enabled=False
SelectedTextToSwapCase_Double=False
SelectedTextToSwapCase_Modifiers=Win + 
SelectedTextToSwapCase_Key=19
SelectedTextTransliteration_Enabled=False
SelectedTextTransliteration_Double=False
SelectedTextTransliteration_Modifiers=Win + 
SelectedTextTransliteration_Key=191
ExitMahou_Enabled=False
ExitMahou_Double=False
ExitMahou_Modifiers=Win + Control + Shift + Alt
ExitMahou_Key=123
RestartMahou_Enabled=False
RestartMahou_Modifiers=Win + Shift + Alt
RestartMahou_Key=33
ToggleLangPanel_Enabled=True
ToggleLangPanel_Double=False
ToggleLangPanel_Modifiers=Shift
ToggleLangPanel_Key=120

Attach logs (if logging were enabled)

Attach log from the day when problem happened from Logs folder.
2017.11.02.txt

SpecificKeySets=set_1/16/Shift/

@coctic У тебя в новой функции гор. клавиши для смены раскладки стоит клавиша shift, но не стоит на что она должна переключаться. Добавлю игнорирование при пустой строку. Скоро сделаю новый релиз.

@coctic И еще лучше не назначать одинаковые клавиши и гор. клавиши на смену раскладки, т.к. оба метода работают вместе , что в итоге может дать 2 смены раскладки. (в Mahou есть подсказка, и на wiki)
P.S. В latest-commit версии уже исправлено, теперь если не выбрана раскладка пишется в лог(если включен) что раскладка не выбрана и для гор. клавиши.

O как! Я полез посмотреть, что за новая функция, не очень понял и подумал, что уже все выключил. А оказывается, баг включил.

Сейчас все работает, спасибо.