On Fri, Jan 29, 2010 at 4:11 AM, Eric Wasylishen <[email protected]>wrote:

> Author: ericwa
> Date: Fri Jan 29 04:11:43 2010
> New Revision: 29435
>
> URL: http://svn.gna.org/viewcvs/gnustep?rev=29435&view=rev
> Log:
> NSSegmentedCell themeing support
>

I'm observing a weird bug I don't  understand with this revision. Some table
views don't drawn their table header and content.

I have attached a screenshot that shows how the broken table view looks.

I can eliminate the issue with the attached patch, but I don't understand
why. -[NSSegmentedCell encode/initWithCoder:] doesn't seem to be called in
my code too.

If I update to a more recent revision, it seems to get worse. This corrupts
the left table view in my example too and the thin black border in the right
table view header (visible in the screenshot) disappears.

The wrongly positioned icons in the toolbar are due to a completely
unrelated issue with -drawInRect:, I'm running my example with a clean
AppKit build (without my local fixes).

Cheers,
Quentin.

<<attachment: tableView-bug-with-r29435.png>>

Index: Source/NSSegmentedCell.m
===================================================================
--- Source/NSSegmentedCell.m	(revision 29435)
+++ Source/NSSegmentedCell.m	(working copy)
@@ -607,7 +607,7 @@
   return _segmentCellFlags._style;
 }
 
-- (void) encodeWithCoder: (NSCoder*)aCoder
+/*- (void) encodeWithCoder: (NSCoder*)aCoder
 {
   [super encodeWithCoder: aCoder];
 
@@ -651,7 +651,7 @@
       _segmentCellFlags._style = style;
     }
   return self;
-}
+}*/
 
 - (void) stopTracking: (NSPoint)lastPoint
 		   at: (NSPoint)stopPoint
Index: Headers/AppKit/NSSegmentedCell.h
===================================================================
--- Headers/AppKit/NSSegmentedCell.h	(revision 29435)
+++ Headers/AppKit/NSSegmentedCell.h	(working copy)
@@ -53,11 +53,9 @@
     unsigned int _tracking_mode:3;
     unsigned int _trimmed_labels:1;
     unsigned int _drawing:1;
-    unsigned int unused1:2;
+    unsigned int _style:1;
     unsigned int _recalcToolTips:1;
-    unsigned int unused2:3;
-    unsigned int _style:8;
-    unsigned int unused3:13;
+    unsigned int unused:24;
   } _segmentCellFlags;
 }
 
_______________________________________________
Gnustep-dev mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/gnustep-dev

Reply via email to