Explorar el Código

wayland: Always use the whole buffer surface for the damage region

Using the current window size at the time of the call may not be correct if the window or buffer size was changed after the fact, so always set the damage region to cover the entire buffer.
Frank Praznik hace 1 año
padre
commit
2d9aff6433
Se han modificado 1 ficheros con 2 adiciones y 4 borrados
  1. 2 4
      src/video/wayland/SDL_waylandwindow.c

+ 2 - 4
src/video/wayland/SDL_waylandwindow.c

@@ -582,11 +582,9 @@ static void surface_frame_done(void *data, struct wl_callback *cb, uint32_t time
      * on compositor version 4 and above.
      */
     if (wl_compositor_get_version(wind->waylandData->compositor) >= WL_SURFACE_DAMAGE_BUFFER_SINCE_VERSION) {
-        wl_surface_damage_buffer(wind->surface, 0, 0,
-                                 wind->current.drawable_width, wind->current.drawable_height);
+        wl_surface_damage_buffer(wind->surface, 0, 0, SDL_MAX_SINT32, SDL_MAX_SINT32);
     } else {
-        wl_surface_damage(wind->surface, 0, 0,
-                          wind->current.logical_width, wind->current.logical_height);
+        wl_surface_damage(wind->surface, 0, 0, SDL_MAX_SINT32, SDL_MAX_SINT32);
     }
 
     if (wind->surface_status == WAYLAND_SURFACE_STATUS_WAITING_FOR_FRAME) {