subsurface: don't forget to repaint after the first sub-surface commit
For the following sequence, weston will not trigger a repaint: 1. create the main surface 2. create another surface and attach it as a sub-surface to the main surface 3. set the sub-surface to desync 4. attach a buffer to the main surface and commit it 5. attach a buffer to the sub-surface and commit it Step 5 should cause the sub-surface to become mapped. However, Weston fails to schedule a repaint in that case, so the sub-surface will not appear until something else causes a repaint on that output, e.g. the main window. And sub-surfaces are special when it comes to mapping because weston_surface_is_mapped() will not return true until the parent surface is mapped as well. So right now, weston_surface_map() may be called multiple times and it will send the map_signal each time. So to fix all this and make it clearer: 1. define a separate weston_surface_start_mapping() function to make it clearer that the (sub-)surface may not b...
Please register or sign in to comment