far-plugins
far-plugins copied to clipboard
Review и b5838+ - попытаемся починить
В b5838 было удалено событие DN_ENTERIDLE - выписка из changelog фар-а:
drkns 29.06.2021 00:41:42 +0100 - build 5838
- Eradicate idle events. Use ACTL_SYNCHRO if you need one.
а вместо него предлагается использовать ACTL_SYNCHRO. В Review событие DN_ENTERIDLE используется в ReviewClasses.pas::TModalStateDlg.DialogHandler():
function TModalStateDlg.DialogHandler(Msg :Integer; Param1 :Integer; Param2 :TIntPtr) :TIntPtr; {override;}
begin
// Result := 1;
case Msg of
DN_RESIZECONSOLE:
begin
ResizeDialog;
FarAdvControl(ACTL_SYNCHRO, SyncCmdUpdateTitle);
end;
// DN_HELP:
// Review.SyncDelayed(SyncCmdUpdateWin, 100); *)
DN_ENTERIDLE:
begin
if FHidden then
Review.UpdateWindowPos;
end;
end;
Result := inherited DialogHandler(Msg, Param1, Param2);
end;
как вариант я думаю можно выкинуть проверку
DN_ENTERIDLE:
begin
if FHidden then
Review.UpdateWindowPos;
end;
только не понятно чем заменить событие DN_ENTERIDLE, разве что позвать ACTL_SYNCHRO(,null)?
Вдогонку - кроме Review проверка выловила и другие плагины (авторы разные, но сам факт поломки общий):
Вот с ходу список поломанного:
проверено на b5839:
Sniffer - выбираем сеть, запускаем ловлю пакетов и бесконечное "Ожидание внешнего модуля" PlgMenu - в списке плагинов курсор перескакивает чётные строки, потому эти плагины не управляемы Review - запустился - закрылся, но если держать нажатым хоткей запуска то пару секунд видео сыграет... AltHistory - В окне любого фильтра при вводе любого символа он удваивается