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:
authorCampbell Barton <ideasman42@gmail.com>2017-10-18 11:46:39 +0300
committerCampbell Barton <ideasman42@gmail.com>2017-10-18 11:46:39 +0300
commitecf20e7a5629f194abe77d9b82c8dc73f06a160f (patch)
tree579007a7f1e93837810b234194dc1ed5cbbab6dc
parentec2bbc90e7c6a7f21da253333a14d49ef1428319 (diff)
Fix crash accessing enums without a context
-rw-r--r--source/blender/editors/object/object_data_transfer.c5
-rw-r--r--source/blender/windowmanager/intern/wm_window.c5
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);