View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003340 | Far Manager | Interface | public | 2016-11-01 17:01 | 2016-11-03 11:55 |
Reporter | Smitis | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | always |
Status | new | Resolution | open | ||
Product Version | 3.0 | ||||
Summary | 0003340: Не отрисовывается диалог, если при обработке DN_DRAWDIALOGDONE вывести сообщение. | ||||
Description | Если при обработке DN_DRAWDIALOGDONE вывести сообщение через far.Message, до 4807 включительно, рисуется диалог, поверх диалога выводится сообщение. После закрытия сообщения с диалогом всё в порядке. Начиная с 4809 (возможно с 4808) диалог не отрисовывается ни до вывода сообщения ни после, при этом сам диалог открыт, но невидим. | ||||
Steps To Reproduce | Выполнить скрипт на lua far.Dialog( "",-1,-1,40,10,"",{{"DI_DOUBLEBOX",0,0,39,9,0,0,0,0,"TEST"}},"FDLG_SMALLDIALOG", function(hDlg,Msg,Param1,Param2) if Msg==far.Flags.DN_DRAWDIALOGDONE then far.Message("CLOSE","") end end ) | ||||
Tags | No tags attached. | ||||
Build | |||||
|
|
|
ситуация следующая. когда-то для "удобства" плагинописателей была сделана защита от вложенных вызовов перерисовки и соответственно зацикливания. в редакторе, например, такой защиты нет - и это правильно. что делать с диалогами - не знаю. я бы просто выкинул проверку на повторный вызов. |
|
И принудительно тоже не работает |
|
я вроде по русски написал, что вложенные вызовы игнорируются. явные или неявные — какая разница? |
Date Modified | Username | Field | Change |
---|---|---|---|
2016-11-01 17:01 | Smitis | New Issue | |
2016-11-01 17:01 | Smitis | File Added: DrawDialogDoneTest.lua | |
2016-11-01 21:16 | zg | Note Added: 0014970 | |
2016-11-01 22:52 | 2useven10 | Relationship added | has duplicate 0003339 |
2016-11-03 07:35 | JohnDoe | Note Added: 0014974 | |
2016-11-03 11:55 | zg | Note Added: 0014975 |