<br><br><div class="gmail_quote">On Mon, Aug 13, 2012 at 9:22 AM, Kristian Høgsberg <span dir="ltr"><<a href="mailto:hoegsberg@gmail.com" target="_blank">hoegsberg@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On Sat, Aug 11, 2012 at 09:57:34PM -0600, Scott Moreau wrote:<br>
> Surface damage effectively does nothing if the surface is not on any output.<br>
> Animations need a repaint to start and workspace switcher was relying on<br>
> weston_surface_damage() to do this. If there are no surfaces on the workspace,<br>
> nothing will happen until the next repaint. So, in the case of no surfaces in<br>
> the workspace layer list, we just do a full damage to kick off the animation.<br>
><br>
> This bug was exposed by 982387011ff. The scenario is trying to switch workspaces<br>
> while there are no surfaces on the current workspace. If no other damage/repaint<br>
> is happening, the switch animation wont start until the moving the mouse, for<br>
> example.<br>
<br>
</div>Ah, not sure what I was thinking when I committed this.  We should<br>
never need workspace_damage_all_surfaces(), just changing the surface<br>
transform and calling weston_compositor_schedule_repaint() should<br>
suffice.  Can you try just replacing all occurances of<br>
workspace_damage_all_surfaces() with schedule repaint and see if that<br>
fixes it?  Then we'll do that instead of this and the 1/2 patch.<br>
<br>
Kristian<br>
<div><div class="h5"><br><br></div></div></blockquote><div><br>Yes, replacing all occurrences of workspace_damage_all_surfaces() with weston_compositor_schedule_repaint() fixes the 2/2 issue, but the 1/2 issue is entirely unrelated. (It does not fix the 1/2 issue). The only reason I submitted them in sequence was because they were bugs revealed by the same commit. I will submit a patch for the replacement to fix the 2/2 issue though.<br>
<br><br>Scott<br></div></div><br>