Commit ef82bdfd authored by Ilia Bozhinov's avatar Ilia Bozhinov Committed by Daniel Stone

xwm: Handle third data entry in client messages

A single client message can be used to modify two properties at once.
That's why when processing such messages we have to check both the second
and the third data entry for states that we must handle.
Signed-off-by: default avatarIlia Bozhinov <iliyabo@hotmail.com>
Reviewed-by: Daniel Stone's avatarDaniel Stone <daniels@collabora.com>
parent e1af3d8d
......@@ -1619,13 +1619,15 @@ weston_wm_window_handle_state(struct weston_wm_window *window,
struct weston_wm *wm = window->wm;
const struct weston_desktop_xwayland_interface *xwayland_interface =
wm->server->compositor->xwayland_interface;
uint32_t action, property;
uint32_t action, property1, property2;
int maximized = weston_wm_window_is_maximized(window);
action = client_message->data.data32[0];
property = client_message->data.data32[1];
property1 = client_message->data.data32[1];
property2 = client_message->data.data32[2];
if (property == wm->atom.net_wm_state_fullscreen &&
if ((property1 == wm->atom.net_wm_state_fullscreen ||
property2 == wm->atom.net_wm_state_fullscreen) &&
update_state(action, &window->fullscreen)) {
weston_wm_window_set_net_wm_state(window);
if (window->fullscreen) {
......@@ -1640,10 +1642,12 @@ weston_wm_window_handle_state(struct weston_wm_window *window,
weston_wm_window_set_toplevel(window);
}
} else {
if (property == wm->atom.net_wm_state_maximized_vert &&
if ((property1 == wm->atom.net_wm_state_maximized_vert ||
property2 == wm->atom.net_wm_state_maximized_vert) &&
update_state(action, &window->maximized_vert))
weston_wm_window_set_net_wm_state(window);
if (property == wm->atom.net_wm_state_maximized_horz &&
if ((property1 == wm->atom.net_wm_state_maximized_horz ||
property2 == wm->atom.net_wm_state_maximized_horz) &&
update_state(action, &window->maximized_horz))
weston_wm_window_set_net_wm_state(window);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment