Hello,
strange combination of features that leads to a crash, it only happens on nVidia graphics cards (several have been tested, various driver versions) and never on ATI/AMD cards. The only feature that relates to graphics cards is the OpenGL window, though that is just a dummy in the test case (so there may be a problem related to the OpenGL initialization in salflibdll-internal routines). It happens at least with compiler version 6.00 and reportedly 6.10 as well.
The crash happens if an underflow occurs in a callback function of a list view (the 1.e-281.e-29 results in 0.0 for real4 where underflow is signaled but should be ignored as of default ftn95 settings). It looks like the underflow handler crashes the application.
To reproduce the problem use the sources posted below, compile with 'ftn95 lvtest.f95 /link', debug settings enabled if you wish to trace the callback code. Running the application, then click on the second entry and the application will crash (again this is Win7+nVidia only as of our testings).
An additional strange quirk is that it seems to behave different if the listview content strings are defined as character(len=12) instead of len=* but that may or may not be a red herring.
Sources for lvtest.f95:
winapp
program listbox
implicit none
external callback
integer :: v, i
character (len=*), dimension(3), parameter ::lvdata = &
(/'|Data1 |', '|Data2 |', '|Data3 |'/)
v = 1
i=winio@ ('%og&', 100,100)
i=winio@('%^20.5ls',lvdata, 3, v, callback)
end program listbox
integer function callback()
real :: f1,f2,f3
callback = 2
f1 = 1.e-28
f2 = 1.e-29
f3 = f1*f2
f3 = f3*f3
end function
Thanks!