Commit 69c6273f authored by Derek Foreman's avatar Derek Foreman Committed by Pekka Paalanen

shell: fix weston_output_mode_switch() usage

Calling weston_output_mode_switch() with WESTON_MODE_SWITCH_RESTORE_NATIVE
will result in the mode being set "back" to the passed in mode - so the
passed mode should be the native mode.

Additionally, weston_output_mode_switch() should be called when
output->original_mode is non-NULL (which indicates we had a temporary
mode set).  The comparison to current_mode results in a lot of
log chatter.
Acked-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
parent 382de46a
......@@ -2247,11 +2247,11 @@ shell_surface_set_class(struct wl_client *client,
static void
restore_output_mode(struct weston_output *output)
{
if (output->current_mode != output->original_mode ||
if (output->original_mode ||
(int32_t)output->current_scale != output->original_scale)
weston_output_switch_mode(output,
output->original_mode,
output->original_scale,
output->native_mode,
output->native_scale,
WESTON_MODE_SWITCH_RESTORE_NATIVE);
}
......
......@@ -284,11 +284,11 @@ fs_output_for_output(struct weston_output *output)
static void
restore_output_mode(struct weston_output *output)
{
if (output->current_mode != output->original_mode ||
if (output->original_mode ||
(int32_t)output->current_scale != output->original_scale)
weston_output_switch_mode(output,
output->original_mode,
output->original_scale,
output->native_mode,
output->native_scale,
WESTON_MODE_SWITCH_RESTORE_NATIVE);
}
......
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