X-Git-Url: http://pileus.org/git/?p=grits;a=blobdiff_plain;f=src%2Froam.c;h=806eb3f64c7d0cadcbbcdbec8608a5862357cd26;hp=cfcdd54d0328be9d8258cca25ba92df293581287;hb=dcdd8c82d50feae9d91de126b313c3a5de32e030;hpb=9bcf411430cca69197a7756c1ce8ca925456cc93 diff --git a/src/roam.c b/src/roam.c index cfcdd54..806eb3f 100644 --- a/src/roam.c +++ b/src/roam.c @@ -701,11 +701,15 @@ void roam_sphere_update_view(RoamSphere *sphere) void roam_sphere_update_errors(RoamSphere *sphere) { g_debug("RoamSphere: update_errors - polys=%d", sphere->polys); + + static int version = 0; + if (version == sphere->view->version) + return; + version = sphere->view->version; + GPtrArray *tris = g_pqueue_get_array(sphere->triangles); GPtrArray *dias = g_pqueue_get_array(sphere->diamonds); - roam_sphere_update_view(sphere); - for (int i = 0; i < tris->len; i++) { RoamTriangle *triangle = tris->pdata[i]; roam_triangle_update_errors(triangle, sphere);