discuss-gnustep
[Top][All Lists]
Advanced

[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------





reply via email to

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