- #2257, GBOX variables not initialized when testing with empty geometries
- #2271, Prevent parallel make of raster
- #2282, Fix call to undefined function nd_stats_to_grid() in debug mode
+ - #2307, ST_MakeValid outputs invalid geometries
- #2309, Remove confusing INFO message when trying to get SRS info
- #2348, Provide raster upgrade path for 2.0 to 2.1
ret = lwalloc(sizeof(LWCOLLECTION));
memcpy(ret, g, sizeof(LWCOLLECTION));
+ ret->maxgeoms = g->ngeoms;
for (i=0; i<g->ngeoms; i++)
{
if ( newg ) new_geoms[new_ngeoms++] = newg;
}
- ret->bbox = 0; /* recompute later... */
+ ret->bbox = NULL; /* recompute later... */
ret->ngeoms = new_ngeoms;
if ( new_ngeoms )
else
{
free(new_geoms);
- ret->geoms = 0;
+ ret->geoms = NULL;
+ ret->maxgeoms = 0;
}
return (LWGEOM*)ret;
}
lwgeom_out = GEOS2LWGEOM(geosout, is3d);
+ GEOSGeom_destroy(geosout);
+
if ( lwgeom_is_collection(lwgeom_in) && ! lwgeom_is_collection(lwgeom_out) )
{
LWDEBUG(3, "lwgeom_make_valid: forcing multi");
lwgeom_tmp = lwgeom_as_multi(lwgeom_out);
- lwgeom_free(lwgeom_out);
+ // lwgeom_free(lwgeom_out);
lwgeom_out = lwgeom_tmp;
}
- GEOSGeom_destroy(geosout);
-
lwgeom_out->srid = lwgeom_in->srid;
return lwgeom_out;
}