Index: Source/NSView.m
===================================================================
--- Source/NSView.m	(revision 27792)
+++ Source/NSView.m	(working copy)
@@ -151,6 +151,11 @@
 static NSMapTable	*typesMap = 0;
 static NSLock		*typesLock = nil;
 
+static void setViewNeedsDisplayFlag(NSView *v, BOOL flag)
+{
+  v->_rFlags.needs_display = flag;
+}
+
 /*
  * This is the only external interface to the drag types info.
  */
@@ -547,7 +552,7 @@
   //_window = nil;
   //_is_rotated_from_base = NO;
   //_is_rotated_or_scaled_from_base = NO;
-  _rFlags.needs_display = YES;
+  setViewNeedsDisplayFlag(self, YES);
   //_post_frame_changes = NO;
   _autoresizes_subviews = YES;
   _autoresizingMask = NSViewNotSizable;
@@ -2323,7 +2328,7 @@
            */
           if (NSIsEmptyRect(_invalidRect))
             {
-              _rFlags.needs_display = subviewNeedsDisplay;
+  	      setViewNeedsDisplayFlag(self, subviewNeedsDisplay);
             }
         }
     }
@@ -2395,7 +2400,7 @@
       if (NSEqualRects(aRect, NSUnionRect(neededRect, aRect)) == YES)
         {
           _invalidRect = NSZeroRect;
-          _rFlags.needs_display = NO;
+	  setViewNeedsDisplayFlag(self, NO);
         }
     }
   
@@ -2463,7 +2468,7 @@
            * a view is marked as needing to display, all its ancestors will be 
            * marked too.
            */
-          _rFlags.needs_display = YES;
+	  setViewNeedsDisplayFlag(self, YES);
         }
       [_window enableFlushWindow];
       [_window flushWindowIfNeeded];
@@ -2607,7 +2612,7 @@
     }
   else
     {
-      _rFlags.needs_display = NO;
+      setViewNeedsDisplayFlag(self, NO);
       _invalidRect = NSZeroRect;
     }
 }
@@ -2652,7 +2657,7 @@
     {
       NSView	*firstOpaque = [self opaqueAncestor];
 
-      _rFlags.needs_display = YES;
+      setViewNeedsDisplayFlag(self, YES);
       _invalidRect = invalidRect;
       if (firstOpaque == self)
         {
@@ -2671,7 +2676,7 @@
    */
   while (currentView)
     {
-      currentView->_rFlags.needs_display = YES;
+      setViewNeedsDisplayFlag(currentView, YES);
       currentView = currentView->_super_view;
     }
 }
@@ -4438,7 +4443,7 @@
       
       _is_rotated_from_base = NO;
       _is_rotated_or_scaled_from_base = NO;
-      _rFlags.needs_display = YES;
+      setViewNeedsDisplayFlag(self, YES);
       _post_frame_changes = NO;
       _autoresizes_subviews = YES;
       _autoresizingMask = NSViewNotSizable;
@@ -4516,7 +4521,7 @@
       
       _super_view = nil;
       _window = nil;
-      _rFlags.needs_display = YES;
+      setViewNeedsDisplayFlag(self, YES);
       _coordinates_valid = NO;
       
       _rFlags.flipped_view = [self isFlipped];
