Fixed table header/content random disappearance with unarchived table/outline

views.

NSTableView non-keyed unarchiving was not always initializing _columnOrigins.
NSScrollView keyed unarchiving was decoding non-encoded flags (the flags were 
thus initialized with random memory content).
See ChangeLog for detailed explanations.

Also added double action keyed archiving to NSTableView.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29494 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
qmathe 2010-02-06 11:32:34 +00:00
parent 73c3db5f74
commit 43c76c02df
3 changed files with 46 additions and 18 deletions

View file

@ -1536,6 +1536,8 @@ static float scrollerWidth;
_vLineScroll = 10;
_vPageScroll = 10;
_scrollsDynamically = YES;
/* _autohidesScroller, _rulersVisible, _hasHorizRuler and _hasVertRuler
implicitly set to NO */
if ([aDecoder containsValueForKey: @"NSsFlags"])
{
@ -1550,11 +1552,13 @@ static float scrollerWidth;
_hasVertScroller = scrollViewFlags.hasVScroller;
_hasHorizScroller = scrollViewFlags.hasHScroller;
_autohidesScrollers = scrollViewFlags.autohidesScrollers;
_scrollsDynamically = (!scrollViewFlags.nonDynamic);
_rulersVisible = scrollViewFlags.showRulers;
_hasHorizRuler = scrollViewFlags.hasHRuler;
_hasVertRuler = scrollViewFlags.hasVRuler;
// TODO: Enable once we encode the next values in
// -encodeWithCoder:, but not before otherwise we read random memory.
//_autohidesScrollers = scrollViewFlags.autohidesScrollers;
//_scrollsDynamically = (!scrollViewFlags.nonDynamic);
//_rulersVisible = scrollViewFlags.showRulers;
//_hasHorizRuler = scrollViewFlags.hasHRuler;
//_hasVertRuler = scrollViewFlags.hasVRuler;
// [self setDrawsBackground: (!scrollViewFlags.doesNotDrawBack)];
_borderType = scrollViewFlags.border;
}