window: Set frame flags immediately when we handle the new states in configure
This commit is contained in:
committed by
Kristian Høgsberg
parent
851799e791
commit
ccf908b078
+14
-12
@@ -2129,12 +2129,6 @@ frame_resize_handler(struct widget *widget,
|
|||||||
interior.width = width;
|
interior.width = width;
|
||||||
interior.height = height;
|
interior.height = height;
|
||||||
} else {
|
} 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_resize(frame->frame, width, height);
|
||||||
frame_interior(frame->frame, &interior.x, &interior.y,
|
frame_interior(frame->frame, &interior.x, &interior.y,
|
||||||
&interior.width, &interior.height);
|
&interior.width, &interior.height);
|
||||||
@@ -2202,12 +2196,6 @@ frame_redraw_handler(struct widget *widget, void *data)
|
|||||||
if (window->fullscreen)
|
if (window->fullscreen)
|
||||||
return;
|
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);
|
cr = widget_cairo_create(widget);
|
||||||
|
|
||||||
frame_repaint(frame->frame, cr);
|
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;
|
window->next_attach_serial = serial;
|
||||||
|
|
||||||
if (window->state_changed_handler)
|
if (window->state_changed_handler)
|
||||||
|
|||||||
Reference in New Issue
Block a user