diff options
author | Ton Roosendaal <ton@blender.org> | 2009-01-28 15:28:50 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2009-01-28 15:28:50 +0300 |
commit | e687e6ccd2de950eab298fcb32c0926cc7a9eb67 (patch) | |
tree | 54e99e920c3f2ff15156ec1d7f86567c720e16e2 /source | |
parent | 4a1a8271c1666727d6b5784dd468751fff0820bd (diff) |
2.5
Bugfix in last commit: the read-file hotkey (enter) has to be in
the window handler queue, so it nicely exits all queues without
using free'd data.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/space_file/file_ops.c | 2 | ||||
-rw-r--r-- | source/blender/editors/space_file/space_file.c | 2 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_files.c | 2 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_operators.c | 1 |
4 files changed, 5 insertions, 2 deletions
diff --git a/source/blender/editors/space_file/file_ops.c b/source/blender/editors/space_file/file_ops.c index 3f057e8a7f4..c6ed0d159d6 100644 --- a/source/blender/editors/space_file/file_ops.c +++ b/source/blender/editors/space_file/file_ops.c @@ -506,7 +506,7 @@ void ED_FILE_OT_load(struct wmOperatorType *ot) /* api callbacks */ ot->exec= file_load_exec; - ot->poll= ED_operator_file_active; + ot->poll= ED_operator_file_active; /* <- important, handler is on window level */ } diff --git a/source/blender/editors/space_file/space_file.c b/source/blender/editors/space_file/space_file.c index 82866193399..2bdeadba696 100644 --- a/source/blender/editors/space_file/space_file.c +++ b/source/blender/editors/space_file/space_file.c @@ -261,6 +261,7 @@ void file_operatortypes(void) WM_operatortype_append(ED_FILE_OT_cancel); } +/* NOTE: do not add .blend file reading on this level */ void file_keymap(struct wmWindowManager *wm) { ListBase *keymap= WM_keymap_listbase(wm, "File", SPACE_FILE, 0); @@ -268,7 +269,6 @@ void file_keymap(struct wmWindowManager *wm) WM_keymap_add_item(keymap, "ED_FILE_OT_select_all", AKEY, KM_PRESS, 0, 0); WM_keymap_add_item(keymap, "ED_FILE_OT_border_select", BKEY, KM_PRESS, 0, 0); WM_keymap_add_item(keymap, "ED_FILE_OT_highlight", MOUSEMOVE, KM_ANY, 0, 0); - WM_keymap_add_item(keymap, "ED_FILE_OT_load", RETKEY, KM_PRESS, 0, 0); WM_keymap_add_item(keymap, "ED_FILE_OT_cancel", ESCKEY, KM_PRESS, 0, 0); WM_keymap_add_item(keymap, "ED_FILE_OT_loadimages", TIMER1, KM_ANY, KM_ANY, 0); diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c index 744113f3d3a..d013ab4228d 100644 --- a/source/blender/windowmanager/intern/wm_files.c +++ b/source/blender/windowmanager/intern/wm_files.c @@ -529,6 +529,8 @@ void WM_read_file(bContext *C, char *name, ReportList *reports) WM_event_add_notifier(C, NC_WM|ND_FILEREAD, NULL); // refresh_interface_font(); + + CTX_wm_window_set(C, NULL); /* exits queues */ } // else if(retval==1) // XXX BIF_undo_push("Import file"); diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c index 4aa363c78f5..d46653de436 100644 --- a/source/blender/windowmanager/intern/wm_operators.c +++ b/source/blender/windowmanager/intern/wm_operators.c @@ -1171,5 +1171,6 @@ void wm_window_keymap(wmWindowManager *wm) WM_keymap_verify_item(keymap, "WM_OT_save_as_mainfile", F2KEY, KM_PRESS, 0, 0); WM_keymap_verify_item(keymap, "WM_OT_window_fullscreen_toggle", F11KEY, KM_PRESS, 0, 0); WM_keymap_verify_item(keymap, "WM_OT_exit_blender", QKEY, KM_PRESS, KM_CTRL, 0); + WM_keymap_add_item(keymap, "ED_FILE_OT_load", RETKEY, KM_PRESS, 0, 0); } |