Skip to content

Commit

Permalink
Menu.Id fix & don't overwrite farmenu.ini after AltF4
Browse files Browse the repository at this point in the history
  • Loading branch information
alabuzhev committed Jun 1, 2016
1 parent b793370 commit 9f8f5aa
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 11 deletions.
6 changes: 6 additions & 0 deletions far/changelog
@@ -1,3 +1,9 @@
drkns 01.06.2016 22:51:16 +0200 - build 4694

1. С форума: Menu.Id в диалогах приводило к падению.

2. Не пересохраняем farmenu.ini после Alt-F4, дабы кривые файлы меню не терялись сразу же.

drkns 25.05.2016 20:16:03 +0200 - build 4693

1. При [x] Cursor at the end неадекватно работала замена в редакторе, содержащая \t.
Expand Down
18 changes: 9 additions & 9 deletions far/macro.cpp
Expand Up @@ -1993,36 +1993,36 @@ intptr_t KeyMacro::CallFar(intptr_t CheckCode, FarMacroCall* Data)
case MCODE_V_MENUINFOID: // Menu.Info.Id
{
int CurArea=GetArea();
string Filename;

if (CheckCode==MCODE_V_MENUINFOID && CurrentWindow && CurrentWindow->GetType()==windowtype_menu)
{
return PassString(reinterpret_cast<LPCWSTR>(static_cast<intptr_t>(CurrentWindow->VMProcess(MCODE_V_DLGINFOID))), Data);
return PassString(reinterpret_cast<const wchar_t*>(static_cast<intptr_t>(CurrentWindow->VMProcess(MCODE_V_DLGINFOID))), Data);
}

if (IsMenuArea(CurArea) || CurArea == MACROAREA_DIALOG)
{
if (const auto f = Global->WindowManager->GetCurrentWindow())
{
string NewStr;
string Value;

switch(CheckCode)
{
case MCODE_V_MENU_VALUE:
if (f->VMProcess(CheckCode,&NewStr))
if (f->VMProcess(CheckCode, &Value))
{
Filename = HiText2Str(NewStr);
RemoveExternalSpaces(Filename);
Value = HiText2Str(Value);
RemoveExternalSpaces(Value);
return PassString(Value, Data);
}
break;

case MCODE_V_MENUINFOID:
Filename = reinterpret_cast<const wchar_t*>(static_cast<intptr_t>(f->VMProcess(CheckCode)));
break;
return PassString(reinterpret_cast<const wchar_t*>(static_cast<intptr_t>(f->VMProcess(CheckCode))), Data);
}
}
}

return PassString(Filename, Data);
return PassString(nullptr, Data);
}

case MCODE_V_ITEMCOUNT: // ItemCount - число элементов в текущем объекте
Expand Down
1 change: 0 additions & 1 deletion far/usermenu.cpp
Expand Up @@ -681,7 +681,6 @@ int UserMenu::ProcessSingleMenu(std::list<UserMenuItem>& Menu, int MenuPos, std:
MenuRoot.clear();
DeserializeMenu(MenuRoot, MenuFile, m_MenuCP);
MenuFile.Close();
m_MenuModified=true;
ReturnCode=0;
UserMenu->Close(-1);

Expand Down
2 changes: 1 addition & 1 deletion far/vbuild.m4
@@ -1 +1 @@
m4_define(BUILD,4693)m4_dnl
m4_define(BUILD,4694)m4_dnl

0 comments on commit 9f8f5aa

Please sign in to comment.