Crash when leaving screensaver

Blitz3D Forums/Blitz3D Programming/Crash when leaving screensaver

KimoTech(Posted 2006) [#1]
When i leave the screensaver, or i press ctrl+alt+delete and then selects Task Manager, then blitz crashes in renderworld(). Plzz help me here..!


Boiled Sweets(Posted 2006) [#2]
What screen saver?


WendellM(Posted 2006) [#3]
And is this a problem in Vista beta as your sig seems to indicate?


Damien Sturdy(Posted 2006) [#4]
This is not a bug in blitz, It's more likely a driver issue.

if blitz had such a big bug it would have been spotted years ago :) Best bet is to ask in B3D programming or General Discussion.


GfK(Posted 2006) [#5]
if blitz had such a big bug it would have been spotted years ago
Blitzplus used to do it years ago. I think it was something to do with there being a blitz-based screensaver running and another application automatically getting focus (such as AVG auto-update). Caused Blitz to crash with a nasty looking error.

Not sure if that's the problem here though... surely when you press any one of CTRL, ALT or DEL, your screensaver should be terminating anyway?


KimoTech(Posted 2006) [#6]
but now i run Windows Server 2003 (sorry for my signature), and it does the same. Also when i press CTRL+ALT+DEL, then i select Task Manager, and then when it returns to the desktop with all my apps, it crashes, and it semms to, that the DirectDraw box has gone, because there is no redrawing in the blitz window.


KimoTech(Posted 2006) [#7]
it looks like it destroys the Direct3DDevice, because when i leave the screensaver, and have a program with WinBlitz3D, the rect where the scene should be rendered, is not being redrawn..


Kev(Posted 2006) [#8]
Qimmer, this does seem to be winblitz3d causing the problem i will take a look into this and see if it fixable.
i tested this under win2k and encounter the same problem.

kev


jfk EO-11110(Posted 2006) [#9]
I think you should not terminate a d3d using app "from outside". You should rather end the app from within itself, by using END. You may check keypresses and/or mouse action and quit before the taskmanager can touch it.
Although I think DirectX should handle the job, I wouldn't be surprised if it doesn't.

DirectX has notorious problems with screensavers.


BIG BUG(Posted 2006) [#10]
Thats an old bug in Blitzbasic. Screensavers in general aren't that problem, but changing the desktop resolution while a BB-program is running...


KimoTech(Posted 2006) [#11]
But also when i just run a simple 3d-app from Blitz3D, and then i press ctrl+alt+delete, and returns, the viewport aint redrawn, and nothing is rendered .. And then it says 'Memory Access Violation'.


D4NM4N(Posted 2006) [#12]
some of my ted customers have reported this on nvidia cards when running openGL screensavers


Graythe(Posted 2006) [#13]
It does it under XP & Win2K if the screensaver is passworded.


Graythe(Posted 2006) [#14]
I asked for help with the same or a similar issue here a little while ago and got joy.

One thing to do possibly is turn off the bliddy screensaver or adjust the activation interval to nil. I did find though that multiple logins from different PC's to the same account made this unreliable (or it may be my code, something else, possibly it just doesn't always work).

I think I remember seeing some code in the forums that seemed more replete since that time but here's where I got to.

in user32.decls
.lib "user32.dll"
SystemParametersInfo(uAction%, uParam%, lpvParam*, fuWinIni%) : "SystemParametersInfoA"

Const SPI_GETSCREENSAVETIMEOUT = 14
Const SPI_SETSCREENSAVETIMEOUT = 15

Function SystemGet_SaverTimeout()

RetBank=CreateBank(4)

SystemParametersInfo(SPI_GETSCREENSAVETIMEOUT,0,RetBank,0)

RetValue=PeekInt(RetBank,0)
FreeBank RetBank
Return RetValue

End Function



Function SystemSet_SaverTimeout(Value%)

Nul1=CreateBank(4)
PokeShort Nul1,0,0
RetBank=CreateBank(4)

SystemParametersInfo(SPI_SETSCREENSAVETIMEOUT,Value,Nul1,0)
FreeBank RetBank

End Function