Hello Guru's.
I've been having an AWEFUL load of trouble with my (very old) version
of DG Scripts, which i patched into my circle code back in 97 or 98.
None-the-less, i've just checked the latest version [see thread: Latest
DG script patches. (pl8 :) ] for a fix to my bug, and it still exists i
think.
BUG
^^^
Each mob and obj (and i think room) has a 'struct script_data *sc' and
a pointer to the prototype.
Now I do NOT free the prototype (as this is used by others), but i do
free the script_data. To do that, i made my own function, but later found
this has already been done in :-
File: db.script.c
+/* release memory allocated for a script */
+void free_script(struct script_data *sc)
{ ... }
This (above) function eventually calls :-
+void trig_data_free(trig_data *this_data)
{ ... }
... and this is what is crashing me.
The current code has this section --COMMENTED OUT-- ... which is fine, but
results in MEMORY NOT BEING FREE'D (ie. Memory Leaking).
+ /*
+ * The command list is a memory leak right now!
+ *
+ if (cmdlist != trigg->cmdlist || this_data->proto)
+ for (i = cmdlist; i;) {
+ j = i;
+ i = i->next;
+ free(j->cmd);
+ free(j);
+ }
+ */
Even the comment says so ;)
has anyone figured out why FREEING the 'trigg->cmdlist' OR / AND 'trigg-
>curr_state' crashes the game?
I've been in the process of tracking down memory leaks, and DG triggers
has a few.
I hope someone could shed some light here .....
-Pure Krome-
--
+---------------------------------------------------------------+
| FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
| Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
| Newbie List: http://groups.yahoo.com/group/circle-newbies/ |
+---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 06/25/03 PDT