summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Fl_cocoa.mm5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/Fl_cocoa.mm b/src/Fl_cocoa.mm
index 67cae882c..876426b43 100644
--- a/src/Fl_cocoa.mm
+++ b/src/Fl_cocoa.mm
@@ -1738,6 +1738,7 @@ static void q_set_window_title(NSWindow *nsw, const char * name, const char *mi
int ret = Fl::handle( FL_DND_ENTER, target );
breakMacEventLoop();
fl_unlock_function();
+ Fl::flush();
return ret ? NSDragOperationCopy : NSDragOperationNone;
}
- (NSDragOperation)draggingUpdated:(id < NSDraggingInfo >)sender
@@ -1749,6 +1750,10 @@ static void q_set_window_title(NSWindow *nsw, const char * name, const char *mi
int ret = Fl::handle( FL_DND_DRAG, target );
breakMacEventLoop();
fl_unlock_function();
+ // if the DND started in the same application, Fl::dnd() will not return until
+ // the the DND operation is finished. The call below causes the drop indicator
+ // to be draw correctly (a full event handling would be better...)
+ Fl::flush();
return ret ? NSDragOperationCopy : NSDragOperationNone;
}
- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender