diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c index 3a5a702a..6ef36b5b 100644 --- a/desktop-shell/shell.c +++ b/desktop-shell/shell.c @@ -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); } diff --git a/fullscreen-shell/fullscreen-shell.c b/fullscreen-shell/fullscreen-shell.c index 25932d44..c7950df9 100644 --- a/fullscreen-shell/fullscreen-shell.c +++ b/fullscreen-shell/fullscreen-shell.c @@ -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); }