From eaf9d87d6d28457c1cbd49a53ef988a4eee440f8 Mon Sep 17 00:00:00 2001 From: Sergio Valor Date: Sat, 18 Apr 2026 11:53:59 +0200 Subject: [PATCH] =?UTF-8?q?surface:=20hallazgo=206=20=E2=80=94=20elimina?= =?UTF-8?q?=20doble=20std::min=20en=20render(int,int,...)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Las dos líneas de clamp contra el destino estaban duplicadas. Fusionado el comentario y dejado un único bloque que limita contra origen y destino. Co-Authored-By: Claude Opus 4.7 (1M context) --- source/core/rendering/surface.cpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/source/core/rendering/surface.cpp b/source/core/rendering/surface.cpp index e215a07..d6f38d0 100644 --- a/source/core/rendering/surface.cpp +++ b/source/core/rendering/surface.cpp @@ -286,16 +286,12 @@ void Surface::render(int x, int y, SDL_FRect* src_rect, SDL_FlipMode flip) { // float w = (src_rect != nullptr) ? src_rect->w : surface_data_->width; float h = (src_rect != nullptr) ? src_rect->h : surface_data_->height; - // Limitar la región para evitar accesos fuera de rango en origen + // Limitar la región para evitar accesos fuera de rango (origen y destino) w = std::min(w, surface_data_->width - sx); h = std::min(h, surface_data_->height - sy); w = std::min(w, surface_data_dest->width - x); h = std::min(h, surface_data_dest->height - y); - // Limitar la región para evitar accesos fuera de rango en destino - w = std::min(w, surface_data_dest->width - x); - h = std::min(h, surface_data_dest->height - y); - // Renderiza píxel por píxel aplicando el flip si es necesario const Uint8* src_ptr = surface_data_->data.get(); Uint8* dst_ptr = surface_data_dest->data.get();