View Issue Details

IDProjectCategoryView StatusLast Update
0003669PluginsLuaMacro / Macro Browserpublic2018-11-22 12:51
ReporterJohnDoe Assigned Tozg  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Platformx86OSWindowsOS VersionXP SP3
Product Version3.0 
Summary0003669: LuaFAR: Немодальный диалог: в обработчик передаётся закрытый хэндл
DescriptionПри создании немодального диалога в обработчик некоторое время приходит закрытый хэндл, вплоть до первого DN_GOTFOCUS (включительно).

[11436] DN_INITDIALOG
[11436] FarDialog (closed)
[11436] DN_GOTFOCUS
[11436] FarDialog (closed)
[11436] DN_DRAWDIALOG
[11436] FarDialog (closed)
[11436] DN_CTLCOLORDIALOG
[11436] FarDialog (closed)
[11436] DN_DRAWDLGITEM
[11436] FarDialog (closed)
[11436] DN_CTLCOLORDLGITEM
[11436] FarDialog (closed)
[11436] DN_DRAWDLGITEMDONE
[11436] FarDialog (closed)
[11436] DN_DRAWDLGITEM
[11436] FarDialog (closed)
[11436] DN_CTLCOLORDLGITEM
[11436] FarDialog (closed)
[11436] DN_DRAWDLGITEMDONE
[11436] FarDialog (closed)
[11436] DN_DRAWDIALOGDONE
[11436] FarDialog (closed)
[11436] DN_GOTFOCUS
[11436] FarDialog (closed)

[11436] DN_ENTERIDLE
[11436] FarDialog (0x02117438)
[11436] DN_CONTROLINPUT
[11436] FarDialog (0x02117438)
[11436] DN_CLOSE
[11436] FarDialog (0x02117438)
Steps To Reproducelocal nonmodal = true

local id = win.Uuid"45B09D0D-6AE8-416C-BB5A-F5FA7B5CC430"
local F = far.Flags

local DN = {}
for k,v in pairs(far.Flags) do
  if k:sub(1,3)=="DN_" then
    DN[v] = k
  end
end
local function Progress(text,title)
  local len = math.max(10,text:len()+2)
  local items = {
    --[[01]] {F.DI_SINGLEBOX,0,0,len,4,0,0,0,0,title},
    --[[02]] {F.DI_TEXT, 1,1,0,0,0,0,0,0,text},
  }
  local flags = nonmodal and F.FDLG_NONMODAL
  local function DlgProc(hDlg,Msg,Param1,Param2)
    win.OutputDebugString(DN[Msg] or Msg)
    win.OutputDebugString(hDlg)
    if Msg==F.DN_INITDIALOG then
      --hDlg:send("DM_SETTEXT",2,"hello") --!!ERROR
    end
  end
  return far.DialogInit(id,-1,-1,len,4,len,items,flags, DlgProc)
end
 
local hDlg = Progress(" ")
if nonmodal then return end
far.DialogRun(hDlg)
far.DialogFree(hDlg)
TagsNo tags attached.

Activities

zg

2018-11-15 09:43

developer   bugnote:0016314

673. и не в той категории.

JohnDoe

2018-11-16 09:04

updater   bugnote:0016322

Порядок

Issue History

Date Modified Username Field Change
2018-11-07 08:21 JohnDoe New Issue
2018-11-15 09:43 zg Note Added: 0016314
2018-11-15 10:26 JohnDoe Project Far Manager => Plugins
2018-11-15 10:26 JohnDoe Category Plugins API.Dialog => General
2018-11-15 10:27 JohnDoe Category General => LuaMacro / Macro Browser
2018-11-15 10:27 JohnDoe Summary Немодальный диалог: в обработчик передаётся закрытый хэндл => LuaFAR: Немодальный диалог: в обработчик передаётся закрытый хэндл
2018-11-16 09:04 JohnDoe Status new => resolved
2018-11-16 09:04 JohnDoe Note Added: 0016322
2018-11-22 12:51 zg Assigned To => zg
2018-11-22 12:51 zg Status resolved => closed
2018-11-22 12:51 zg Resolution open => fixed