diff --git a/Headers/gnustep/gui/NSView.h b/Headers/gnustep/gui/NSView.h index ad42d869a..85ce3f717 100644 --- a/Headers/gnustep/gui/NSView.h +++ b/Headers/gnustep/gui/NSView.h @@ -335,7 +335,7 @@ enum { */ - (void) addToPageSetup; - (void) beginPage: (int)ordinalNum - abel: (NSString*)aString + label: (NSString*)aString bBox: (NSRect)pageRect fonts: (NSString*)fontNames; - (void) beginPageSetupRect: (NSRect)aRect diff --git a/Source/NSView.m b/Source/NSView.m index 409a82688..f54e5357d 100644 --- a/Source/NSView.m +++ b/Source/NSView.m @@ -405,16 +405,6 @@ GSSetDragTypes(NSView* obj, NSArray *types) { [_window makeFirstResponder: _window]; } - /* - * We make sure that the coordinates are invalidated even though the - * code to add this view to another view will also invalidate them. - * This is for consistency so that when a view is not in the view - * hierarchy, its coordinates should not be valid. - */ - if (aSubview->_coordinates_valid) - { - (*invalidateImp)(aSubview, invalidateSel); - } aSubview->_super_view = nil; [aSubview viewWillMoveToWindow: nil]; [_sub_views removeObjectIdenticalTo: aSubview]; @@ -520,6 +510,14 @@ GSSetDragTypes(NSView* obj, NSArray *types) { return; } + if (_coordinates_valid) + { + (*invalidateImp)(self, invalidateSel); + } + if (_rFlags.has_currects != 0) + { + [self discardCursorRects]; + } if (_rFlags.has_draginfo) { NSGraphicsContext *ctxt = GSCurrentContext(); @@ -534,10 +532,6 @@ GSSetDragTypes(NSView* obj, NSArray *types) [ctxt _addDragTypes: t toWindow: [newWindow windowNumber]]; } } - if (newWindow == nil && [_window firstResponder] == self) - { - [_window makeFirstResponder: _window]; - } _window = newWindow;