diff --git a/source/blender/editors/interface/interface_layout.c b/source/blender/editors/interface/interface_layout.c index c1877ac8861..56183bfb314 100644 --- a/source/blender/editors/interface/interface_layout.c +++ b/source/blender/editors/interface/interface_layout.c @@ -1346,7 +1346,7 @@ static void ui_litem_layout_free(uiLayout *litem) scaley= (float)litem->h/(float)toth; x= litem->x; - y= litem->y - scalex*toth; + y= litem->y - scaley*toth; for(item=litem->items.first; item; item=item->next) { ui_item_offset(item, &itemx, &itemy); diff --git a/source/blender/editors/interface/interface_panel.c b/source/blender/editors/interface/interface_panel.c index 5cb06845bdf..539f18c2cd8 100644 --- a/source/blender/editors/interface/interface_panel.c +++ b/source/blender/editors/interface/interface_panel.c @@ -451,10 +451,8 @@ static void ui_draw_aligned_panel_header(ARegion *ar, uiStyle *style, uiBlock *b nr++; /* + 0.001f to avoid flirting with float inaccuracy */ - if(panel->control & UI_PNL_CLOSE) pnl_icons=(2*PNL_ICON+5)/block->aspect + 0.001f; - else pnl_icons= (PNL_ICON+5)/block->aspect + 0.001f; - - pnl_icons += panel->labelofs; + if(panel->control & UI_PNL_CLOSE) pnl_icons=(panel->labelofs+2*PNL_ICON+5)/block->aspect + 0.001f; + else pnl_icons= (panel->labelofs+PNL_ICON+5)/block->aspect + 0.001f; if(nr==1) { diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c index 2e551a26b73..cf72eaf2cdd 100644 --- a/source/blender/editors/screen/area.c +++ b/source/blender/editors/screen/area.c @@ -1004,7 +1004,7 @@ void ED_region_panels(const bContext *C, ARegion *ar, int vertical, char *contex if(vertical) y -= header; - if(pt->draw_header) { + if(pt->draw_header && (open || vertical)) { /* for enabled buttons */ panel->layout= uiBlockLayout(block, UI_LAYOUT_HORIZONTAL, UI_LAYOUT_HEADER, triangle, header+style->panelspace, header, 1, style);