diff --git a/django/contrib/gis/gdal/base.py b/django/contrib/gis/gdal/base.py index e19b748e6f..f9455c783a 100644 --- a/django/contrib/gis/gdal/base.py +++ b/django/contrib/gis/gdal/base.py @@ -24,7 +24,7 @@ class GDALBase(object): def _set_ptr(self, ptr): # Only allow the pointer to be set with pointers of the # compatible type or None (NULL). - if isinstance(ptr, int): + if isinstance(ptr, (int, long)): self._ptr = self.ptr_type(ptr) elif isinstance(ptr, (self.ptr_type, NoneType)): self._ptr = ptr diff --git a/django/contrib/gis/gdal/prototypes/errcheck.py b/django/contrib/gis/gdal/prototypes/errcheck.py index 3a0e0d6170..91858ea572 100644 --- a/django/contrib/gis/gdal/prototypes/errcheck.py +++ b/django/contrib/gis/gdal/prototypes/errcheck.py @@ -109,6 +109,8 @@ def check_errcode(result, func, cargs): def check_pointer(result, func, cargs): "Makes sure the result pointer is valid." + if isinstance(result, (int, long)): + result = c_void_p(result) if bool(result): return result else: