Skip to content

Commit

Permalink
Fix null dereference errors
Browse files Browse the repository at this point in the history
  • Loading branch information
nyalldawson committed Feb 16, 2015
1 parent e6f91ca commit c9c15af
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 21 deletions.
15 changes: 2 additions & 13 deletions src/core/pal/util.cpp
Expand Up @@ -183,25 +183,16 @@ namespace pal
}
}




//inline bool ptrGeomEq (const geos::geom::Geometry *l, const geos::geom::Geometry *r){
inline bool ptrGeomEq( const GEOSGeometry *l, const GEOSGeometry *r )
{
return l == r;
}

//LinkedList<const geos::geom::Geometry*> * unmulti (geos::geom::Geometry *the_geom){
LinkedList<const GEOSGeometry*> * unmulti( const GEOSGeometry *the_geom )
{

//LinkedList<const geos::geom::Geometry*> *queue = new LinkedList<const geos::geom::Geometry*>(ptrGeomEq);
//LinkedList<const geos::geom::Geometry*> *final_queue = new LinkedList<const geos::geom::Geometry*>(ptrGeomEq);
LinkedList<const GEOSGeometry*> *queue = new LinkedList<const GEOSGeometry*> ( ptrGeomEq );
LinkedList<const GEOSGeometry*> *final_queue = new LinkedList<const GEOSGeometry*> ( ptrGeomEq );

//const geos::geom::Geometry *geom;
const GEOSGeometry *geom;

queue->push_back( the_geom );
Expand All @@ -214,9 +205,6 @@ namespace pal
GEOSContextHandle_t geosctxt = geosContext();
switch ( GEOSGeomTypeId_r( geosctxt, geom ) )
{
//case geos::geom::GEOS_MULTIPOINT:
//case geos::geom::GEOS_MULTILINESTRING:
//case geos::geom::GEOS_MULTIPOLYGON:
case GEOS_MULTIPOINT:
case GEOS_MULTILINESTRING:
case GEOS_MULTIPOLYGON:
Expand All @@ -233,7 +221,8 @@ namespace pal
break;
default:
delete final_queue;
final_queue = NULL;
delete queue;
return NULL;
}
}
delete queue;
Expand Down
13 changes: 8 additions & 5 deletions src/core/qgsofflineediting.cpp
Expand Up @@ -580,11 +580,14 @@ QgsVectorLayer* QgsOfflineEditing::copyVectorLayer( QgsVectorLayer* layer, sqlit
int index = parentTreeGroup->children().indexOf( layerTreeLayer );
// Move the new layer from the root group to the new group
QgsLayerTreeLayer* newLayerTreeLayer = layerTreeRoot->findLayer( newLayer->id() );
QgsLayerTreeNode* newLayerTreeLayerClone = newLayerTreeLayer->clone();
QgsLayerTreeGroup* grp = qobject_cast<QgsLayerTreeGroup*>( newLayerTreeLayer->parent() );
parentTreeGroup->insertChildNode( index, newLayerTreeLayerClone );
if ( grp )
grp->removeChildNode( newLayerTreeLayer );
if ( newLayerTreeLayer )
{
QgsLayerTreeNode* newLayerTreeLayerClone = newLayerTreeLayer->clone();
QgsLayerTreeGroup* grp = qobject_cast<QgsLayerTreeGroup*>( newLayerTreeLayer->parent() );
parentTreeGroup->insertChildNode( index, newLayerTreeLayerClone );
if ( grp )
grp->removeChildNode( newLayerTreeLayer );
}
}
}

Expand Down
4 changes: 2 additions & 2 deletions src/providers/ogr/qgsogrdataitems.cpp
Expand Up @@ -252,8 +252,8 @@ QGISEXTERN QgsDataItem * dataItem( QString thePath, QgsDataItem* parentItem )
bool scanExtSetting = false;
if (( settings.value( "/qgis/scanItemsInBrowser2",
"extension" ).toString() == "extension" ) ||
( settings.value( "/qgis/scanItemsFastScanUris",
QStringList() ).toStringList().contains( parentItem->path() ) ) ||
( parentItem && settings.value( "/qgis/scanItemsFastScanUris",
QStringList() ).toStringList().contains( parentItem->path() ) ) ||
(( is_vsizip || is_vsitar ) && parentItem && parentItem->parent() &&
settings.value( "/qgis/scanItemsFastScanUris",
QStringList() ).toStringList().contains( parentItem->parent()->path() ) ) )
Expand Down
2 changes: 1 addition & 1 deletion src/server/qgswmsserver.cpp
Expand Up @@ -2989,7 +2989,7 @@ QDomElement QgsWMSServer::createFeatureGML(
typeNameElement.appendChild( bbElem );
}

if ( withGeom )
if ( withGeom && geom )
{
//add geometry column (as gml)

Expand Down

0 comments on commit c9c15af

Please sign in to comment.