[PATCH weston 2/2] shell: Damage on workspace switch if workspace surface list is empty.

Scott Moreau oreaus at gmail.com
Mon Aug 13 08:50:16 PDT 2012


On Mon, Aug 13, 2012 at 9:22 AM, Kristian Høgsberg <hoegsberg at gmail.com>wrote:

> On Sat, Aug 11, 2012 at 09:57:34PM -0600, Scott Moreau wrote:
> > Surface damage effectively does nothing if the surface is not on any
> output.
> > Animations need a repaint to start and workspace switcher was relying on
> > weston_surface_damage() to do this. If there are no surfaces on the
> workspace,
> > nothing will happen until the next repaint. So, in the case of no
> surfaces in
> > the workspace layer list, we just do a full damage to kick off the
> animation.
> >
> > This bug was exposed by 982387011ff. The scenario is trying to switch
> workspaces
> > while there are no surfaces on the current workspace. If no other
> damage/repaint
> > is happening, the switch animation wont start until the moving the
> mouse, for
> > example.
>
> Ah, not sure what I was thinking when I committed this.  We should
> never need workspace_damage_all_surfaces(), just changing the surface
> transform and calling weston_compositor_schedule_repaint() should
> suffice.  Can you try just replacing all occurances of
> workspace_damage_all_surfaces() with schedule repaint and see if that
> fixes it?  Then we'll do that instead of this and the 1/2 patch.
>
> Kristian
>
>
>
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.


Scott
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20120813/6786e558/attachment-0001.html>


More information about the wayland-devel mailing list