|
From: | Stefan Bidigaray |
Subject: | Fwd: Re: CoreBase problem with INIT_CFRUNTIME_BASE |
Date: | Tue, 5 Apr 2016 08:17:21 -0400 |
Forgot to cc the list. That's what I get for trying to do anything in my phone.
It was not an intended change. I was probably doing something dumb and forgot to delete that change before committing.
I do not have access to any of my development machines right now (I'm on the prices of moving) so can't make changes. Would someone mind unconsenting that line and deleting the other?
Thanks
Hi,
On my machine, 32 tests of CoreBase are failing like this:
CFRuntime.c:381: CFTypeRef CFRetain(CFTypeRef): Assertion `result <
2147483647' failed.
I've traced down the problem to these lines
(Headers/CoreFoundation/CFRuntime.h:126):
<---- snip ---->
struct __CFRuntimeBase
{
void *_isa;
/**< The Objective-C class for this object. Used for the
Objective-C
bridge. <em>For internal use only.</em> */
SInt16 _typeID;
struct
{
SInt16 ro: 1;
SInt16 reserved: 7;
SInt16 info: 8;
} _flags;
};
//#define INIT_CFRUNTIME_BASE(...) { 0, 0, { 1, 0, 0 } }
#define INIT_CFRUNTIME_BASE(...) { 0, 0x00008000 }
<---- snip ---->
With the uncommented definition, _flags.ro is left uninitialized, which
causes problems later when CFRetain checks it to see if the object has
a "retained" field. The commented version works fine.
This new definition was introduced in the last commit. Was that an
intended change? Am I missing something?
Sergio.
_______________________________________________
Gnustep-dev mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/gnustep-dev
[Prev in Thread] | Current Thread | [Next in Thread] |