Commit c574b43d authored by Jack Jansen's avatar Jack Jansen

Fixed a nasty bug where FindControl could return a reference to a

destroyed python object.
parent da6a9719
......@@ -95,7 +95,7 @@ CtlObj_Convert(v, p_itself)
static void CtlObj_dealloc(self)
ControlObject *self;
{
/* Cleanup of self->ob_itself goes here */
SetCRefCon(self->ob_itself, (long)0); /* Make it forget about us */
PyMem_DEL(self);
}
......
# Generated from 'flap:CW8 Gold:Metrowerks CodeWarrior:MacOS Support:Headers:Universal Headers:Controls.h'
# Generated from 'Sap:CW8 Gold:Metrowerks CodeWarrior:MacOS Support:Headers:Universal Headers:Controls.h'
f = Function(ControlRef, 'NewControl',
(WindowRef, 'theWindow', InMode),
......
......@@ -3,11 +3,12 @@ import addpack
addpack.addpack(':Tools:bgen:bgen')
from scantools import Scanner
from bgenlocations import TOOLBOXDIR
def main():
input = "Controls.h"
output = "ctlgen.py"
defsoutput = "Controls.py"
defsoutput = TOOLBOXDIR + "Controls.py"
scanner = MyScanner(input, output, defsoutput)
scanner.scan()
scanner.close()
......
......@@ -68,7 +68,9 @@ class MyObjectDefinition(GlobalObjectDefinition):
def outputInitStructMembers(self):
GlobalObjectDefinition.outputInitStructMembers(self)
Output("SetCRefCon(itself, (long)it);")
def outputCleanupStructMembers(self):
Output("SetCRefCon(self->ob_itself, (long)0); /* Make it forget about us */")
# Create the generator groups and link them
module = MacModule(MODNAME, MODPREFIX, includestuff, finalstuff, initstuff)
object = MyObjectDefinition(OBJECTNAME, OBJECTPREFIX, OBJECTTYPE)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment