Initialize output->native_mode with the initially chosen
mode for an output, so weston_output_mode_switch_to_native()
has something to work with and can switch back from temporary
selected modes to the outputs native mode. Before, this was a
no-op.
This allows an output to switch back to its default mode if
a former toplevel fullscreen shell surface created via method
WL_SHELL_SURFACE_FULLSCREEN_METHOD_DRIVER gets destroyed, or
it gets demoted to non-fullscreen, or if modesetting on the
output failed for some reason.
v2: Modified and split into a separate patch from original
patch "Allow restore_output_mode() to work properly.",
as suggested by Derek Foreman.
Signed-off-by: Mario Kleiner <[email protected]>
Cc: Derek Foreman <[email protected]>
---
src/compositor-drm.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/compositor-drm.c b/src/compositor-drm.c
index 58b2e5a..ad70807 100644
--- a/src/compositor-drm.c
+++ b/src/compositor-drm.c
@@ -2202,6 +2202,10 @@ create_output_for_connector(struct drm_compositor *ec,
connector->count_modes == 0 ?
", built-in" : "");
+ /* Set native_ fields, so weston_output_mode_switch_to_native() works */
+ output->base.native_mode = output->base.current_mode;
+ output->base.native_scale = output->base.current_scale;
+
return 0;
err_output:
--
1.9.1
_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel