[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18544] branches/blender2.5/blender/source /blender/editors: Fixed a crash in sculptmode.

Nicholas Bishop nicholasbishop at gmail.com
Sat Jan 17 01:26:49 CET 2009


Revision: 18544
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18544
Author:   nicholasbishop
Date:     2009-01-17 01:26:46 +0100 (Sat, 17 Jan 2009)

Log Message:
-----------
Fixed a crash in sculptmode. Also replaced a degree sign with an underscore in view3d, not sure how that got in there.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/editors/sculpt/sculpt.c
    branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_ops.c

Modified: branches/blender2.5/blender/source/blender/editors/sculpt/sculpt.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/sculpt/sculpt.c	2009-01-16 23:58:10 UTC (rev 18543)
+++ branches/blender2.5/blender/source/blender/editors/sculpt/sculpt.c	2009-01-17 00:26:46 UTC (rev 18544)
@@ -1590,11 +1590,13 @@
 }
 
 /* Initialize the stroke cache invariants from operator properties */
-static void sculpt_update_cache_invariants(SculptData *sd, wmOperator *op)
+static void sculpt_update_cache_invariants(SculptData *sd, bContext *C, wmOperator *op)
 {
-	StrokeCache *cache = sd->session->cache;
+	StrokeCache *cache = MEM_callocN(sizeof(StrokeCache), "stroke cache");
 	int i;
 
+	sd->session->cache = cache;
+
 	RNA_float_get_array(op->ptr, "scale", cache->scale);
 	cache->flag = RNA_int_get(op->ptr, "flag");
 	RNA_float_get_array(op->ptr, "clip_tolerance", cache->clip_tolerance);
@@ -1603,6 +1605,8 @@
 
 	/* Truly temporary data that isn't stored in properties */
 
+	view3d_set_viewcontext(C, &cache->vc);
+
 	cache->mats = MEM_callocN(sizeof(bglMats), "sculpt bglMats");
 	sculpt_load_mats(cache->mats, &cache->vc);
 
@@ -1668,6 +1672,7 @@
 	SculptData *sd = &CTX_data_scene(C)->sculptdata;
 	Object *ob= CTX_data_active_object(C);
 	ModifierData *md;
+	ViewContext vc;
 	float scale[3], clip_tolerance[3] = {0,0,0};
 	int mouse[2], flag = 0;
 
@@ -1699,9 +1704,10 @@
 	RNA_int_set_array(op->ptr, "initial_mouse", mouse);
 
 	/* Initial screen depth under the mouse */
-	RNA_float_set(op->ptr, "depth", read_cached_depth(&sd->session->cache->vc, event->x, event->y));
+	view3d_set_viewcontext(C, &vc);
+	RNA_float_set(op->ptr, "depth", read_cached_depth(&vc, event->x, event->y));
 
-	sculpt_update_cache_invariants(sd, op);
+	sculpt_update_cache_invariants(sd, C, op);
 }
 
 static int sculpt_brush_stroke_invoke(bContext *C, wmOperator *op, wmEvent *event)
@@ -1712,7 +1718,6 @@
 	sd->session = MEM_callocN(sizeof(SculptSession), "test sculpt session");
 	sd->session->cache = MEM_callocN(sizeof(StrokeCache), "stroke cache");
 	
-	view3d_set_viewcontext(C, &sd->session->cache->vc);
 	view3d_operator_needs_opengl(C);
 	sculpt_brush_stroke_init_properties(C, op, event, sd->session);
 
@@ -1795,8 +1800,7 @@
 	SculptData *sd = &CTX_data_scene(C)->sculptdata;
 
 	view3d_operator_needs_opengl(C);
-	view3d_set_viewcontext(C, &sd->session->cache->vc);
-	sculpt_update_cache_invariants(sd, op);
+	sculpt_update_cache_invariants(sd, C, op);
 
 	RNA_BEGIN(op->ptr, itemptr, "stroke") {
 		sculpt_update_cache_variants(sd, &itemptr);

Modified: branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_ops.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_ops.c	2009-01-16 23:58:10 UTC (rev 18543)
+++ branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_ops.c	2009-01-17 00:26:46 UTC (rev 18544)
@@ -137,7 +137,7 @@
 	/* drawtype */
 	km = WM_keymap_add_item(keymap, "VIEW3D_OT_drawtype", ZKEY, KM_PRESS, 0, 0);
 	RNA_int_set(km->ptr, "draw_type", OB_SOLID);
-	RNA_int_set(km->ptr, "draw°type_alternate", OB_WIRE);
+	RNA_int_set(km->ptr, "draw_type_alternate", OB_WIRE);
 
 	km = WM_keymap_add_item(keymap, "VIEW3D_OT_drawtype", ZKEY, KM_PRESS, KM_ALT, 0);
 	RNA_int_set(km->ptr, "draw_type", OB_TEXTURE);





More information about the Bf-blender-cvs mailing list