diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-01-19 19:38:48 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-01-19 19:38:48 +0300 |
commit | d77c51a47682addecd60fac07d7b280285cb6c76 (patch) | |
tree | 427c8bc0a0eaa2488690f209d5d25b823a29207a /source | |
parent | 9396bb2da92080dc44cb255e3f37c8fcac6ead79 (diff) |
bugfix [#20736] crash if lasso select while invisble object is selected
- also dont display empty menu's
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/interface/interface_regions.c | 3 | ||||
-rw-r--r-- | source/blender/editors/screen/screen_ops.c | 2 | ||||
-rw-r--r-- | source/blender/editors/space_view3d/view3d_select.c | 7 |
3 files changed, 6 insertions, 6 deletions
diff --git a/source/blender/editors/interface/interface_regions.c b/source/blender/editors/interface/interface_regions.c index 90823481f18..cef2501645b 100644 --- a/source/blender/editors/interface/interface_regions.c +++ b/source/blender/editors/interface/interface_regions.c @@ -2240,7 +2240,8 @@ void uiPupMenuReports(bContext *C, ReportList *reports) } 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); diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c index f837409ca4a..f1e0f9c6bf1 100644 --- a/source/blender/editors/screen/screen_ops.c +++ b/source/blender/editors/screen/screen_ops.c @@ -1589,7 +1589,7 @@ static int keyframe_jump_exec(bContext *C, wmOperator *op) 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); diff --git a/source/blender/editors/space_view3d/view3d_select.c b/source/blender/editors/space_view3d/view3d_select.c index 5d9919ea4c0..f7f053b2195 100644 --- a/source/blender/editors/space_view3d/view3d_select.c +++ b/source/blender/editors/space_view3d/view3d_select.c @@ -345,9 +345,8 @@ int lasso_inside_edge(short mcords[][2], short moves, int x0, int y0, int x1, in /* 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 @@ static void do_lasso_select_objects(ViewContext *vc, short mcords[][2], short mo 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 @@ static void do_lasso_select_objects(ViewContext *vc, short mcords[][2], short mo 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); } } } |