bug-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: DnD improvements


From: Willem Rein Oudshoorn
Subject: Re: DnD improvements
Date: 08 Dec 2001 18:22:04 +0100
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1

Today I had some time to look at the result of the DnD patch. 
The drag image for the Cursor well is OK, but I have a hard
time understanding your changes to the cursor code,

Adam Fedor <fedor@doc.com> writes:
> 
> Also, the cursor management was screwed up, which I think was causing
> at least some of your cursor problems. It's probably my fault since I
> wrote it and obviously didn't understand a thing about cursors when I
> did. It should work a little better now, but it still leaves much to
> be desired.

Actually, from my point of view it is much worse.  It used to be that
cursor setting failed only on some windows.  Now it seems to work
very very unreliable.
Now if I drag an image the cursor is not set immediately, but only 
after a while.  
A cursory debugging session of _DPSsetcursor:  showed that 

        generic.currentMouseWindow;
   
is None almost all of the time.  (That is not GOOD)        
  
You know probably better than I do how cursor are supposed to work,
and I would like to fix the code.  But I do not understand at all
what the idea is behind the current code.  

If you care to elaborate I will look into it.  But I do not
dare to change it because I assume you have a reason for these
changes.

Next question is about the caching of the cursors.  
When I implemented the code I briefly thought about caching
them.  I did not make a cache, because in my opninion caching
the cursors is a job of the NSCursor class.  Looking at 
the documentation of the NSCursor class did not reveal
any method that makes this impossible.  

Besides that, why do you create a new `ArrowCursor'?
The says that it is done because we color it.  But
the coloring is done in the call

        DPSsetcursorcolor (....., [newCursor _cid]);

So I don't see the reason for the duplicate.  

Thanks for incorperating the patch, 
I will look at the default implementations of

draggingEntered: , draggingUpdated: 

code.  BTW, I think they should not be made
a protocol of NSObject.  

Wim Oudshoorn





reply via email to

[Prev in Thread] Current Thread [Next in Thread]