Меню моргает после ECTL_REDRAW

Место, где разработчики плагинов могут поделиться своим опытом.
Post Reply
User avatar
John Doe
Бюрократ
Posts: 11387
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 16 times
Been thanked: 100 times

Меню моргает после ECTL_REDRAW

Post by John Doe » Sun 26 Mar, 2017 11:33

Заранее оговорюсь, что описываю некоторое изменение поведения в последних билдах, но не утверждаю что это представляет проблему.

Суть в том что меню, вызванное в редакторе, в цикле перевызова начало моргать, если присутствует вызов ECTL_REDRAW.
Для сравнения, вызов ECTL_SETPOSITION к морганию не приводит, при этом редактор корректно перерисовывается.

Можно наблюдать на примере такого макроса:

Code: Select all

local items = {}
for i=1,5 do items[i] = {text="qwerty"} end

Macro {
  area="Editor"; key="F1";
  action=function()
    repeat
      editor.Redraw()
    until far.Menu({},items)
  end;
}
После Esc видно моргание.

User avatar
John Doe
Бюрократ
Posts: 11387
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 16 times
Been thanked: 100 times

Меню моргает после ECTL_REDRAW

Post by John Doe » Sun 26 Mar, 2017 11:37

P.S.
Реальный скрипт, на котором заметил это изменение — luacheck.
Сейчас вот просто убрал ECTL_REDRAW, и вроде бы всё работает как задумано.

Насколько я помню, раньше без ECTL_REDRAW не прорисовывалось выделение, но сейчас похоже всё хорошо.

Видимо не проблема.

P.P.S.

Code: Select all

zg 13.10.2016 17:16:58 +0200 - build 4823

1. 0003327: ECTL_REDRAW does not redraw during processing.
Last edited by John Doe on Sun 26 Mar, 2017 12:50, edited 1 time in total.

Post Reply

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