# HG changeset patch # User Thibaut Girka # Date 1331407855 -3600 # Node ID 6f1ca1cb5238e598fee37067d62d441a0fb0b0a2 # Parent da53bc29b94aa69ebd05980ce2d0583af6c29350 Avoid segfaults in the unlikely case a huge number of sprites is rendered. diff --git a/pytouhou/ui/renderer.pyx b/pytouhou/ui/renderer.pyx --- a/pytouhou/ui/renderer.pyx +++ b/pytouhou/ui/renderer.pyx @@ -24,7 +24,7 @@ from .sprite cimport get_sprite_renderin from .texture cimport TextureManager -MAX_ELEMENTS = 10000 +MAX_ELEMENTS = 640*4*3 cdef class Renderer: @@ -47,6 +47,9 @@ cdef class Renderer: indices_by_texture = {} for element in elements: + if nb_vertices >= MAX_ELEMENTS - 4: + break + sprite = element._sprite if sprite and sprite.visible: ox, oy = element.x, element.y