From: Matthias Clasen Date: Sat, 28 Aug 2021 19:42:30 +0000 (-0400) Subject: ngl: Avoid a coordinate overflow X-Git-Tag: archive/raspbian/4.4.1+ds1-2+rpi1^2~18^2^2~124^2~12 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=951844a0f5b791969dcf0b8ccfa974c8d2851ca6;p=gtk4.git ngl: Avoid a coordinate overflow This was showing up as big text selections going missing sporadically. Fixes: #4214 --- diff --git a/gsk/ngl/gsknglrenderjob.c b/gsk/ngl/gsknglrenderjob.c index 532157d1be..ef4d075997 100644 --- a/gsk/ngl/gsknglrenderjob.c +++ b/gsk/ngl/gsknglrenderjob.c @@ -1408,7 +1408,10 @@ gsk_ngl_render_job_visit_color_node (GskNglRenderJob *job, program = CHOOSE_PROGRAM (job, coloring); batch = gsk_ngl_command_queue_get_batch (job->command_queue); - if (batch->any.kind == GSK_NGL_COMMAND_KIND_DRAW && + /* Limit the size, or we end up with a coordinate overflow somwhere. */ + if (node->bounds.size.width < 300 && + node->bounds.size.height < 300 && + batch->any.kind == GSK_NGL_COMMAND_KIND_DRAW && batch->any.program == program->id) { GskNglRenderOffscreen offscreen = {0};