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
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2018-11-08 07:43:42 +0300
committerCampbell Barton <ideasman42@gmail.com>2018-11-08 07:44:59 +0300
commitaba4a567032a18b8e4c600b49b9839a538eb5c7c (patch)
tree42d218da3151f96d60f4edafc176ba5831f3f0d0 /source/blender/editors/interface/interface_region_hud.c
parenta421cfa8d31d85c9e855788c25de4f37ef10ab34 (diff)
UI: fix glitch showing the redo panel
Diffstat (limited to 'source/blender/editors/interface/interface_region_hud.c')
-rw-r--r--source/blender/editors/interface/interface_region_hud.c23
1 files changed, 15 insertions, 8 deletions
diff --git a/source/blender/editors/interface/interface_region_hud.c b/source/blender/editors/interface/interface_region_hud.c
index 914b16586ed..8b4872ffc1d 100644
--- a/source/blender/editors/interface/interface_region_hud.c
+++ b/source/blender/editors/interface/interface_region_hud.c
@@ -302,14 +302,6 @@ void ED_area_type_hud_ensure(bContext *C, ScrArea *sa)
ar->type = art;
}
- ED_region_init(ar);
- ED_region_tag_redraw(ar);
-
- /* Reset zoom level (not well supported). */
- ar->v2d.cur = ar->v2d.tot = (rctf){.xmax = ar->winx, .ymax = ar->winy};
- ar->v2d.minzoom = 1.0f;
- ar->v2d.maxzoom = 1.0f;
-
/* Let 'ED_area_update_region_sizes' do the work of placing the region.
* Otherwise we could set the 'ar->winrct' & 'ar->winx/winy' here. */
if (init) {
@@ -338,6 +330,20 @@ void ED_area_type_hud_ensure(bContext *C, ScrArea *sa)
}
}
+ if (init) {
+ /* This is needed or 'winrct' will be invalid. */
+ wmWindow *win = CTX_wm_window(C);
+ ED_area_update_region_sizes(wm, win, sa);
+ }
+
+ ED_region_init(ar);
+ ED_region_tag_redraw(ar);
+
+ /* Reset zoom level (not well supported). */
+ ar->v2d.cur = ar->v2d.tot = (rctf){.xmax = ar->winx, .ymax = ar->winy};
+ ar->v2d.minzoom = 1.0f;
+ ar->v2d.maxzoom = 1.0f;
+
/* XXX, should be handled in more general way. */
ar->visible = !((ar->flag & RGN_FLAG_HIDDEN) || (ar->flag & RGN_FLAG_TOO_SMALL));
@@ -347,6 +353,7 @@ void ED_area_type_hud_ensure(bContext *C, ScrArea *sa)
CTX_wm_region_set((bContext *)C, ar);
hud_region_layout(C, ar);
CTX_wm_region_set((bContext *)C, ar_prev);
+
}
/** \} */