Kaydet (Commit) 8f334e55 authored tarafından Claude Paroz's avatar Claude Paroz

Fixed #13843 -- Prevented AttributeError during geometry objects deletion

üst b011afe6
...@@ -96,7 +96,7 @@ class DataSource(GDALBase): ...@@ -96,7 +96,7 @@ class DataSource(GDALBase):
def __del__(self): def __del__(self):
"Destroys this DataStructure object." "Destroys this DataStructure object."
if self._ptr: if self._ptr and capi:
capi.destroy_ds(self._ptr) capi.destroy_ds(self._ptr)
def __iter__(self): def __iter__(self):
......
...@@ -34,7 +34,7 @@ class Feature(GDALBase): ...@@ -34,7 +34,7 @@ class Feature(GDALBase):
def __del__(self): def __del__(self):
"Releases a reference to this object." "Releases a reference to this object."
if self._ptr: if self._ptr and capi:
capi.destroy_feature(self._ptr) capi.destroy_feature(self._ptr)
def __getitem__(self, index): def __getitem__(self, index):
......
...@@ -127,7 +127,7 @@ class OGRGeometry(GDALBase): ...@@ -127,7 +127,7 @@ class OGRGeometry(GDALBase):
def __del__(self): def __del__(self):
"Deletes this Geometry." "Deletes this Geometry."
if self._ptr: if self._ptr and capi:
capi.destroy_geom(self._ptr) capi.destroy_geom(self._ptr)
# Pickle routines # Pickle routines
......
...@@ -97,7 +97,7 @@ class SpatialReference(GDALBase): ...@@ -97,7 +97,7 @@ class SpatialReference(GDALBase):
def __del__(self): def __del__(self):
"Destroys this spatial reference." "Destroys this spatial reference."
if self._ptr: if self._ptr and capi:
capi.release_srs(self._ptr) capi.release_srs(self._ptr)
def __getitem__(self, target): def __getitem__(self, target):
......
...@@ -115,7 +115,7 @@ class GEOSGeometry(GEOSBase, ListMixin): ...@@ -115,7 +115,7 @@ class GEOSGeometry(GEOSBase, ListMixin):
Destroys this Geometry; in other words, frees the memory used by the Destroys this Geometry; in other words, frees the memory used by the
GEOS C++ object. GEOS C++ object.
""" """
if self._ptr: if self._ptr and capi:
capi.destroy_geom(self._ptr) capi.destroy_geom(self._ptr)
def __copy__(self): def __copy__(self):
......
...@@ -23,7 +23,7 @@ class PreparedGeometry(GEOSBase): ...@@ -23,7 +23,7 @@ class PreparedGeometry(GEOSBase):
self.ptr = capi.geos_prepare(geom.ptr) self.ptr = capi.geos_prepare(geom.ptr)
def __del__(self): def __del__(self):
if self._ptr: if self._ptr and capi:
capi.prepared_destroy(self._ptr) capi.prepared_destroy(self._ptr)
def contains(self, other): def contains(self, other):
......
...@@ -12,7 +12,7 @@ class GEOSContextHandle(object): ...@@ -12,7 +12,7 @@ class GEOSContextHandle(object):
self.ptr = lgeos.initGEOS_r(notice_h, error_h) self.ptr = lgeos.initGEOS_r(notice_h, error_h)
def __del__(self): def __del__(self):
if self.ptr: if self.ptr and lgeos:
lgeos.finishGEOS_r(self.ptr) lgeos.finishGEOS_r(self.ptr)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment