The following application hangs when you click into one of the cells (starting the cell edit mode) and then directly click on the Cancel button. There is no reaction to this button click, debugging this turns out that the callback of the listview is called (end edit) but rather than the callback of the Cancel button the listview callback is executed again (with begin edit mode). This was reported for a Win7 system, verified on an XP 32bit installation, the test application was reduced out of a larger application on Win7/64bit.
winapp
program listbox
implicit none
integer, dimension(15) :: selection
character (len=18), dimension(16) ::lvdata
integer :: view, i
external cancel, callback
selection = 0
view = 1
lvdata(1) = '|Head1|Head2|Head3'
do i=2,16
lvdata(i) = '|DataX|DataY|DataZ'
enddo
i = winio@ ('%^lv[edit_cells]&', 380,100, lvdata, 16, selection, view, callback)
i = winio@ ('%ff%nl%cn%^8bt[Cancel]', cancel)
end program listbox
integer function cancel()
implicit none
cancel=0
end function cancel
integer function callback()
implicit none
callback = 2
end function callback