MCPcopy Create free account
hub / github.com/ZDoom/Raze / Release

Method Release

source/common/objects/dobject.cpp:277–310  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

275}
276
277void DObject::Release()
278{
279 DObject **probe;
280
281 // Unlink this object from the GC list.
282 for (probe = &GC::Root; *probe != NULL; probe = &((*probe)->ObjNext))
283 {
284 if (*probe == this)
285 {
286 *probe = ObjNext;
287 if (&ObjNext == GC::SweepPos)
288 {
289 GC::SweepPos = probe;
290 }
291 break;
292 }
293 }
294
295 // If it's gray, also unlink it from the gray list.
296 if (this->IsGray())
297 {
298 for (probe = &GC::Gray; *probe != NULL; probe = &((*probe)->GCNext))
299 {
300 if (*probe == this)
301 {
302 *probe = GCNext;
303 break;
304 }
305 }
306 }
307 ObjNext = nullptr;
308 GCNext = nullptr;
309 ObjectFlags |= OF_Released;
310}
311
312//==========================================================================
313//

Callers 10

StaticInitMethod · 0.45
CreateDeviceInterfaceFunction · 0.45
CreateDeviceQueueFunction · 0.45
~IOKitJoystickMethod · 0.45
~FDInputMouseMethod · 0.45
GetDeviceMethod · 0.45
~FDInputJoystickMethod · 0.45
~FDInputKeyboardMethod · 0.45
GetDeviceMethod · 0.45
I_ShutdownInputFunction · 0.45

Calls 1

IsGrayMethod · 0.95

Tested by

no test coverage detected