[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [47600] trunk/blender/source/blender/ editors/space_clip/tracking_ops.c: Fix #31748: Blender crashes when typing "al" after opening spacebar menu.

Sergey Sharybin sergey.vfx at gmail.com
Fri Jun 8 10:24:10 CEST 2012


Revision: 47600
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=47600
Author:   nazgul
Date:     2012-06-08 08:24:08 +0000 (Fri, 08 Jun 2012)
Log Message:
-----------
Fix #31748: Blender crashes when typing "al" after opening spacebar menu.

Crash was introduced by own refactoring of poll functions in clip editor.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_clip/tracking_ops.c

Modified: trunk/blender/source/blender/editors/space_clip/tracking_ops.c
===================================================================
--- trunk/blender/source/blender/editors/space_clip/tracking_ops.c	2012-06-08 08:17:34 UTC (rev 47599)
+++ trunk/blender/source/blender/editors/space_clip/tracking_ops.c	2012-06-08 08:24:08 UTC (rev 47600)
@@ -2135,18 +2135,21 @@
 
 static int set_orientation_poll(bContext *C)
 {
-	Scene *scene = CTX_data_scene(C);
 	SpaceClip *sc = CTX_wm_space_clip(C);
-	MovieClip *clip = ED_space_clip(sc);
-	MovieTracking *tracking = &clip->tracking;
-	MovieTrackingObject *tracking_object = BKE_tracking_active_object(tracking);
 
-	if (tracking_object->flag & TRACKING_OBJECT_CAMERA) {
-		return TRUE;
+	if (sc) {
+		Scene *scene = CTX_data_scene(C);
+		MovieClip *clip = ED_space_clip(sc);
+		MovieTracking *tracking = &clip->tracking;
+		MovieTrackingObject *tracking_object = BKE_tracking_active_object(tracking);
+
+		if (tracking_object->flag & TRACKING_OBJECT_CAMERA) {
+			return TRUE;
+		}
+		else {
+			return OBACT != NULL;
+		}
 	}
-	else {
-		return OBACT != NULL;
-	}
 
 	return FALSE;
 }
@@ -2744,11 +2747,16 @@
 static int set_solution_scale_poll(bContext *C)
 {
 	SpaceClip *sc = CTX_wm_space_clip(C);
-	MovieClip *clip = ED_space_clip(sc);
-	MovieTracking *tracking = &clip->tracking;
-	MovieTrackingObject *tracking_object = BKE_tracking_active_object(tracking);
 
-	return (tracking_object->flag & TRACKING_OBJECT_CAMERA) == 0;
+	if (sc) {
+		MovieClip *clip = ED_space_clip(sc);
+		MovieTracking *tracking = &clip->tracking;
+		MovieTrackingObject *tracking_object = BKE_tracking_active_object(tracking);
+
+		return (tracking_object->flag & TRACKING_OBJECT_CAMERA) == 0;
+	}
+
+	return FALSE;
 }
 
 static int set_solution_scale_exec(bContext *C, wmOperator *op)




More information about the Bf-blender-cvs mailing list