mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-06-02 07:20:58 +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
db7974064c
commit
2b448fe8a2
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>
|
2006-06-08 00:00 Gregory John Casamento <greg_casamento@yahoo.com>
|
||||||
|
|
||||||
* Headers/Additions/GNUstepGUI/GSNibContainer.h: Minor cleanup.
|
* Headers/Additions/GNUstepGUI/GSNibContainer.h: Minor cleanup.
|
||||||
|
|
|
@ -303,6 +303,8 @@ NSSavePanel.h \
|
||||||
NSScreen.h \
|
NSScreen.h \
|
||||||
NSScrollView.h \
|
NSScrollView.h \
|
||||||
NSScroller.h \
|
NSScroller.h \
|
||||||
|
NSSearchField.h \
|
||||||
|
NSSearchFieldCell.h \
|
||||||
NSSecureTextField.h \
|
NSSecureTextField.h \
|
||||||
NSSelection.h \
|
NSSelection.h \
|
||||||
NSSlider.h \
|
NSSlider.h \
|
||||||
|
|
|
@ -2629,7 +2629,7 @@ Returns YES iff any scrolling was done.
|
||||||
if (count > 0)
|
if (count > 0)
|
||||||
{
|
{
|
||||||
GSTrackingRect *rects[count];
|
GSTrackingRect *rects[count];
|
||||||
NSPoint loc = [_window mouseLocationOutsideOfEventStream];
|
NSPoint loc = ((struct NSWindow_struct *)_window)->_lastPoint;
|
||||||
unsigned i;
|
unsigned i;
|
||||||
|
|
||||||
[_cursor_rects getObjects: rects];
|
[_cursor_rects getObjects: rects];
|
||||||
|
@ -2639,7 +2639,7 @@ Returns YES iff any scrolling was done.
|
||||||
GSTrackingRect *r = rects[i];
|
GSTrackingRect *r = rects[i];
|
||||||
if (NSMouseInRect(loc, r->rectangle, NO))
|
if (NSMouseInRect(loc, r->rectangle, NO))
|
||||||
{
|
{
|
||||||
[[r owner] mouseExited: nil];
|
[r->owner mouseExited: nil];
|
||||||
}
|
}
|
||||||
[r invalidate];
|
[r invalidate];
|
||||||
}
|
}
|
||||||
|
|
|
@ -2344,25 +2344,7 @@ discardCursorRectsForView(NSView *theView)
|
||||||
{
|
{
|
||||||
if (((NSViewPtr)aView)->_rFlags.valid_rects)
|
if (((NSViewPtr)aView)->_rFlags.valid_rects)
|
||||||
{
|
{
|
||||||
unsigned count = [((NSViewPtr)aView)->_cursor_rects count];
|
[aView discardCursorRects];
|
||||||
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;
|
|
||||||
|
|
||||||
if (_f.cursor_rects_valid)
|
if (_f.cursor_rects_valid)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue