gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [GDL2] NSAutoreleasePool/EOFault


From: David Ayers
Subject: Re: [GDL2] NSAutoreleasePool/EOFault
Date: Sat, 12 Mar 2005 19:18:44 +0100
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.3) Gecko/20040910

Manuel Guesdon wrote:

Hi,

With version 1.59 of NSAutoreleasePool.m, gdl2 'stopped working' (it was working with v 1.55).

in NSAutoreleasePool -dealloc, calling instanceMethodForSelector on a EOFault object make the object de-faulting and produce strange recurse loop until it fill the stack.
Adding
/**
* Returns a pointer to the C function implementing the method used
* to respond to messages with aSelector by instances of the receiving
* class.
* <br />Raises NSInvalidArgumentException if given a null selector.
*/
+ (IMP) instanceMethodForSelector: (SEL)aSelector
{
 if (aSelector == 0)
   [NSException raise: NSInvalidArgumentException
               format: @"%@ null selector given", NSStringFromSelector(_cmd)];
 /*
  *        Since 'self' is an class, get_imp() will get the instance method.
  */
 return get_imp((Class)self, aSelector);
}

in EOFault solve the problem.

What do you think ? Any objection to to commit it ?


Wait!!!
/me turns brain back on.
That's not what we want to do. In this cast it works but that's special case...

This is nasty, but I think what we want is the fault to fire or clear and change the class again.

Let me ponder a bit...

Cheers,
David





reply via email to

[Prev in Thread] Current Thread [Next in Thread]