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 _______________________________________________ Gnustep-dev mailing list [email protected] https://lists.gnu.org/mailman/listinfo/gnustep-dev
