This is the mail archive of the cygwin-apps@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: I think I've GOT IT! The "Cannot open (null) for reading"bug!!!


Robert Collins wrote:
> On Sun, 2003-03-09 at 07:41, Max Bowsher wrote:
>> I traced it to this curious condition:
>>
>> pkg.desired.sourcePackage()          == false &&
>> pkg.desired.sourcePackage().picked() == true
>>
>> How? Well, it turns out that the defaultversion placeholder object
>> used, amongst other circumstances, when a package is has no source
>> package, is returning *true* to picked()!
>>
>> Robert, how do you think this should be fixed?
>
> Offhand, without referencing the source - make the defaultversion
> return false to picked().

Not that simple, unfortunately.

defaultversion is a _defaultversion, which derives from _packageversion.
In this, picked is a member variable.

The picked() method is in packageversion, which wraps a _packageversion,
which may be a _defaultversion (but the only _defaultversion is
defaultversion).

So _defaultversion has no control over what the wrapping packageversion does
with its data members.

Have I successfully conveyed the confusing complexity of this code? :-)

Max.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]