[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Adding attributes to public GS classes.
From: |
Pascal Bourguignon |
Subject: |
Adding attributes to public GS classes. |
Date: |
Mon, 4 Mar 2002 11:29:14 +0100 (CET) |
Hello,
This night, I've cvs updated gnustep, and recompiled it.
Then my GNUstep applications did not work anymore. NSApp reported a
"NSApp's run called recursively" exception because its _runLoopPool
attribute was not 0.
Well, actually, what happened was that one attribute has been added to
NSApplication, and where NSApplication expected to find its
_runLoopPool, my subclass of NSApplication had its first attribute
stored and initialized in its init method.
Not a big deal, I just made clean and recompiled my GS applications
and all is well. I guess that while we're dealing with versions<1.0,
it does not matter much.
However, I think that something should be done to prevent these kind
of problem once we reach version 1.0. (That's already the case for
Foundation...). When we'll start to have a range of users running
GNUstep application, we would not want to have all of them recompile
all their GNUstep applications just because we need to add an
attribute somewhere. So, I would suggest to add at least 64 bits of
reserved attributes to each GS classes.
Then, no more attribute should be added to any public class until next
major version increment. If new fields are needed in minor increments,
these reserved bits can be used to store a pointer to an additional
private data structure.
--
__Pascal_Bourguignon__ (o_ Software patents are endangering
() ASCII ribbon against html email //\ the computer industry all around
/\ and Microsoft attachments. V_/ the world http://lpf.ai.mit.edu/
1962:DO20I=1.100 2001:my($f)=`fortune`; http://petition.eurolinux.org/
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/IT d? s++:++(+++)>++ a C+++ UB+++L++++$S+X++++>$ P- L+++ E++ W++
N++ o-- K- w------ O- M++$ V PS+E++ Y++ PGP++ t+ 5? X+ R !tv b++(+)
DI+++ D++ G++ e+++ h+(++) r? y---? UF++++
------END GEEK CODE BLOCK------
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Adding attributes to public GS classes.,
Pascal Bourguignon <=