window: Set frame flags immediately when we handle the new states in configure
This commit is contained in:
parent
851799e791
commit
ccf908b078
@ -2129,12 +2129,6 @@ frame_resize_handler(struct widget *widget,
|
||||
interior.width = width;
|
||||
interior.height = height;
|
||||
} else {
|
||||
if (widget->window->maximized) {
|
||||
frame_set_flag(frame->frame, FRAME_FLAG_MAXIMIZED);
|
||||
} else {
|
||||
frame_unset_flag(frame->frame, FRAME_FLAG_MAXIMIZED);
|
||||
}
|
||||
|
||||
frame_resize(frame->frame, width, height);
|
||||
frame_interior(frame->frame, &interior.x, &interior.y,
|
||||
&interior.width, &interior.height);
|
||||
@ -2202,12 +2196,6 @@ frame_redraw_handler(struct widget *widget, void *data)
|
||||
if (window->fullscreen)
|
||||
return;
|
||||
|
||||
if (window->focused) {
|
||||
frame_set_flag(frame->frame, FRAME_FLAG_ACTIVE);
|
||||
} else {
|
||||
frame_unset_flag(frame->frame, FRAME_FLAG_ACTIVE);
|
||||
}
|
||||
|
||||
cr = widget_cairo_create(widget);
|
||||
|
||||
frame_repaint(frame->frame, cr);
|
||||
@ -3891,6 +3879,20 @@ handle_surface_configure(void *data, struct xdg_surface *xdg_surface,
|
||||
}
|
||||
}
|
||||
|
||||
if (window->frame) {
|
||||
if (window->maximized) {
|
||||
frame_set_flag(window->frame->frame, FRAME_FLAG_MAXIMIZED);
|
||||
} else {
|
||||
frame_unset_flag(window->frame->frame, FRAME_FLAG_MAXIMIZED);
|
||||
}
|
||||
|
||||
if (window->focused) {
|
||||
frame_set_flag(window->frame->frame, FRAME_FLAG_ACTIVE);
|
||||
} else {
|
||||
frame_unset_flag(window->frame->frame, FRAME_FLAG_ACTIVE);
|
||||
}
|
||||
}
|
||||
|
||||
window->next_attach_serial = serial;
|
||||
|
||||
if (window->state_changed_handler)
|
||||
|
Loading…
Reference in New Issue
Block a user