On Mon, Aug 13, 2012 at 09:50:16AM -0600, Scott Moreau wrote: > On Mon, Aug 13, 2012 at 9:22 AM, Kristian Høgsberg <[email protected]>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.
Ah, right. I think we need to just do a weston_compositor_schedule_repaint() in those cases instead. Kristian _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
