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:
authorAndrea Weikert <elubie@gmx.net>2009-09-20 21:23:57 +0400
committerAndrea Weikert <elubie@gmx.net>2009-09-20 21:23:57 +0400
commite4a50e3f47de157b4213062d1dea9ff5c1ab0104 (patch)
tree9aca8326041e771447b9ca5716ecae501747befd /source/blender/editors/space_file
parent4b6c61e0a704a713d13090231aa73056ff48c6d4 (diff)
2.5 filebrowser
* fix crash when filebrowser tried to invoke the file_exec or file_cancel in cases no operator was set.
Diffstat (limited to 'source/blender/editors/space_file')
-rw-r--r--source/blender/editors/space_file/file_ops.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/source/blender/editors/space_file/file_ops.c b/source/blender/editors/space_file/file_ops.c
index 5603c0bb2e4..16c8733cb5b 100644
--- a/source/blender/editors/space_file/file_ops.c
+++ b/source/blender/editors/space_file/file_ops.c
@@ -526,6 +526,16 @@ int file_cancel_exec(bContext *C, wmOperator *unused)
return OPERATOR_FINISHED;
}
+int file_operator_poll(bContext *C)
+{
+ int poll = ED_operator_file_active(C);
+ SpaceFile *sfile= CTX_wm_space_file(C);
+
+ if (!sfile->op) poll= 0;
+
+ return poll;
+}
+
void FILE_OT_cancel(struct wmOperatorType *ot)
{
/* identifiers */
@@ -534,7 +544,7 @@ void FILE_OT_cancel(struct wmOperatorType *ot)
/* api callbacks */
ot->exec= file_cancel_exec;
- ot->poll= ED_operator_file_active;
+ ot->poll= file_operator_poll;
}
/* sends events now, so things get handled on windowqueue level */
@@ -612,7 +622,7 @@ void FILE_OT_execute(struct wmOperatorType *ot)
/* api callbacks */
ot->exec= file_exec;
- ot->poll= ED_operator_file_active; /* <- important, handler is on window level */
+ ot->poll= file_operator_poll;
}