Не работает VF_ENABLE_F6 ?

Место, где разработчики плагинов могут поделиться своим опытом.
Post Reply
Denis
Posts: 1444
Joined: Tue 05 Apr, 2005 18:12
Has thanked: 10 times
Been thanked: 5 times

Не работает VF_ENABLE_F6 ?

Post by Denis »

Или я не умею её готовить?
Такой код для переключения View/Editor работает:

Code: Select all

                        Info.Editor(
              sFileName.c_str(), 
              rServiceInfo.iDisplayName.c_str(), 
              0, 0, -1, -1, 
              EF_DELETEONLYFILEONCLOSE | EF_DISABLEHISTORY | EF_DISABLESAVEPOS | EF_ENABLE_F6,
              1, 1,
              CP_DEFAULT);
А такой - нет:

Code: Select all

            Info.Viewer(
              sFileName.c_str(), 
              rServiceInfo.iDisplayName.c_str(),
              0, 0, -1, -1, 
              VF_DELETEONLYFILEONCLOSE | VF_DISABLEHISTORY | VF_ENABLE_F6,
              CP_DEFAULT);
Far 3.0 build 2669 x64
Denis
Posts: 1444
Joined: Tue 05 Apr, 2005 18:12
Has thanked: 10 times
Been thanked: 5 times

Re: Не работает VF_ENABLE_F6 ?

Post by Denis »

Похоже, что это всё-таки баг. Нужно на мантис?

Code: Select all

diff --git i/unicode_far/plugapi.cpp w/unicode_far/plugapi.cpp
index 68c9890..b80dcbc 100644
--- i/unicode_far/plugapi.cpp
+++ w/unicode_far/plugapi.cpp
@@ -1503,7 +1503,7 @@ int WINAPI apiViewer(const wchar_t *FileName,const wchar_t *Title,
 		if (Flags & (VF_DELETEONCLOSE|VF_DELETEONLYFILEONCLOSE))
 			Viewer->SetTempViewName(FileName,(Flags&VF_DELETEONCLOSE)?TRUE:FALSE);
 
-		Viewer->SetEnableF6((Flags & VF_ENABLE_F6) );
+		Viewer->SetEnableF6(Flags & VF_ENABLE_F6);
 
 		/* $ 21.05.2002 SKV
 		  Запускаем свой цикл только если не был указан флаг.
@@ -1524,6 +1524,9 @@ int WINAPI apiViewer(const wchar_t *FileName,const wchar_t *Title,
 	{
 		/* 09.09.2001 IS ! Добавим имя файла в историю, если потребуется */
 		FileViewer Viewer(FileName,FALSE,DisableHistory,Title,X1,Y1,X2,Y2,CodePage);
+
+		Viewer.SetEnableF6(Flags & VF_ENABLE_F6);
+
 		/* $ 28.05.2001 По умолчанию Вьюер, поэтому нужно здесь признак выставиль явно */
 		Viewer.SetDynamicallyBorn(false);
 		FrameManager->EnterModalEV();
@@ -1537,8 +1540,6 @@ int WINAPI apiViewer(const wchar_t *FileName,const wchar_t *Title,
 		if (Flags & (VF_DELETEONCLOSE|VF_DELETEONLYFILEONCLOSE))
 			Viewer.SetTempViewName(FileName,(Flags&VF_DELETEONCLOSE)?TRUE:FALSE);
 
-		Viewer.SetEnableF6((Flags & VF_ENABLE_F6) );
-
 		if (!Viewer.GetExitCode())
 		{
 			return FALSE;
мантис
Post Reply

Return to “Разработка плагинов”