[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [30896] trunk/blender/source/blender/ makesrna/intern/rna_space.c: bugfix [#23104] Crash when console: < SpaceView3D object>.local_view.

Campbell Barton ideasman42 at gmail.com
Fri Jul 30 13:19:41 CEST 2010


Revision: 30896
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=30896
Author:   campbellbarton
Date:     2010-07-30 13:19:41 +0200 (Fri, 30 Jul 2010)

Log Message:
-----------
bugfix [#23104] Crash when console: <SpaceView3D object>.local_view. autocomplete

Modified Paths:
--------------
    trunk/blender/source/blender/makesrna/intern/rna_space.c

Modified: trunk/blender/source/blender/makesrna/intern/rna_space.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_space.c	2010-07-30 11:15:39 UTC (rev 30895)
+++ trunk/blender/source/blender/makesrna/intern/rna_space.c	2010-07-30 11:19:41 UTC (rev 30896)
@@ -310,22 +310,32 @@
 {
 	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 .. */
+	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;
+		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)





More information about the Bf-blender-cvs mailing list