• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

Are Reals leaking?

Status
Not open for further replies.
Here is a great rule for leaks.


If you create it, it will stay until it is removed. For example, creating a group or a unit. If you no longer reference something and you don't remove it, that's a leak (it's sitting around in your map). For example, enumerating through a group and then never destroying that group.

If you reference something that is created and can be destroyed, that reference (the pointer) will leak. If it didn't leak, there would be a possibility of a unit pointer referencing a timer-

JASS:
local unit u=CreateUnit()
local timer t
call RemoveUnit(u)
set t=CreateTimer()
//u would reference t if pointers were recycled regardless of what was referencing them

So yes, you have to null your pointers, otherwise they are never reused and the handle table (a hashtable) gets cluttered.
 
Status
Not open for further replies.
Top