diff options
author | Campbell Barton <ideasman42@gmail.com> | 2017-10-18 11:46:39 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2017-10-18 11:46:39 +0300 |
commit | ecf20e7a5629f194abe77d9b82c8dc73f06a160f (patch) | |
tree | 579007a7f1e93837810b234194dc1ed5cbbab6dc | |
parent | ec2bbc90e7c6a7f21da253333a14d49ef1428319 (diff) |
Fix crash accessing enums without a context
-rw-r--r-- | source/blender/editors/object/object_data_transfer.c | 5 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_window.c | 5 |
2 files changed, 6 insertions, 4 deletions
diff --git a/source/blender/editors/object/object_data_transfer.c b/source/blender/editors/object/object_data_transfer.c index 26af20ccf40..acb17aa382c 100644 --- a/source/blender/editors/object/object_data_transfer.c +++ b/source/blender/editors/object/object_data_transfer.c @@ -97,15 +97,14 @@ static const EnumPropertyItem *dt_layers_select_src_itemf( EvaluationContext eval_ctx; EnumPropertyItem *item = NULL, tmp_item = {0}; int totitem = 0; - - CTX_data_eval_ctx(C, &eval_ctx); - const int data_type = RNA_enum_get(ptr, "data_type"); if (!C) { /* needed for docs and i18n tools */ return rna_enum_dt_layers_select_src_items; } + CTX_data_eval_ctx(C, &eval_ctx); + RNA_enum_items_add_value(&item, &totitem, rna_enum_dt_layers_select_src_items, DT_LAYERS_ACTIVE_SRC); RNA_enum_items_add_value(&item, &totitem, rna_enum_dt_layers_select_src_items, DT_LAYERS_ALL_SRC); diff --git a/source/blender/windowmanager/intern/wm_window.c b/source/blender/windowmanager/intern/wm_window.c index 2ad90537cde..fef65d3dfc2 100644 --- a/source/blender/windowmanager/intern/wm_window.c +++ b/source/blender/windowmanager/intern/wm_window.c @@ -59,9 +59,9 @@ #include "BKE_screen.h" #include "BKE_workspace.h" - #include "RNA_access.h" #include "RNA_define.h" +#include "RNA_enum_types.h" #include "WM_api.h" #include "WM_types.h" @@ -883,6 +883,9 @@ int wm_window_new_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(even const EnumPropertyItem *wm_window_new_screen_itemf( bContext *C, struct PointerRNA *UNUSED(ptr), struct PropertyRNA *UNUSED(prop), bool *r_free) { + if (C == NULL) { + return DummyRNA_NULL_items; + } wmWindow *win = CTX_wm_window(C); WorkSpace *workspace = WM_window_get_active_workspace(win); ListBase *listbase = BKE_workspace_layouts_get(workspace); |