mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-04-23 07:00:46 +00:00
Handle remaining problems with cursor rects.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@23041 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
840d700ce6
commit
9bcf4a86ef
4 changed files with 12 additions and 21 deletions
|
@ -1,3 +1,10 @@
|
|||
2006-06-09 Fred Kiefer <FredKiefer@gmx.de>
|
||||
|
||||
* Source/NSView.m (-discardCursorRects)
|
||||
* Source/NSWindow.m (-invalidateCursorRectsForView:): Updated
|
||||
version of patch for improved handling of cursor rects to fix bug #5871.
|
||||
Patch by Mircea Trache <aer@shaw.ca>.
|
||||
|
||||
2006-06-08 00:00 Gregory John Casamento <greg_casamento@yahoo.com>
|
||||
|
||||
* Headers/Additions/GNUstepGUI/GSNibContainer.h: Minor cleanup.
|
||||
|
|
|
@ -303,6 +303,8 @@ NSSavePanel.h \
|
|||
NSScreen.h \
|
||||
NSScrollView.h \
|
||||
NSScroller.h \
|
||||
NSSearchField.h \
|
||||
NSSearchFieldCell.h \
|
||||
NSSecureTextField.h \
|
||||
NSSelection.h \
|
||||
NSSlider.h \
|
||||
|
|
|
@ -2629,7 +2629,7 @@ Returns YES iff any scrolling was done.
|
|||
if (count > 0)
|
||||
{
|
||||
GSTrackingRect *rects[count];
|
||||
NSPoint loc = [_window mouseLocationOutsideOfEventStream];
|
||||
NSPoint loc = ((struct NSWindow_struct *)_window)->_lastPoint;
|
||||
unsigned i;
|
||||
|
||||
[_cursor_rects getObjects: rects];
|
||||
|
@ -2639,7 +2639,7 @@ Returns YES iff any scrolling was done.
|
|||
GSTrackingRect *r = rects[i];
|
||||
if (NSMouseInRect(loc, r->rectangle, NO))
|
||||
{
|
||||
[[r owner] mouseExited: nil];
|
||||
[r->owner mouseExited: nil];
|
||||
}
|
||||
[r invalidate];
|
||||
}
|
||||
|
|
|
@ -2344,25 +2344,7 @@ discardCursorRectsForView(NSView *theView)
|
|||
{
|
||||
if (((NSViewPtr)aView)->_rFlags.valid_rects)
|
||||
{
|
||||
unsigned count = [((NSViewPtr)aView)->_cursor_rects count];
|
||||
if (count > 0)
|
||||
{
|
||||
GSTrackingRect *rects[count];
|
||||
unsigned i;
|
||||
|
||||
[((NSViewPtr)aView)->_cursor_rects getObjects: rects];
|
||||
|
||||
for (i = 0; i < count; ++i)
|
||||
{
|
||||
GSTrackingRect *r = rects[i];
|
||||
if (NSMouseInRect(_lastPoint, r->rectangle, NO))
|
||||
{
|
||||
[[r owner] mouseExited: nil];
|
||||
}
|
||||
[r invalidate];
|
||||
}
|
||||
}
|
||||
((NSViewPtr)aView)->_rFlags.valid_rects = 0;
|
||||
[aView discardCursorRects];
|
||||
|
||||
if (_f.cursor_rects_valid)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue