View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001094 | The Dark Mod | Physics | public | 08.09.2008 08:35 | 29.06.2009 08:06 |
Reporter | Ishtvan | Assigned To | greebo | ||
Priority | high | Severity | crash | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Fixed in Version | SVN | ||||
Summary | 0001094: Grabber: Crash on Save/Restore When Rotating During Save | ||||
Description | When the player is rotating an object and hits save at the same time, then restores, a crash occurs. (I didn't notice if the crash was immediate, or happened when you tried again to rotate the object). Could also have to do with the button states not being saved/restored, since rotation requires holding down the zoom button. | ||||
Tags | No tags attached. | ||||
The event EV_Grabber_CheckClipList is causing the crash. Maybe the grabber (which is a regular entity) is not registered in the savegame's object list? | |
The grabber is registered fine, but there are problems when the checkcliplist event is processed after a restore. Strangely, it doesn't happen if you trace through the code frame by frame after a restore, but in that case it crashes as soon as the attack button is pressed. |
|
Ok, there is a more general problem around here: the savegame is bogus after the game has been reloaded once. After a reload, the call to saveGame.WriteObject() fails, maybe the grabber is not registered correctly when the game is initialised from a save. | |
I suspect there is a memory leak causing this problem. The grabber which is allocated at gamex86.dll instantiation is overwritten at the first map load (where objects are created by calling CreateInstance()). The "first" grabber which was there at DLL loading time will then be overwritten, so there are actually two grabber instances in memory (one of them is lost). This is at least my theory, I'll do some restructuring to ensure that the grabber is not owned by a global static object, which is not good anyway. |
|
Date Modified | Username | Field | Change |
---|---|---|---|
08.09.2008 08:35 | Ishtvan | New Issue | |
09.09.2008 18:58 | greebo | Note Added: 0001548 | |
09.09.2008 19:24 | greebo | Note Added: 0001549 | |
09.09.2008 19:47 | greebo | Note Added: 0001550 | |
09.09.2008 20:08 | greebo | Status | new => confirmed |
10.09.2008 05:12 | greebo | Note Added: 0001551 | |
10.09.2008 05:34 | greebo | Status | confirmed => assigned |
10.09.2008 05:34 | greebo | Assigned To | => greebo |
10.09.2008 05:36 | greebo | Status | assigned => resolved |
10.09.2008 05:36 | greebo | Fixed in Version | => SVN |
10.09.2008 05:36 | greebo | Resolution | open => fixed |
10.09.2008 05:36 | greebo | Projection | none => minor fix |
10.09.2008 05:36 | greebo | ETA | none => < 1 day |
10.09.2008 05:36 | greebo | Build | => 2810 |
29.06.2009 08:06 | greebo | Status | resolved => closed |