bugGNUstep - Bugs: bug #25411, dragging destination receiving...


bug #25411: dragging destination receiving mask of NSDragOperationNone

Submitter:  matt rice <ratmice>
Submitted:  Mon 26 Jan 2009 06:07:54 AM UTC
Category:  Gui/AppKit Severity:  3 - Normal
Item Group:  Bug Status:  Need Info
Privacy:  Public Assigned to:  FredKiefer
Open/Closed:  Open
* Mandatory Fields

Add a New Comment Rich Markup

Wed 28 Jan 2009 08:00:24 AM UTC, comment #3: 

Hmm, this is a possible interpretation of the required behaviour. Could anybody please test this on Apple to see what they are doing?
I found that Apple seems to disregard that mask when doing a drop, so I am not sure what they are doing with it during the drag. One possiblity is that they just use the mask to determine the drag icon (indicating the possible drag operations).

Fred Kiefer <FredKiefer>
Group Member
Tue 27 Jan 2009 08:56:41 PM UTC, comment #2: 

yeah i'm aware of that, and set it up in my program to override the default draggingOperationMask (I just implemented the draggingSourceOperationMask:forLocal: function instead so it would work with older gui's)...

before OS X added -setDraggingSourceOperationMask:forLocal: their default operation mask wasn't documented so I assume when you added it you changed it to align with theirs.

the bug as I see it is more that when you return NSDragOperationNone in the dragging source, it still sends it to the dragging destination, so effectively if the remote dragging destination supports NSDragOperationNone it would be possible to drag and drop, that seems counter to the intention of returning NSDragOperationNone.

matt rice <ratmice>
Group Member
Tue 27 Jan 2009 08:39:36 PM UTC, comment #1: 

As far as I know this is a feature not a bug :-)

If you need a different behaviour for your NSTableView you need to call setDraggingSourceOperationMask:forLocal: on it once.

I know that this behaviour is different from what GNUstep used to do, but it should be similar to what MacOSX does. If it is not, we should of course change the implementation.

Fred Kiefer <FredKiefer>
Group Member
Mon 26 Jan 2009 06:07:54 AM UTC, original submission:  

not sure if this is a bug but when debugging a DBModeler dragging issue, the default -draggingSourceOperationMaskForLocal: return value for remote drags changed from NSDragOperationAll to NSDragOperationNone

i noticed that the remote side/dragging destination (Gorm) was receving a drag operation with NSDragOperationNone in -draggingEntered:

it wasn't coded to do anything with such an operation, and to me it doesn't seem like it should be getting to the remote side

any old tableview data source which implements -tableView:writeRows:toPasteboard: without changing the default operation mask should be able to reproduce.

matt rice <ratmice>
Group Member


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by FredKiefer (Posted a comment)
  • -email is unavailable- added by ratmice (Submitted the item)

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.


    Follow 2 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2009-01-27 FredKiefer StatusNone Need Info
        Assigned toNone FredKiefer

    Back to the top

    Powered by Savane 3.13-758e.
    Corresponding source code