Merge branch 'blender-v4.1-release'
This commit is contained in:
@@ -141,6 +141,8 @@ void ED_region_toggle_hidden(bContext *C, ARegion *region);
|
||||
/**
|
||||
* For use after changing visibility of regions.
|
||||
*/
|
||||
void ED_region_visibility_change_update_ex(
|
||||
bContext *C, ScrArea *area, ARegion *region, bool is_hidden, bool do_init);
|
||||
void ED_region_visibility_change_update(bContext *C, ScrArea *area, ARegion *region);
|
||||
/* `screen_ops.cc` */
|
||||
|
||||
|
||||
@@ -2260,9 +2260,10 @@ void ED_region_cursor_set(wmWindow *win, ScrArea *area, ARegion *region)
|
||||
WM_cursor_set(win, WM_CURSOR_DEFAULT);
|
||||
}
|
||||
|
||||
void ED_region_visibility_change_update(bContext *C, ScrArea *area, ARegion *region)
|
||||
void ED_region_visibility_change_update_ex(
|
||||
bContext *C, ScrArea *area, ARegion *region, bool is_hidden, bool do_init)
|
||||
{
|
||||
if (region->flag & (RGN_FLAG_HIDDEN | RGN_FLAG_POLL_FAILED)) {
|
||||
if (is_hidden) {
|
||||
WM_event_remove_handlers(C, ®ion->handlers);
|
||||
/* Needed to close any open pop-overs which would otherwise remain open,
|
||||
* crashing on attempting to refresh. See: #93410.
|
||||
@@ -2272,8 +2273,17 @@ void ED_region_visibility_change_update(bContext *C, ScrArea *area, ARegion *reg
|
||||
UI_region_free_active_but_all(C, region);
|
||||
}
|
||||
|
||||
ED_area_init(CTX_wm_manager(C), CTX_wm_window(C), area);
|
||||
ED_area_tag_redraw(area);
|
||||
if (do_init) {
|
||||
ED_area_init(CTX_wm_manager(C), CTX_wm_window(C), area);
|
||||
ED_area_tag_redraw(area);
|
||||
}
|
||||
}
|
||||
|
||||
void ED_region_visibility_change_update(bContext *C, ScrArea *area, ARegion *region)
|
||||
{
|
||||
const bool is_hidden = region->flag & (RGN_FLAG_HIDDEN | RGN_FLAG_POLL_FAILED);
|
||||
const bool do_init = true;
|
||||
ED_region_visibility_change_update_ex(C, area, region, is_hidden, do_init);
|
||||
}
|
||||
|
||||
void region_toggle_hidden(bContext *C, ARegion *region, const bool do_fade)
|
||||
|
||||
@@ -5567,7 +5567,7 @@ void ED_region_visibility_change_update_animated(bContext *C, ScrArea *area, ARe
|
||||
ED_area_init(wm, win, area);
|
||||
}
|
||||
else {
|
||||
WM_event_remove_handlers(C, ®ion->handlers);
|
||||
ED_region_visibility_change_update_ex(C, area, region, true, false);
|
||||
}
|
||||
|
||||
if (region->next) {
|
||||
|
||||
Reference in New Issue
Block a user