<html>
<head>
<base href="https://bugzilla.gnome.org/" />
</head>
<body><span class="vcard"><a href="page.cgi?id=describeuser.html&login=drago01%40gmail.com" title="drago01@gmail.com">drago01@gmail.com</a>
</span> changed
<a class="bz_bug_link
bz_status_NEW "
title="NEW - Wrong input region on wayland in HiDPI"
href="https://bugzilla.gnome.org/show_bug.cgi?id=744933">bug 744933</a>
<br>
<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>What</th>
<th>Removed</th>
<th>Added</th>
</tr>
<tr>
<td style="text-align:right;">CC</td>
<td>
</td>
<td>drago01@gmail.com
</td>
</tr></table>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - Wrong input region on wayland in HiDPI"
href="https://bugzilla.gnome.org/show_bug.cgi?id=744933#c4">Comment # 4</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - Wrong input region on wayland in HiDPI"
href="https://bugzilla.gnome.org/show_bug.cgi?id=744933">bug 744933</a>
from <span class="vcard"><a href="page.cgi?id=describeuser.html&login=drago01%40gmail.com" title="drago01@gmail.com">drago01@gmail.com</a>
</span></b>
<pre>We scale the input region by output_scale / buffer_scale ... so if you have
buffer_scale of 1 and output scale of 2 it gets scaled up by 2.
If the app sets buffer scale to 2 it gets scaled by 1 (i.e not at all) because
the app is supposed to be rendering at the correct resolution.
Also is it really "the upper half" or the the "upper left quarter" ?
We always scale the opaque region by the buffer scale which looks wrong ...
unfortunately can't test it right now does something like this work? :
diff --git a/src/wayland/meta-wayland-surface.c
b/src/wayland/meta-wayland-surface.c
index b1364e8..76c1fc1 100644
--- a/src/wayland/meta-wayland-surface.c
+++ b/src/wayland/meta-wayland-surface.c
@@ -426,7 +426,8 @@ commit_pending_state (MetaWaylandSurface *surface,
if (pending->opaque_region)
{
- pending->opaque_region = scale_region (pending->opaque_region,
surface->scale);
+ pending->opaque_region = scale_region (pending->opaque_region,
+
meta_surface_actor_wayland_get_scale (META_SURFACE_ACTOR_WAYLAND
(surface->surface_actor)));
meta_surface_actor_set_opaque_region (surface->surface_actor,
pending->opaque_region);
}
if (pending->input_region)</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>