aboutsummaryrefslogtreecommitdiffstats
path: root/meta-agl-flutter/recipes-graphics/toyota/files/0001-shell-wayland-display-Handle-flags-as-bitfield-entri.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-agl-flutter/recipes-graphics/toyota/files/0001-shell-wayland-display-Handle-flags-as-bitfield-entri.patch')
-rw-r--r--meta-agl-flutter/recipes-graphics/toyota/files/0001-shell-wayland-display-Handle-flags-as-bitfield-entri.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/meta-agl-flutter/recipes-graphics/toyota/files/0001-shell-wayland-display-Handle-flags-as-bitfield-entri.patch b/meta-agl-flutter/recipes-graphics/toyota/files/0001-shell-wayland-display-Handle-flags-as-bitfield-entri.patch
new file mode 100644
index 00000000..6970388c
--- /dev/null
+++ b/meta-agl-flutter/recipes-graphics/toyota/files/0001-shell-wayland-display-Handle-flags-as-bitfield-entri.patch
@@ -0,0 +1,38 @@
+From 357634ceae6d730131b26bc3e72b4cf0b3e902ad Mon Sep 17 00:00:00 2001
+From: Marius Vlad <marius.vlad@collabora.com>
+Date: Mon, 19 Jun 2023 10:34:44 +0300
+Subject: [PATCH] shell/wayland/display: Handle flags as bitfield entries
+
+We can have preferred and current mode or'ed in the same time, so we
+can't really check just for current mode. Make sure we do get a valid
+width/height for the outputs to avoid going further.
+
+Bug-AGL: SPEC-4841
+Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
+---
+ shell/wayland/display.cc | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/shell/wayland/display.cc b/shell/wayland/display.cc
+index 434dd05..5ace67c 100644
+--- a/shell/wayland/display.cc
++++ b/shell/wayland/display.cc
+@@ -258,12 +258,14 @@ void Display::display_handle_mode(void* data,
+ (void)flags;
+ auto* oi = static_cast<output_info_t*>(data);
+
+- if (flags == WL_OUTPUT_MODE_CURRENT) {
++ if ((flags & WL_OUTPUT_MODE_CURRENT) == WL_OUTPUT_MODE_CURRENT) {
+ oi->height = static_cast<unsigned int>(height);
+ oi->width = static_cast<unsigned int>(width);
+ oi->refresh_rate = refresh;
+ }
+
++ assert(oi->height && oi->width);
++
+ FML_DLOG(INFO) << "Video mode: " << width << " x " << height << " @ "
+ << (refresh > 1000 ? refresh / 1000.0 : (double)refresh)
+ << " Hz";
+--
+2.35.1
+