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
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2010-07-30 15:19:41 +0400
committerCampbell Barton <ideasman42@gmail.com>2010-07-30 15:19:41 +0400
commit385c8af44956b54a8d789bb3f55678f79b21a4de (patch)
tree3277595f8a5d4f73feec62fba89f8b39caf730b9 /source
parent3b9b4f76054e55465c3c0ddbaed3f09618860b58 (diff)
bugfix [#23104] Crash when console: <SpaceView3D object>.local_view. autocomplete
Diffstat (limited to 'source')
-rw-r--r--source/blender/makesrna/intern/rna_space.c26
1 files changed, 18 insertions, 8 deletions
diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c
index 227466f808d..8bb736f7976 100644
--- a/source/blender/makesrna/intern/rna_space.c
+++ b/source/blender/makesrna/intern/rna_space.c
@@ -310,22 +310,32 @@ static PointerRNA rna_SpaceView3D_region_3d_get(PointerRNA *ptr)
{
View3D *v3d= (View3D*)(ptr->data);
ScrArea *sa= rna_area_from_space(ptr);
- ListBase *regionbase= (sa->spacedata.first == v3d)? &sa->regionbase: &v3d->regionbase;
- ARegion *ar= regionbase->last; /* always last in list, weak .. */
+ void *regiondata= NULL;
+ if(sa) {
+ ListBase *regionbase= (sa->spacedata.first == v3d)? &sa->regionbase: &v3d->regionbase;
+ ARegion *ar= regionbase->last; /* always last in list, weak .. */
+ regiondata= ar->regiondata;
+ }
- return rna_pointer_inherit_refine(ptr, &RNA_RegionView3D, ar->regiondata);
+ return rna_pointer_inherit_refine(ptr, &RNA_RegionView3D, regiondata);
}
static PointerRNA rna_SpaceView3D_region_quadview_get(PointerRNA *ptr)
{
View3D *v3d= (View3D*)(ptr->data);
ScrArea *sa= rna_area_from_space(ptr);
- ListBase *regionbase= (sa->spacedata.first == v3d)? &sa->regionbase: &v3d->regionbase;
- ARegion *ar= regionbase->last; /* always before last in list, weak .. */
-
- ar= (ar->alignment == RGN_ALIGN_QSPLIT)? ar->prev: NULL;
+ void *regiondata= NULL;
+ if(sa) {
+ ListBase *regionbase= (sa->spacedata.first == v3d)? &sa->regionbase: &v3d->regionbase;
+ ARegion *ar= regionbase->last; /* always before last in list, weak .. */
+
+ ar= (ar->alignment == RGN_ALIGN_QSPLIT)? ar->prev: NULL;
+ if(ar) {
+ regiondata= ar->regiondata;
+ }
+ }
- return rna_pointer_inherit_refine(ptr, &RNA_RegionView3D, (ar)? ar->regiondata: NULL);
+ return rna_pointer_inherit_refine(ptr, &RNA_RegionView3D, regiondata);
}
static void rna_RegionView3D_quadview_update(Main *main, Scene *scene, PointerRNA *ptr)