Index: Source/SharedX/XGDragView.m =================================================================== RCS file: /cvsroot/gnustep/gnustep/core/xgps/Source/SharedX/XGDragView.m,v retrieving revision 1.8 diff -c -r1.8 XGDragView.m *** Source/SharedX/XGDragView.m 21 Jan 2002 15:38:20 -0000 1.8 --- Source/SharedX/XGDragView.m 22 Jan 2002 20:46:08 -0000 *************** *** 669,674 **** --- 669,689 ---- if ((targetWindow != (Window) None) && ((targetMask & dragMask & operationMask) != NSDragOperationNone)) { + // FIXME: (22 Jan 2002) + // We remove the dragged image from the screen before + // sending the dnd drop event to the destination. + // This code should actually be rewritten, because + // the depositing of the drop consist of three steps + // - prepareForDragOperation + // - performDragOperation + // - concludeDragOperation. + // The dragged image should be removed from the screen + // between the prepare and the perform operation. + // The three steps are now executed in the NSWindow class + // and the NSWindow class does not have access to + // the image. (at least not through the xdnd protocol) + [_window orderOut: nil]; + [cursorBeforeDrag set]; NSDebugLLog(@"NSDragging", @"sending dnd drop\n"); if (!dragExternal) { *************** *** 707,712 **** --- 722,729 ---- { [self slideDraggedImageTo: startPoint]; } + [_window orderOut: nil]; + [cursorBeforeDrag set]; if ([dragSource respondsToSelector: @selector(draggedImage:endedAt:deposited:)]) *************** *** 720,728 **** deposited: NO]; } } - - [_window orderOut: nil]; - [cursorBeforeDrag set]; isDragging = NO; } --- 737,742 ----