Bugfix [#33511]
Overlapping regions: when dragging the region to close them, it started the blending timer - which of course is not meant to happen.
This commit is contained in:
@@ -1257,25 +1257,32 @@ void ED_region_init(bContext *C, ARegion *ar)
|
||||
glLoadIdentity();
|
||||
}
|
||||
|
||||
void ED_region_toggle_hidden(bContext *C, ARegion *ar)
|
||||
/* for quick toggle, can skip fades */
|
||||
void region_toggle_hidden(bContext *C, ARegion *ar, int do_fade)
|
||||
{
|
||||
ScrArea *sa = CTX_wm_area(C);
|
||||
|
||||
|
||||
ar->flag ^= RGN_FLAG_HIDDEN;
|
||||
|
||||
if (ar->overlap) {
|
||||
|
||||
if (do_fade && ar->overlap) {
|
||||
/* starts a timer, and in end calls the stuff below itself (region_sblend_invoke()) */
|
||||
region_blend_start(C, sa, ar);
|
||||
}
|
||||
else {
|
||||
if (ar->flag & RGN_FLAG_HIDDEN)
|
||||
WM_event_remove_handlers(C, &ar->handlers);
|
||||
|
||||
|
||||
ED_area_initialize(CTX_wm_manager(C), CTX_wm_window(C), sa);
|
||||
ED_area_tag_redraw(sa);
|
||||
}
|
||||
}
|
||||
|
||||
/* exported to all editors, uses fading default */
|
||||
void ED_region_toggle_hidden(bContext *C, ARegion *ar)
|
||||
{
|
||||
region_toggle_hidden(C, ar, 1);
|
||||
}
|
||||
|
||||
/* sa2 to sa1, we swap spaces for fullscreen to keep all allocated data */
|
||||
/* area vertices were set */
|
||||
void area_copy_data(ScrArea *sa1, ScrArea *sa2, int swap_space)
|
||||
|
@@ -39,6 +39,7 @@ struct Scene;
|
||||
|
||||
/* area.c */
|
||||
void area_copy_data(ScrArea *sa1, ScrArea *sa2, int swap_space);
|
||||
void region_toggle_hidden(bContext *C, ARegion *ar, int do_fade);
|
||||
|
||||
/* screen_edit.c */
|
||||
ScrEdge *screen_findedge(bScreen *sc, ScrVert *v1, ScrVert *v2);
|
||||
|
@@ -1786,7 +1786,7 @@ static void region_scale_validate_size(RegionMoveData *rmd)
|
||||
|
||||
static void region_scale_toggle_hidden(bContext *C, RegionMoveData *rmd)
|
||||
{
|
||||
ED_region_toggle_hidden(C, rmd->ar);
|
||||
region_toggle_hidden(C, rmd->ar, 0);
|
||||
region_scale_validate_size(rmd);
|
||||
}
|
||||
|
||||
@@ -3594,7 +3594,7 @@ typedef struct RegionAlphaInfo {
|
||||
int hidden;
|
||||
} RegionAlphaInfo;
|
||||
|
||||
#define TIMEOUT 0.3f
|
||||
#define TIMEOUT 0.2f
|
||||
#define TIMESTEP 0.04f
|
||||
|
||||
float ED_region_blend_factor(ARegion *ar)
|
||||
|
Reference in New Issue
Block a user