[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [26112] trunk/blender/source/blender/ editors: bugfix [#20736] crash if lasso select while invisble object is selected

Campbell Barton ideasman42 at gmail.com
Tue Jan 19 17:38:48 CET 2010


Revision: 26112
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26112
Author:   campbellbarton
Date:     2010-01-19 17:38:48 +0100 (Tue, 19 Jan 2010)

Log Message:
-----------
bugfix [#20736] crash if lasso select while invisble object is selected

- also dont display empty menu's

Modified Paths:
--------------
    trunk/blender/source/blender/editors/interface/interface_regions.c
    trunk/blender/source/blender/editors/screen/screen_ops.c
    trunk/blender/source/blender/editors/space_view3d/view3d_select.c

Modified: trunk/blender/source/blender/editors/interface/interface_regions.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_regions.c	2010-01-19 15:57:02 UTC (rev 26111)
+++ trunk/blender/source/blender/editors/interface/interface_regions.c	2010-01-19 16:38:48 UTC (rev 26112)
@@ -2240,7 +2240,8 @@
 	}
 
 	str= BLI_dynstr_get_cstring(ds);
-	ui_popup_menu_create(C, NULL, NULL, NULL, NULL, str);
+	if(str[0] != '\0')
+		ui_popup_menu_create(C, NULL, NULL, NULL, NULL, str);
 	MEM_freeN(str);
 
 	BLI_dynstr_free(ds);

Modified: trunk/blender/source/blender/editors/screen/screen_ops.c
===================================================================
--- trunk/blender/source/blender/editors/screen/screen_ops.c	2010-01-19 15:57:02 UTC (rev 26111)
+++ trunk/blender/source/blender/editors/screen/screen_ops.c	2010-01-19 16:38:48 UTC (rev 26112)
@@ -1589,7 +1589,7 @@
 	if (ak) 
 		CFRA= (int)ak->cfra;
 	else
-		BKE_report(op->reports, RPT_ERROR, "No more keyframes to jump to in this direction");
+		BKE_report(op->reports, RPT_INFO, "No more keyframes to jump to in this direction");
 	
 	/* free temp stuff */
 	BLI_dlrbTree_free(&keys);

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_select.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_select.c	2010-01-19 15:57:02 UTC (rev 26111)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_select.c	2010-01-19 16:38:48 UTC (rev 26112)
@@ -345,9 +345,8 @@
 /* warning; lasso select with backbuffer-check draws in backbuf with persp(PERSP_WIN) 
    and returns with persp(PERSP_VIEW). After lasso select backbuf is not OK
 */
-static void do_lasso_select_pose(ViewContext *vc, short mcords[][2], short moves, short select)
+static void do_lasso_select_pose(ViewContext *vc, Object *ob, short mcords[][2], short moves, short select)
 {
-	Object *ob= vc->obact;
 	bPoseChannel *pchan;
 	float vec[3];
 	short sco1[2], sco2[2];
@@ -382,7 +381,7 @@
 	Base *base;
 	
 	for(base= vc->scene->base.first; base; base= base->next) {
-		if(base->lay & vc->v3d->lay) {
+		if(BASE_SELECTABLE(vc->v3d, base)) { /* use this to avoid un-needed lasso lookups */
 			project_short(vc->ar, base->object->obmat[3], &base->sx);
 			if(lasso_inside(mcords, moves, base->sx, base->sy)) {
 				
@@ -391,7 +390,7 @@
 				base->object->flag= base->flag;
 			}
 			if(base->object->mode & OB_MODE_POSE) {
-				do_lasso_select_pose(vc, mcords, moves, select);
+				do_lasso_select_pose(vc, base->object, mcords, moves, select);
 			}
 		}
 	}





More information about the Bf-blender-cvs mailing list