Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2010-01-19 19:38:48 +0300
committerCampbell Barton <ideasman42@gmail.com>2010-01-19 19:38:48 +0300
commitd77c51a47682addecd60fac07d7b280285cb6c76 (patch)
tree427c8bc0a0eaa2488690f209d5d25b823a29207a /source
parent9396bb2da92080dc44cb255e3f37c8fcac6ead79 (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.c3
-rw-r--r--source/blender/editors/screen/screen_ops.c2
-rw-r--r--source/blender/editors/space_view3d/view3d_select.c7
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);
}
}
}