<html>
<head>
<base href="https://bugzilla.gnome.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - Missing (partial) window redraw when returning to a window on a different workspace (gnome-shell)"
href="https://bugzilla.gnome.org/show_bug.cgi?id=775093#c3">Comment # 3</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - Missing (partial) window redraw when returning to a window on a different workspace (gnome-shell)"
href="https://bugzilla.gnome.org/show_bug.cgi?id=775093">bug 775093</a>
from <span class="vcard"><a href="page.cgi?id=describeuser.html&login=benjamin%40sipsolutions.net" title="Benjamin Berg <benjamin@sipsolutions.net>"> <span class="fn">Benjamin Berg</span></a>
</span></b>
<pre>So, I have learned that removing gdk_window_process_updates in VTE almost
solves this bug (but not entirely!).
Patrick was hitting it a lot in newer gnome-shell versions (with
maximize/unmaximize animation). Removing the call to gdk_window_process_udpates
fixes it in most cases, but the bug can still be triggered when
maximizing/unmaximizing quickly in a row.
So it seems like:
* Triggering might require a committed frame to be pending
* It can be triggered by updates happening outside of the frame clock
(which doesn't necessarily mean a frame is pending, just that we render
multiple times into the staging frame)
* It *might* be related to back-filling from an already committed buffer
(i.e. back-filling areas that were actually updated)
* Further partial updates will *not* cause the area to appear
* mutter will get multiple attach + damage rectangles
(attach for the same surface, damage needs to be aggregated)
Unfortunately, I have read over the back-filling code and I cannot think of any
corner case where it goes wrong. I am not that sure about the mutter side
though.</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>