gnustep-dev
[Top][All Lists]
Advanced

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

Re: GNUstep on OSX


From: Ibadinov Marat
Subject: Re: GNUstep on OSX
Date: Sat, 27 Apr 2013 00:03:00 +0300

Hello,

Sorry for not writing for too long.
I had sent signed copyright assignment contract to FSF this monday, hopefully 
it will arrive next week.

Here are some good news: finally we have complete, Apple-compatible KVO 
implementation.
While digging through the current implementation of KVO to eliminate the 
deadlock, that i've mentioned in an earlier letter,
and i figured out that implementation was not full and largely incompatible 
with Apple's. So i ended up with reimplementing
KVO subsystem focusing on compatibility in both design and behavior. Resulting 
implementation is pretty well covered by tests enforcing
compatibility with reference implementation and supports both nested properties 
and properties with dependencies in any combination.
The only incompatibility that i acknowledge is execution points in which 
+[automaticallyNotifiesObserversForKey:] and
+[keyPathsForValuesAffectingValueForKey:] are called. In Apple's implementation 
+[automaticallyNotifiesObserversForKey:] is called by property object 
each time an observer is added, but without changing KVC implementation to use 
property objects (for information about setters, ivars and notification
options) this is not viable and requires a lot of trickery to so only for 
direct ivar access. As a result -[setValue:forKey:] calls
+[automaticallyNotifiesObserversForKey:] each time when accessing directly an 
ivar of observed object.

There is a couple of days before the vacation and i have time to fix some bugs. 
For some of them i'll appreciate an advise:
 - window decorations are present on submenus
 - there is a problem with application icon window size — it is wider than it 
should be
 - right corner of resizable windows is messed up — it's white instead of 
window color
Here is a screenshot:
http://f.cl.ly/items/000k2j0M3Q16110X1f1B/Screen%20shot%202013-03-28%20at%2011.32.03%20PM.png
This are not bugs specific to my fork, as they were present back in january 
when the only changes i've made
to the AppKit were fixes of build scripts (to get it running on OSX) and 
adaptations to changes in ABI
of the Foundation (just a couple of function calls that pass NSIntegers via 
pointers).
Here is screenshot from january:
http://f.cl.ly/items/3O3h2a0d2M1g3Q3H020E/Screen%20shot%202013-01-10%20at%209.31.39%20PM.png
App icon bug is clearly visible, but no submenu was open the time i made it and 
System Preferences are not
resizable. But it's the only screenshot that is left from back then :(
If anybody with a knowledge of AppKit implementation internals could tell more 
or less precisely where to look
for causes of this issues, it save a lot of time. Thanks in advance.

I'll be out of town from 1 to 12 of may (vacation), but if everything will be 
ready from the FSF's side, we can start merging shortly after my return.

Best regards.
Marat


reply via email to

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