<html>
<head>
<base href="https://bugzilla.gnome.org/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - surfaces with no outputs get scale factor reset"
href="https://bugzilla.gnome.org/show_bug.cgi?id=774476">774476</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>surfaces with no outputs get scale factor reset
</td>
</tr>
<tr>
<th>Classification</th>
<td>Platform
</td>
</tr>
<tr>
<th>Product</th>
<td>gtk+
</td>
</tr>
<tr>
<th>Version</th>
<td>unspecified
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>Normal
</td>
</tr>
<tr>
<th>Component</th>
<td>Backend: Wayland
</td>
</tr>
<tr>
<th>Assignee</th>
<td>gtk-bugs@gtk.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>carlosg@gnome.org
</td>
</tr>
<tr>
<th>QA Contact</th>
<td>gtk-bugs@gtk.org
</td>
</tr>
<tr>
<th>CC</th>
<td>rob@robster.org.uk, wayland-bugs@lists.freedesktop.org
</td>
</tr>
<tr>
<th>GNOME version</th>
<td>---
</td>
</tr></table>
<p>
<div>
<pre>When switching workspaces, surfaces may (not always, that seems like a mutter
bug) receive wl_surface.leave on the output, which leaves the surface with no
outputs.
In this case gdk also calls window_update_scale() which checks the MAX of the
current outputs, and resorts to 1 as the output list is empty. This is bad for
hidpi, as it triggers re-scaling of the windows, both when they're being
unmapped due to switching to another workspace, and again to get the right
scale factor when switching back.
I suggest to keep the current scale if there's no outputs, it would be most
likely correct the next time the surface is mapped, and if it isn't, there's
still some visible re-scaling due anyway. Patch coming.</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>