diff options
Diffstat (limited to 'source/blender/windowmanager/intern/wm_operators.c')
-rw-r--r-- | source/blender/windowmanager/intern/wm_operators.c | 82 |
1 files changed, 42 insertions, 40 deletions
diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c index dff8e72a5fe..0e58e1c0466 100644 --- a/source/blender/windowmanager/intern/wm_operators.c +++ b/source/blender/windowmanager/intern/wm_operators.c @@ -543,50 +543,52 @@ static const char *wm_context_member_from_ptr(const bContext *C, case ID_SCR: { CTX_TEST_PTR_ID(C, "screen", ptr->owner_id); - SpaceLink *space_data = CTX_wm_space_data(C); - - TEST_PTR_DATA_TYPE("space_data", RNA_Space, ptr, space_data); TEST_PTR_DATA_TYPE("area", RNA_Area, ptr, CTX_wm_area(C)); TEST_PTR_DATA_TYPE("region", RNA_Region, ptr, CTX_wm_region(C)); - switch (space_data->spacetype) { - case SPACE_VIEW3D: { - const View3D *v3d = (View3D *)space_data; - const View3DShading *shading = &v3d->shading; + SpaceLink *space_data = CTX_wm_space_data(C); + if (space_data != NULL) { + TEST_PTR_DATA_TYPE("space_data", RNA_Space, ptr, space_data); - TEST_PTR_DATA_TYPE("space_data.overlay", RNA_View3DOverlay, ptr, v3d); - TEST_PTR_DATA_TYPE("space_data.shading", RNA_View3DShading, ptr, shading); - break; - } - case SPACE_GRAPH: { - const SpaceGraph *sipo = (SpaceGraph *)space_data; - const bDopeSheet *ads = sipo->ads; - TEST_PTR_DATA_TYPE("space_data.dopesheet", RNA_DopeSheet, ptr, ads); - break; - } - case SPACE_FILE: { - const SpaceFile *sfile = (SpaceFile *)space_data; - const FileSelectParams *params = ED_fileselect_get_active_params(sfile); - TEST_PTR_DATA_TYPE("space_data.params", RNA_FileSelectParams, ptr, params); - break; - } - case SPACE_IMAGE: { - const SpaceImage *sima = (SpaceImage *)space_data; - TEST_PTR_DATA_TYPE("space_data.overlay", RNA_SpaceImageOverlay, ptr, sima); - TEST_PTR_DATA_TYPE("space_data.uv_editor", RNA_SpaceUVEditor, ptr, sima); - break; - } - case SPACE_NLA: { - const SpaceNla *snla = (SpaceNla *)space_data; - const bDopeSheet *ads = snla->ads; - TEST_PTR_DATA_TYPE("space_data.dopesheet", RNA_DopeSheet, ptr, ads); - break; - } - case SPACE_ACTION: { - const SpaceAction *sact = (SpaceAction *)space_data; - const bDopeSheet *ads = &sact->ads; - TEST_PTR_DATA_TYPE("space_data.dopesheet", RNA_DopeSheet, ptr, ads); - break; + switch (space_data->spacetype) { + case SPACE_VIEW3D: { + const View3D *v3d = (View3D *)space_data; + const View3DShading *shading = &v3d->shading; + + TEST_PTR_DATA_TYPE("space_data.overlay", RNA_View3DOverlay, ptr, v3d); + TEST_PTR_DATA_TYPE("space_data.shading", RNA_View3DShading, ptr, shading); + break; + } + case SPACE_GRAPH: { + const SpaceGraph *sipo = (SpaceGraph *)space_data; + const bDopeSheet *ads = sipo->ads; + TEST_PTR_DATA_TYPE("space_data.dopesheet", RNA_DopeSheet, ptr, ads); + break; + } + case SPACE_FILE: { + const SpaceFile *sfile = (SpaceFile *)space_data; + const FileSelectParams *params = ED_fileselect_get_active_params(sfile); + TEST_PTR_DATA_TYPE("space_data.params", RNA_FileSelectParams, ptr, params); + break; + } + case SPACE_IMAGE: { + const SpaceImage *sima = (SpaceImage *)space_data; + TEST_PTR_DATA_TYPE("space_data.overlay", RNA_SpaceImageOverlay, ptr, sima); + TEST_PTR_DATA_TYPE("space_data.uv_editor", RNA_SpaceUVEditor, ptr, sima); + break; + } + case SPACE_NLA: { + const SpaceNla *snla = (SpaceNla *)space_data; + const bDopeSheet *ads = snla->ads; + TEST_PTR_DATA_TYPE("space_data.dopesheet", RNA_DopeSheet, ptr, ads); + break; + } + case SPACE_ACTION: { + const SpaceAction *sact = (SpaceAction *)space_data; + const bDopeSheet *ads = &sact->ads; + TEST_PTR_DATA_TYPE("space_data.dopesheet", RNA_DopeSheet, ptr, ads); + break; + } } } |