abhijitpotnis at gmail.com
Wed Sep 12 01:32:09 PDT 2012
Thanks for the pointers.
I shall have a look as you suggested.
On Wed, Sep 12, 2012 at 12:53 AM, Ander Conselvan de Oliveira <
conselvan2 at gmail.com> wrote:
> On 09/11/2012 05:48 PM, Abhijit Potnis wrote:
>> > Repaint is supposed to be as-needed only, not periodical, but
>> > some trigger is missing. Maybe a new surface is not assigned an
>> > until redraw, and redraw does not happen until there is damage, and
>> > damage is not applied, if the window is not mapped? Or something
>> > that, chicken-and-egg problem with assigning an output. A wild
>> Ya, I too feel so. I see that the final weston_output_finish_frame()
>> call after
>> a client is killed arrives with output->repaint_needed set to 0, and
>> weston_output_repaint is not called.
> If there is nothing else updating the screen you would see this happen
> when the first frame without the killed surface is shown on the screen. So
> this is expect, although it seems you're getting this one frame too early.
> How does the window unmap-ing
>> process occur ? Is this expected ?
> Unmapping a surface involves damaging the area below the surface so it
> gets repainted on the next frame, removing the surface from the surface
> list, resetting keyboard and pointer focus if appropriate and scheduling a
> repaint. All this is done in weston_surface_unmap().
> It seems the problem you are seeing is caused by a failure to schedule a
> repaint. Looking at weston_surface_schedule_**repaint(), the only
> possible explanation for the failure would be the surface having a bad
> output_mask. So I would advise you to first verify if the output_mask is
> valid (i.e., the bits for the outputs the surface is in are set, should be
> 1 if you have just one output) and if that is invalid, try to figure out
> why you end up with a bad value. You probably want to look at
> weston_surface_assign_output() for that.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the wayland-devel