From ad58999b0d46731d8587d4eaf35f37f484cfe023 Mon Sep 17 00:00:00 2001 From: Julian Eisel Date: Wed, 18 Nov 2020 19:49:20 +0100 Subject: Fix pin icon in Properties not right-aligned after zooming The logic for separator-spacers (used here for right-alignment) didn't take region scaling into account. Usually that's not an issue because they are otherwise only used in headers which can't zoom. --- source/blender/editors/interface/interface.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'source') diff --git a/source/blender/editors/interface/interface.c b/source/blender/editors/interface/interface.c index dc20e6f1813..d75909bef87 100644 --- a/source/blender/editors/interface/interface.c +++ b/source/blender/editors/interface/interface.c @@ -64,6 +64,7 @@ #include "UI_interface.h" #include "UI_interface_icons.h" +#include "UI_view2d.h" #include "IMB_imbuf.h" @@ -286,11 +287,12 @@ static void ui_update_flexible_spacing(const ARegion *region, uiBlock *block) } } + const float view_scale_x = UI_view2d_scale_get_x(®ion->v2d); const float segment_width = region_width / (float)sepr_flex_len; float offset = 0, remaining_space = region_width - buttons_width; i = 0; LISTBASE_FOREACH (uiBut *, but, &block->buttons) { - BLI_rctf_translate(&but->rect, offset, 0); + BLI_rctf_translate(&but->rect, offset / view_scale_x, 0); if (but->type == UI_BTYPE_SEPR_SPACER) { /* How much the next block overlap with the current segment */ int overlap = ((i == sepr_flex_len - 1) ? buttons_width - spacers_pos[i] : -- cgit v1.2.3