Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2010-12-17 22:05:34 +0300
committerTon Roosendaal <ton@blender.org>2010-12-17 22:05:34 +0300
commita0ce28d7312adc31194e2ba34974dc5de754fced (patch)
treefc801b5d536e8d37207d04c068b7e1e456f470df /source/blender/windowmanager/intern/wm_event_system.c
parentfd90685a48f6fae30e6731bc4a805930e776f117 (diff)
Drag & drop feature:
You now can drop a .blend inside blender window to open it. Implementation notes: - Added call to extract icon type for files. Code re-used from space_file - External files that get dropped set icon types too. Drop box polls can check for this. - Also enabled setting op-context for drop operators, this was needed to prevent filewindow to open.
Diffstat (limited to 'source/blender/windowmanager/intern/wm_event_system.c')
-rw-r--r--source/blender/windowmanager/intern/wm_event_system.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c
index 0a1f3035a84..9c8bd3f4fec 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -1468,8 +1468,14 @@ static int wm_handlers_do(bContext *C, wmEvent *event, ListBase *handlers)
if(drop->poll(C, drag, event)) {
drop->copy(drag, drop);
- wm_operator_invoke(C, drop->ot, event, drop->ptr, NULL, FALSE);
+ WM_operator_name_call(C, drop->ot->idname, drop->opcontext, drop->ptr);
+ //wm_operator_invoke(C, drop->ot, event, drop->ptr, NULL, FALSE);
action |= WM_HANDLER_BREAK;
+
+ /* prevent hanging on file read */
+ BLI_freelistN(event->customdata);
+ event->customdata= NULL;
+ event->custom= 0;
}
}
}