[QGIS Commit] r9133 - in trunk/qgis: . src/app src/app/legend src/core src/core/composer src/core/raster src/core/spatialindex/geometry src/core/spatialindex/tools src/core/symbology src/gui src/plugins/coordinate_capture src/plugins/copyright_label src/plugins/grass src/plugins/plugin_template src/plugins/quick_print src/plugins/scale_bar src/plugins/spit src/providers/delimitedtext src/providers/memory src/providers/ogr src/providers/postgres src/providers/wfs tests/src/core

svn_qgis at osgeo.org svn_qgis at osgeo.org
Sat Aug 23 10:06:01 EDT 2008


Author: jef
Date: 2008-08-23 10:06:01 -0400 (Sat, 23 Aug 2008)
New Revision: 9133

Modified:
   trunk/qgis/CMakeLists.txt
   trunk/qgis/src/app/legend/qgslegend.h
   trunk/qgis/src/app/legend/qgslegendlayerfile.h
   trunk/qgis/src/app/main.cpp
   trunk/qgis/src/app/qgisapp.cpp
   trunk/qgis/src/app/qgisapp.h
   trunk/qgis/src/app/qgisappinterface.h
   trunk/qgis/src/app/qgsabout.cpp
   trunk/qgis/src/app/qgsattributeactiondialog.cpp
   trunk/qgis/src/app/qgsattributeactiondialog.h
   trunk/qgis/src/app/qgsattributedialog.cpp
   trunk/qgis/src/app/qgsattributedialog.h
   trunk/qgis/src/app/qgsattributetable.cpp
   trunk/qgis/src/app/qgsattributetable.h
   trunk/qgis/src/app/qgsdbsourceselect.h
   trunk/qgis/src/app/qgsdbtablemodel.h
   trunk/qgis/src/app/qgsidentifyresults.h
   trunk/qgis/src/app/qgslabeldialog.h
   trunk/qgis/src/app/qgsmaptooledit.cpp
   trunk/qgis/src/app/qgsmaptoolidentify.h
   trunk/qgis/src/app/qgsmaptoolsplitfeatures.h
   trunk/qgis/src/app/qgsmaptoolvertexedit.h
   trunk/qgis/src/app/qgsmeasuredialog.cpp
   trunk/qgis/src/app/qgsmeasuredialog.h
   trunk/qgis/src/app/qgsmeasuretool.h
   trunk/qgis/src/app/qgsoptions.h
   trunk/qgis/src/app/qgspastetransformations.h
   trunk/qgis/src/app/qgspluginmanager.cpp
   trunk/qgis/src/app/qgsrasterlayerproperties.cpp
   trunk/qgis/src/app/qgssearchquerybuilder.cpp
   trunk/qgis/src/app/qgssearchquerybuilder.h
   trunk/qgis/src/app/qgsserversourceselect.cpp
   trunk/qgis/src/app/qgsserversourceselect.h
   trunk/qgis/src/app/qgsvectorlayerproperties.h
   trunk/qgis/src/core/CMakeLists.txt
   trunk/qgis/src/core/composer/qgscomposerlegend.cpp
   trunk/qgis/src/core/composer/qgscomposerpicture.cpp
   trunk/qgis/src/core/composer/qgscomposition.cpp
   trunk/qgis/src/core/composer/qgslegendmodel.cpp
   trunk/qgis/src/core/composer/qgsscalebarstyle.cpp
   trunk/qgis/src/core/composer/qgsticksscalebarstyle.cpp
   trunk/qgis/src/core/qgis.h
   trunk/qgis/src/core/qgsclipper.h
   trunk/qgis/src/core/qgsfeature.cpp
   trunk/qgis/src/core/qgsfeature.h
   trunk/qgis/src/core/qgsgeometry.cpp
   trunk/qgis/src/core/qgsgeometry.h
   trunk/qgis/src/core/qgslabel.cpp
   trunk/qgis/src/core/qgsmaprenderer.cpp
   trunk/qgis/src/core/qgsproject.cpp
   trunk/qgis/src/core/qgsprojectfiletransform.cpp
   trunk/qgis/src/core/qgsprojectfiletransform.h
   trunk/qgis/src/core/qgsprojectversion.cpp
   trunk/qgis/src/core/qgsproviderregistry.cpp
   trunk/qgis/src/core/qgssearchstringparser.yy
   trunk/qgis/src/core/qgssearchtreenode.cpp
   trunk/qgis/src/core/qgsvectorfilewriter.cpp
   trunk/qgis/src/core/qgsvectorlayer.cpp
   trunk/qgis/src/core/qgsvectorlayer.h
   trunk/qgis/src/core/raster/qgscontrastenhancement.cpp
   trunk/qgis/src/core/raster/qgscontrastenhancementfunction.cpp
   trunk/qgis/src/core/raster/qgsrasterlayer.cpp
   trunk/qgis/src/core/spatialindex/geometry/LineSegment.cc
   trunk/qgis/src/core/spatialindex/tools/Tools.cc
   trunk/qgis/src/core/symbology/qgsmarkercatalogue.cpp
   trunk/qgis/src/gui/qgisinterface.h
   trunk/qgis/src/gui/qgsdetaileditemdelegate.cpp
   trunk/qgis/src/gui/qgsdetaileditemdelegate.h
   trunk/qgis/src/gui/qgsdetaileditemwidget.h
   trunk/qgis/src/gui/qgsfiledropedit.cpp
   trunk/qgis/src/gui/qgsgenericprojectionselector.h
   trunk/qgis/src/gui/qgsmapcanvas.h
   trunk/qgis/src/gui/qgsmapoverviewcanvas.h
   trunk/qgis/src/gui/qgsquickprint.cpp
   trunk/qgis/src/gui/qgsquickprint.h
   trunk/qgis/src/plugins/coordinate_capture/coordinatecapture.h
   trunk/qgis/src/plugins/coordinate_capture/coordinatecapturemaptool.h
   trunk/qgis/src/plugins/copyright_label/plugingui.h
   trunk/qgis/src/plugins/grass/CMakeLists.txt
   trunk/qgis/src/plugins/grass/qgsgrassattributes.cpp
   trunk/qgis/src/plugins/grass/qgsgrassattributes.h
   trunk/qgis/src/plugins/grass/qgsgrassbrowser.h
   trunk/qgis/src/plugins/grass/qgsgrassedit.h
   trunk/qgis/src/plugins/grass/qgsgrassmodel.h
   trunk/qgis/src/plugins/grass/qgsgrassmodule.cpp
   trunk/qgis/src/plugins/grass/qgsgrassmodule.h
   trunk/qgis/src/plugins/grass/qgsgrassnewmapset.cpp
   trunk/qgis/src/plugins/grass/qgsgrassnewmapset.h
   trunk/qgis/src/plugins/grass/qgsgrassregion.h
   trunk/qgis/src/plugins/grass/qgsgrassselect.cpp
   trunk/qgis/src/plugins/grass/qgsgrassselect.h
   trunk/qgis/src/plugins/grass/qgsgrassshell.h
   trunk/qgis/src/plugins/grass/qgsgrasstools.h
   trunk/qgis/src/plugins/grass/qgsgrassutils.h
   trunk/qgis/src/plugins/plugin_template/plugin.h
   trunk/qgis/src/plugins/quick_print/quickprintgui.cpp
   trunk/qgis/src/plugins/quick_print/quickprintplugin.h
   trunk/qgis/src/plugins/scale_bar/plugingui.h
   trunk/qgis/src/plugins/spit/qgsspit.h
   trunk/qgis/src/providers/delimitedtext/qgsdelimitedtextprovider.h
   trunk/qgis/src/providers/memory/memoryprovider.cpp
   trunk/qgis/src/providers/ogr/qgsogrprovider.cpp
   trunk/qgis/src/providers/postgres/qgspostgresprovider.cpp
   trunk/qgis/src/providers/postgres/qgspostgresprovider.h
   trunk/qgis/src/providers/wfs/CMakeLists.txt
   trunk/qgis/src/providers/wfs/qgswfsprovider.cpp
   trunk/qgis/tests/src/core/qgsrenderchecker.cpp
Log:
various code cleanups by mloskot for GCC 4.1 (fixes #1239, #1240).
Inspired by it I also enabled pedantic mode for MSVC and cleaned
up some more warnings found by GCC 4.3 and MSVC.




Modified: trunk/qgis/CMakeLists.txt
===================================================================
--- trunk/qgis/CMakeLists.txt	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/CMakeLists.txt	2008-08-23 14:06:01 UTC (rev 9133)
@@ -167,7 +167,21 @@
 # enable warnings
 
 IF (PEDANTIC)
-  ADD_DEFINITIONS( -Wall -Werror )
+  MESSAGE ("Pedantic compiler settings enabled")
+  IF(MSVC)
+    ADD_DEFINITIONS( /W4 )
+
+    # disable warnings
+    ADD_DEFINITIONS( /wd4100 )  # unused formal parameters
+    ADD_DEFINITIONS( /wd4127 )  # constant conditional expressions (used in Qt template classes)
+    ADD_DEFINITIONS( /wd4510 )  # default constructor could not be generated (sqlite3_index_info, QMap)
+    ADD_DEFINITIONS( /wd4512 )  # assignment operator could not be generated (sqlite3_index_info)
+    ADD_DEFINITIONS( /wd4610 )  # user defined constructor required (sqlite3_index_info)
+  ELSE (MSVC)
+    ADD_DEFINITIONS( -Wall -Werror -Wno-long-long )
+    # Qt produces lots of warnings with strict aliasing (as of Qt 4.4.0 & GCC 4.3)
+    # ADD_DEFINITIONS( -fstrict-aliasing -Wstrict-aliasing=1 )
+  ENDIF (MSVC)
 ENDIF (PEDANTIC)
 
 IF (CMAKE_BUILD_TYPE MATCHES Debug)

Modified: trunk/qgis/src/app/legend/qgslegend.h
===================================================================
--- trunk/qgis/src/app/legend/qgslegend.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/legend/qgslegend.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -82,7 +82,7 @@
 
 class QgsLegend : public QTreeWidget
 {
-    Q_OBJECT;
+    Q_OBJECT
  private:
     // Moved here to match access of declaration later in file.
     // Previous location raised a warning in msvc as the forward

Modified: trunk/qgis/src/app/legend/qgslegendlayerfile.h
===================================================================
--- trunk/qgis/src/app/legend/qgslegendlayerfile.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/legend/qgslegendlayerfile.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -32,7 +32,7 @@
 */
 class QgsLegendLayerFile : public QgsLegendItem
 {
-  Q_OBJECT;
+  Q_OBJECT
   
 public:
     QgsLegendLayerFile(QTreeWidgetItem * theLegendItem, QString theString, QgsMapLayer* theLayer);

Modified: trunk/qgis/src/app/main.cpp
===================================================================
--- trunk/qgis/src/app/main.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/main.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -612,7 +612,7 @@
   {
     double coords[4];
     int pos, posOld = 0;
-    bool ok;
+    bool ok = true;
 
     // XXX is it necessary to switch to "C" locale?
     
@@ -623,7 +623,8 @@
       // find comma and get coordinate
       pos = myInitialExtent.indexOf(',', posOld);
       if (pos == -1) {
-        ok = false; break;
+        ok = false;
+        break;
       }
 
       coords[i] = QString( myInitialExtent.mid(posOld, pos - posOld) ).toDouble(&ok);

Modified: trunk/qgis/src/app/qgisapp.cpp
===================================================================
--- trunk/qgis/src/app/qgisapp.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/qgisapp.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -314,7 +314,8 @@
   QgisApp::QgisApp(QSplashScreen *splash, QWidget * parent, Qt::WFlags fl)
 : QMainWindow(parent,fl),
   mSplash(splash),
-  mPythonUtils(NULL), mPythonConsole(NULL)
+  mPythonConsole(NULL),
+  mPythonUtils(NULL)
 {
   if(smInstance) {
     QMessageBox::critical(
@@ -1662,9 +1663,9 @@
     if (loaded)
     {
 
-        name_t * myName =(name_t *) myLib->resolve("name");
-        description_t *  myDescription = (description_t *)  myLib->resolve("description");
-        version_t *  myVersion =  (version_t *) myLib->resolve("version");
+        name_t * myName =(name_t *) cast_to_fptr(myLib->resolve("name"));
+        description_t *  myDescription = (description_t *)  cast_to_fptr(myLib->resolve("description"));
+        version_t *  myVersion =  (version_t *) cast_to_fptr(myLib->resolve("version"));
         if (myName && myDescription  && myVersion )
         {
           //check if the plugin was active on last session
@@ -2451,7 +2452,7 @@
       break;
   }
 
-}; // findLayer_
+} // findLayer_
 
 
 
@@ -2661,7 +2662,7 @@
 
     typedef bool (*createEmptyDataSourceProc)(const QString&, const QString&, const QString&, QGis::WKBTYPE, \
       const std::list<std::pair<QString, QString> >&);
-    createEmptyDataSourceProc createEmptyDataSource=(createEmptyDataSourceProc)myLib->resolve("createEmptyDataSource");
+    createEmptyDataSourceProc createEmptyDataSource=(createEmptyDataSourceProc) cast_to_fptr(myLib->resolve("createEmptyDataSource"));
     if(createEmptyDataSource)
     {
 #if 0
@@ -3926,7 +3927,7 @@
   {
     //QgsDebugMsg("Python support library loaded successfully.");
     typedef QgsPythonUtils* (*inst)();
-    inst pythonlib_inst = (inst) pythonlib.resolve("instance");
+    inst pythonlib_inst = (inst) cast_to_fptr(pythonlib.resolve("instance"));
     if (pythonlib_inst)
     {
       //QgsDebugMsg("Python support library's instance() symbol resolved.");
@@ -4009,7 +4010,7 @@
     {
       myError += "Attempting to resolve the classFactory function " +  QString (__LINE__) + " in " + QString (__FUNCTION__ ) + "\n";
 
-      type_t *pType = (type_t *) myLib->resolve("type");
+      type_t *pType = (type_t *) cast_to_fptr(myLib->resolve("type"));
 
       switch (pType())
       {
@@ -4017,7 +4018,7 @@
         case QgisPlugin::UI:
           {
             // UI only -- doesn't use mapcanvas
-            create_ui *cf = (create_ui *) myLib->resolve("classFactory");
+            create_ui *cf = (create_ui *) cast_to_fptr(myLib->resolve("classFactory"));
             if (cf)
             {
               QgisPlugin *pl = cf(mQgisInterface);
@@ -4049,7 +4050,7 @@
         case QgisPlugin::MAPLAYER:
           {
             // Map layer - requires interaction with the canvas
-            create_it *cf = (create_it *) myLib->resolve("classFactory");
+            create_it *cf = (create_it *) cast_to_fptr(myLib->resolve("classFactory"));
             if (cf)
             {
               QgsMapLayerInterface *pl = cf();
@@ -4412,7 +4413,7 @@
   QSettings settings;
   bool askThem = settings.value("qgis/askToSaveProjectChanges", true).toBool();
 
-  if (askThem && (QgsProject::instance()->isDirty() || (mMapCanvas->isDirty()) && mMapCanvas->layerCount() > 0))
+  if (askThem && (QgsProject::instance()->isDirty() || mMapCanvas->isDirty()) && mMapCanvas->layerCount() > 0)
   {
     // flag project as dirty since dirty state of canvas is reset if "dirty"
     // is based on a zoom or pan

Modified: trunk/qgis/src/app/qgisapp.h
===================================================================
--- trunk/qgis/src/app/qgisapp.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/qgisapp.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -68,7 +68,7 @@
  */
 class QgisApp : public QMainWindow
 {
-  Q_OBJECT;
+  Q_OBJECT
   public:
   //! Constructor
   QgisApp(QSplashScreen *splash, QWidget * parent = 0, Qt::WFlags fl = Qt::Window);

Modified: trunk/qgis/src/app/qgisappinterface.h
===================================================================
--- trunk/qgis/src/app/qgisappinterface.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/qgisappinterface.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -32,7 +32,7 @@
  */
 class QgisAppInterface : public QgisInterface
 {
-    Q_OBJECT;
+    Q_OBJECT
 
     public:
         /**

Modified: trunk/qgis/src/app/qgsabout.cpp
===================================================================
--- trunk/qgis/src/app/qgsabout.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/qgsabout.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -215,8 +215,7 @@
 #ifdef QGISDEBUG 
   printf ("Loading mug: %s\n", myString.toLocal8Bit().constData()); 
 #endif 
-  QPixmap *pixmap = new QPixmap(myString);
-  //pixAuthorMug->setPixmap(*pixmap);
+  
   /* Uncomment this block to use preloaded images
   pixAuthorMug->setPixmap(mugs[myString]);
   */

Modified: trunk/qgis/src/app/qgsattributeactiondialog.cpp
===================================================================
--- trunk/qgis/src/app/qgsattributeactiondialog.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/qgsattributeactiondialog.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -82,7 +82,7 @@
   attributeActionTable->setItem(row, 0, new QTableWidgetItem(name));
   attributeActionTable->setItem(row, 1, new QTableWidgetItem(action));
   QTableWidgetItem* item = new QTableWidgetItem();
-  item->setFlags(item->flags() & ~Qt::ItemIsEditable | Qt::ItemIsUserCheckable);
+  item->setFlags(item->flags() & ~(Qt::ItemIsEditable | Qt::ItemIsUserCheckable) );
   item->setCheckState(capture ? Qt::Checked : Qt::Unchecked);
   attributeActionTable->setItem(row, 2, item);
 }

Modified: trunk/qgis/src/app/qgsattributeactiondialog.h
===================================================================
--- trunk/qgis/src/app/qgsattributeactiondialog.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/qgsattributeactiondialog.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -32,7 +32,7 @@
 
 class QgsAttributeActionDialog: public QWidget, private Ui::QgsAttributeActionDialogBase
 {
-  Q_OBJECT;
+  Q_OBJECT
   
  public:
   QgsAttributeActionDialog(QgsAttributeAction* actions, 

Modified: trunk/qgis/src/app/qgsattributedialog.cpp
===================================================================
--- trunk/qgis/src/app/qgsattributedialog.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/qgsattributedialog.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -38,8 +38,8 @@
 QgsAttributeDialog::QgsAttributeDialog(QgsVectorLayer *vl, QgsFeature *thepFeature)
   : QDialog(),
     mSettingsPath("/Windows/AttributeDialog/"),
-    mpFeature(thepFeature),
-    mLayer(vl)
+    mLayer(vl),
+    mpFeature(thepFeature)
 {
   setupUi(this);
   if (mpFeature==NULL || vl->dataProvider()==NULL )
@@ -109,6 +109,58 @@
 
     switch( editType )
     {
+    case QgsVectorLayer::UniqueValues:
+      {
+        QStringList values;
+        mLayer->dataProvider()->getUniqueValues(it.key(), values);
+
+        QComboBox *cb = new QComboBox();
+        cb->setEditable(true);
+        cb->addItems(values);
+
+        int idx = cb->findText( myFieldValue.toString() );
+        if( idx>= 0 )
+          cb->setCurrentIndex( idx );
+
+        myWidget = cb;
+      }
+      break;
+
+    case QgsVectorLayer::ValueMap:
+      {
+        const QMap<QString,QVariant> &map = vl->valueMap( it.key() );
+
+        QComboBox *cb = new QComboBox();
+
+        for(QMap<QString,QVariant>::const_iterator it=map.begin(); it!=map.end(); it++)
+        {
+          cb->addItem( it.key(), it.value() );
+        }
+
+        int idx = cb->findData( myFieldValue );
+        if( idx>= 0 )
+          cb->setCurrentIndex( idx );
+
+        myWidget = cb;
+      }
+      break;
+
+    case QgsVectorLayer::Classification:
+      {
+        QComboBox *cb = new QComboBox();
+        for(QMap<QString,QString>::const_iterator it=classes.begin(); it!=classes.end(); it++)
+        {
+          cb->addItem( it.value(), it.key() );
+        }
+
+        int idx = cb->findData( myFieldValue );
+        if( idx>=0 )
+          cb->setCurrentIndex( idx );
+
+        myWidget = cb;
+      }
+      break;
+
     case QgsVectorLayer::Range:
       {
         if( myFieldType==QVariant::Int )
@@ -145,9 +197,9 @@
 
       // fall-through
 
-
     case QgsVectorLayer::LineEdit:
     case QgsVectorLayer::UniqueValuesEditable:
+    default:
       {
         QLineEdit *le = new QLineEdit( myFieldValue.toString() );
 
@@ -173,58 +225,6 @@
         myWidget = le;
       }
       break;
-
-    case QgsVectorLayer::UniqueValues:
-      {
-        QStringList values;
-        mLayer->dataProvider()->getUniqueValues(it.key(), values);
-
-        QComboBox *cb = new QComboBox();
-        cb->setEditable(true);
-        cb->addItems(values);
-
-        int idx = cb->findText( myFieldValue.toString() );
-        if( idx>= 0 )
-          cb->setCurrentIndex( idx );
-
-        myWidget = cb;
-      }
-      break;
-
-    case QgsVectorLayer::ValueMap:
-      {
-        const QMap<QString,QVariant> &map = vl->valueMap( it.key() );
-
-        QComboBox *cb = new QComboBox();
-
-        for(QMap<QString,QVariant>::const_iterator it=map.begin(); it!=map.end(); it++)
-        {
-          cb->addItem( it.key(), it.value() );
-        }
-
-        int idx = cb->findData( myFieldValue );
-        if( idx>= 0 )
-          cb->setCurrentIndex( idx );
-
-        myWidget = cb;
-      }
-      break;
-
-    case QgsVectorLayer::Classification:
-      {
-        QComboBox *cb = new QComboBox();
-        for(QMap<QString,QString>::const_iterator it=classes.begin(); it!=classes.end(); it++)
-        {
-          cb->addItem( it.value(), it.key() );
-        }
-
-        int idx = cb->findData( myFieldValue );
-        if( idx>=0 )
-          cb->setCurrentIndex( idx );
-
-        myWidget = cb;
-      }
-      break;
     }
 
     if( myFieldType==QVariant::Int )

Modified: trunk/qgis/src/app/qgsattributedialog.h
===================================================================
--- trunk/qgis/src/app/qgsattributedialog.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/qgsattributedialog.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -31,7 +31,7 @@
 
 class QgsAttributeDialog: public QDialog, private Ui::QgsAttributeDialogBase
 {
-  Q_OBJECT;
+  Q_OBJECT
 
   public:
   QgsAttributeDialog(QgsVectorLayer *vl, QgsFeature * thepFeature);

Modified: trunk/qgis/src/app/qgsattributetable.cpp
===================================================================
--- trunk/qgis/src/app/qgsattributetable.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/qgsattributetable.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -33,7 +33,7 @@
 
 
 QgsAttributeTableItemDelegate::QgsAttributeTableItemDelegate(QgsAttributeTable *table, QObject *parent)
-  : mTable(table), QItemDelegate(parent)
+  : QItemDelegate(parent), mTable(table)
 {
 }
 
@@ -429,8 +429,6 @@
 
 void QgsAttributeTable::fillTable(QgsVectorLayer *layer)
 {
-  int row = 0;
-
   const QgsFieldMap &fields = layer->pendingFields();
 
   // set up the column headers

Modified: trunk/qgis/src/app/qgsattributetable.h
===================================================================
--- trunk/qgis/src/app/qgsattributetable.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/qgsattributetable.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -57,7 +57,7 @@
     enum {
       AttributeIndex = Qt::UserRole,
       AttributeName = Qt::UserRole+1,
-      AttributeType = Qt::UserRole+2,
+      AttributeType = Qt::UserRole+2
     };
 
     void setReadOnly(bool b);

Modified: trunk/qgis/src/app/qgsdbsourceselect.h
===================================================================
--- trunk/qgis/src/app/qgsdbsourceselect.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/qgsdbsourceselect.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -103,7 +103,7 @@
 	dbssType=0,
 	dbssDetail,
 	dbssSql,
-	dbssColumns,
+	dbssColumns
     };
 
     typedef std::pair<QString, QString> geomPair;

Modified: trunk/qgis/src/app/qgsdbtablemodel.h
===================================================================
--- trunk/qgis/src/app/qgsdbtablemodel.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/qgsdbtablemodel.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -24,7 +24,7 @@
 The tables have the following columns: Type, Schema, Tablename, Geometry Column, Sql*/
 class QgsDbTableModel: public QStandardItemModel
 {
-  Q_OBJECT;
+  Q_OBJECT
  public:
   QgsDbTableModel();
   ~QgsDbTableModel();

Modified: trunk/qgis/src/app/qgsidentifyresults.h
===================================================================
--- trunk/qgis/src/app/qgsidentifyresults.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/qgsidentifyresults.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -36,7 +36,7 @@
 
 class QgsIdentifyResults: public QDialog, private Ui::QgsIdentifyResultsBase
 {
-  Q_OBJECT;
+  Q_OBJECT
   public:
 
   //! Constructor - takes it own copy of the QgsAttributeAction so

Modified: trunk/qgis/src/app/qgslabeldialog.h
===================================================================
--- trunk/qgis/src/app/qgslabeldialog.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/qgslabeldialog.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -26,7 +26,7 @@
 /** QgsLabelDialog is the dialog for label. */
 class QgsLabelDialog: public QWidget, private Ui::QgsLabelDialogBase
 {
-    Q_OBJECT;
+    Q_OBJECT
 
 public:
     QgsLabelDialog( QgsLabel *label,  QWidget * parent = 0 );

Modified: trunk/qgis/src/app/qgsmaptooledit.cpp
===================================================================
--- trunk/qgis/src/app/qgsmaptooledit.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/qgsmaptooledit.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -35,7 +35,6 @@
 
 int QgsMapToolEdit::insertSegmentVerticesForSnap(const QList<QgsSnappingResult>& snapResults, QgsVectorLayer* editedLayer)
 {
-  int returnval = 0;
   QgsPoint layerPoint;
 
   if(!editedLayer || !editedLayer->isEditable())

Modified: trunk/qgis/src/app/qgsmaptoolidentify.h
===================================================================
--- trunk/qgis/src/app/qgsmaptoolidentify.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/qgsmaptoolidentify.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -39,7 +39,7 @@
 */
 class QgsMapToolIdentify : public QgsMapTool
 {
-  Q_OBJECT;
+  Q_OBJECT
 
   public:
     QgsMapToolIdentify(QgsMapCanvas* canvas);

Modified: trunk/qgis/src/app/qgsmaptoolsplitfeatures.h
===================================================================
--- trunk/qgis/src/app/qgsmaptoolsplitfeatures.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/qgsmaptoolsplitfeatures.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -22,7 +22,7 @@
 /**A map tool that draws a line and splits the features cut by the line*/
 class QgsMapToolSplitFeatures: public QgsMapToolCapture
 {
-  Q_OBJECT;
+  Q_OBJECT
  public:
   QgsMapToolSplitFeatures(QgsMapCanvas* canvas);
   virtual ~QgsMapToolSplitFeatures();

Modified: trunk/qgis/src/app/qgsmaptoolvertexedit.h
===================================================================
--- trunk/qgis/src/app/qgsmaptoolvertexedit.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/qgsmaptoolvertexedit.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -26,7 +26,7 @@
 QgsMapToolDeleteVertex*/
 class QgsMapToolVertexEdit: public QgsMapToolEdit
 {
-  Q_OBJECT;
+  Q_OBJECT
 
  public:
 

Modified: trunk/qgis/src/app/qgsmeasuredialog.cpp
===================================================================
--- trunk/qgis/src/app/qgsmeasuredialog.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/qgsmeasuredialog.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -84,17 +84,16 @@
   // show current distance/area while moving the point
   // by creating a temporary copy of point array
   // and adding moving point at the end
-  QList<QgsPoint> tmpPoints = mTool->points();
-  tmpPoints.append(point);
-  if (mMeasureArea && tmpPoints.size() > 2)
+  if (mMeasureArea && mTool->points().size() > 1)
   {
+    QList<QgsPoint> tmpPoints = mTool->points();
+    tmpPoints.append(point);
     double area = mTool->canvas()->mapRenderer()->distArea()->measurePolygon(tmpPoints);
     editTotal->setText(formatArea(area));
   }
-  else if (!mMeasureArea && tmpPoints.size() > 1)
+  else if (!mMeasureArea && mTool->points().size() > 0)
   {
-    int last = tmpPoints.size()-2;
-    QgsPoint p1 = tmpPoints[last], p2 = tmpPoints[last+1];
+    QgsPoint p1(mTool->points().last()), p2(point);
 
     double d = mTool->canvas()->mapRenderer()->distArea()->measureLine(p1,p2);
     QTreeWidgetItem *item = mTable->topLevelItem(mTable->topLevelItemCount()-1);

Modified: trunk/qgis/src/app/qgsmeasuredialog.h
===================================================================
--- trunk/qgis/src/app/qgsmeasuredialog.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/qgsmeasuredialog.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -26,7 +26,7 @@
 
 class QgsMeasureDialog : public QDialog, private Ui::QgsMeasureBase
 {
-  Q_OBJECT;
+  Q_OBJECT
 
 public:
 

Modified: trunk/qgis/src/app/qgsmeasuretool.h
===================================================================
--- trunk/qgis/src/app/qgsmeasuretool.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/qgsmeasuretool.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -29,7 +29,7 @@
 
 class QgsMeasureTool : public QgsMapTool
 {
-  Q_OBJECT;
+  Q_OBJECT
 
 public:
   

Modified: trunk/qgis/src/app/qgsoptions.h
===================================================================
--- trunk/qgis/src/app/qgsoptions.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/qgsoptions.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -29,7 +29,7 @@
  */
 class QgsOptions :public QDialog, private Ui::QgsOptionsBase
 {
-  Q_OBJECT;
+  Q_OBJECT
   public:
     /**
      * Constructor

Modified: trunk/qgis/src/app/qgspastetransformations.h
===================================================================
--- trunk/qgis/src/app/qgspastetransformations.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/qgspastetransformations.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -27,7 +27,7 @@
  */
 class QgsPasteTransformations : public QDialog, private Ui::QgsPasteTransformationsBase
 {
-  Q_OBJECT;
+  Q_OBJECT
  public:
     //! Constructor
     QgsPasteTransformations();

Modified: trunk/qgis/src/app/qgspluginmanager.cpp
===================================================================
--- trunk/qgis/src/app/qgspluginmanager.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/qgspluginmanager.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -18,6 +18,7 @@
 
 #include "qgsconfig.h"
 
+#include "qgis.h"
 #include <iostream>
 #include <QApplication>
 #include <QFileDialog>
@@ -260,9 +261,9 @@
     }
     
     // resolve the metadata from plugin
-    name_t *pName = (name_t *) myLib->resolve("name");
-    description_t *pDesc = (description_t *) myLib->resolve("description");
-    version_t *pVersion = (version_t *) myLib->resolve("version");
+    name_t *pName = (name_t *) cast_to_fptr(myLib->resolve("name"));
+    description_t *pDesc = (description_t *) cast_to_fptr(myLib->resolve("description"));
+    version_t *pVersion = (version_t *) cast_to_fptr(myLib->resolve("version"));
 
     // show the values (or lack of) for each function
     if(pName)

Modified: trunk/qgis/src/app/qgsrasterlayerproperties.cpp
===================================================================
--- trunk/qgis/src/app/qgsrasterlayerproperties.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/qgsrasterlayerproperties.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -51,10 +51,10 @@
 "$Id$";
 
 QgsRasterLayerProperties::QgsRasterLayerProperties(QgsMapLayer *lyr, QWidget *parent, Qt::WFlags fl)
-  : QDialog(parent, fl), 
-  mRasterLayer( dynamic_cast<QgsRasterLayer*>(lyr)),
+  : QDialog(parent, fl),
   // Constant that signals property not used.
-  TRSTRING_NOT_SET( tr("Not Set"))
+  TRSTRING_NOT_SET( tr("Not Set")),
+  mRasterLayer( dynamic_cast<QgsRasterLayer*>(lyr) )
 {
   ignoreSpinBoxEvent = false; //Short circuit signal loop between min max field and stdDev spin box
   mGrayActualMinimumMaximum = false;
@@ -1722,7 +1722,7 @@
 
 void QgsRasterLayerProperties::on_cboxColorMap_currentIndexChanged(const QString& theText)
 {
-  if(mRasterLayerIsGdal && theText == tr("Pseudocolor") || theText == tr("Freak Out"))
+  if(mRasterLayerIsGdal && (theText == tr("Pseudocolor") || theText == tr("Freak Out")))
   {
     tabBar->setTabEnabled(tabBar->indexOf(tabPageColormap), FALSE);
     rbtnSingleBandMinMax->setEnabled(false);

Modified: trunk/qgis/src/app/qgssearchquerybuilder.cpp
===================================================================
--- trunk/qgis/src/app/qgssearchquerybuilder.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/qgssearchquerybuilder.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -93,7 +93,7 @@
   lstValues->setUniformItemSizes(true);
 }
 
-void QgsSearchQueryBuilder::getFieldValues(uint limit)
+void QgsSearchQueryBuilder::getFieldValues(int limit)
 {
   // clear the values list 
   mModelValues->clear();

Modified: trunk/qgis/src/app/qgssearchquerybuilder.h
===================================================================
--- trunk/qgis/src/app/qgssearchquerybuilder.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/qgssearchquerybuilder.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -108,9 +108,9 @@
 
     /*!
      * populates list box with values of selected field
-     * @param limit if not zero, insterts only this count of values
+     * @param limit if not zero, inserts only this count of values
      */
-    void getFieldValues(uint limit);
+    void getFieldValues(int limit);
 
   private:
     

Modified: trunk/qgis/src/app/qgsserversourceselect.cpp
===================================================================
--- trunk/qgis/src/app/qgsserversourceselect.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/qgsserversourceselect.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -317,39 +317,6 @@
 }
 
 
-std::set<QString> QgsServerSourceSelect::crsForSelection()
-{
-  std::set<QString> crsCandidates;
-
-  // XXX - mloskot - temporary solution, function must return a value
-  return crsCandidates;
-
-  QStringList::const_iterator i;
-  for (i = m_selectedLayers.constBegin(); i != m_selectedLayers.constEnd(); ++i)
-  {
-/*    
-
-    for ( int j = 0; j < ilayerProperty.boundingBox.size(); i++ ) 
-    {
-#ifdef QGISDEBUG
-  std::cout << "QgsWmsProvider::parseLayer: testing bounding box CRS which is " 
-            << layerProperty.boundingBox[i].crs.toLocal8Bit().data() << "." << std::endl;
-#endif
-      if ( layerProperty.boundingBox[i].crs == DEFAULT_LATLON_CRS )
-      {
-        extentForLayer[ layerProperty.name ] = 
-                layerProperty.boundingBox[i].box;
-      }
-    }
-
-
-    if
-      cout << (*i).ascii() << endl;*/
-  }
-
-}
-
-
 void QgsServerSourceSelect::on_btnConnect_clicked()
 {
   // populate the table list

Modified: trunk/qgis/src/app/qgsserversourceselect.h
===================================================================
--- trunk/qgis/src/app/qgsserversourceselect.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/qgsserversourceselect.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -140,9 +140,6 @@
     //! Populate the image encoding button group - private for now.
     void populateImageEncodingGroup(QgsWmsProvider* wmsProvider);
 
-    //! Returns the common CRSs for the selected layers.
-    std::set<QString> crsForSelection();
-
     //! Returns a textual description for the EPSG number
     QString descriptionForEpsg(long epsg);
 

Modified: trunk/qgis/src/app/qgsvectorlayerproperties.h
===================================================================
--- trunk/qgis/src/app/qgsvectorlayerproperties.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/app/qgsvectorlayerproperties.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -35,7 +35,7 @@
 
 class QgsVectorLayerProperties : public QDialog, private Ui::QgsVectorLayerPropertiesBase
 {
-  Q_OBJECT;
+  Q_OBJECT
 public:
   QgsVectorLayerProperties(QgsVectorLayer *lyr = 0,QWidget *parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags);
   ~QgsVectorLayerProperties();

Modified: trunk/qgis/src/core/CMakeLists.txt
===================================================================
--- trunk/qgis/src/core/CMakeLists.txt	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/CMakeLists.txt	2008-08-23 14:06:01 UTC (rev 9133)
@@ -105,6 +105,15 @@
                 ${CMAKE_BINARY_DIR}/src/core/flex_qgssearchstringlexer.cpp 
                 PROPERTIES COMPILE_FLAGS -w)
 
+IF (MSVC AND PEDANTIC)
+# disable warnings
+# 4065 switch with default and no case
+# 4702 unreachable code
+SET_SOURCE_FILES_PROPERTIES(
+                ${CMAKE_BINARY_DIR}/src/core/qgssearchstringparser.cpp 
+                PROPERTIES COMPILE_FLAGS "-wd4065 -wd4702")
+ENDIF (MSVC AND PEDANTIC)
+
 SET(QGIS_CORE_MOC_HDRS
 qgscontexthelp.h
 qgscoordinatetransform.h

Modified: trunk/qgis/src/core/composer/qgscomposerlegend.cpp
===================================================================
--- trunk/qgis/src/core/composer/qgscomposerlegend.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/composer/qgscomposerlegend.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -251,6 +251,9 @@
       drawPolygonSymbol(p, s, currentYCoord, currentXPosition);
       symbolHeight = mSymbolHeight;
       break;
+    case QGis::Unknown:
+      // shouldn't occur
+      break;
     }
 }
 
@@ -272,7 +275,6 @@
 	}
       
       rasterScaleFactor = (paintDevice->logicalDpiX() + paintDevice->logicalDpiY()) / 2.0 / 25.4;
-      double widthScale = (paintDevice->logicalDpiX() + paintDevice->logicalDpiY()) / 2 / 25.4;
     }
   
   //width scale is 1.0

Modified: trunk/qgis/src/core/composer/qgscomposerpicture.cpp
===================================================================
--- trunk/qgis/src/core/composer/qgscomposerpicture.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/composer/qgscomposerpicture.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -24,7 +24,7 @@
 #include <QPainter>
 #include <QSvgRenderer>
 
-QgsComposerPicture::QgsComposerPicture(QgsComposition *composition): QgsComposerItem(composition), QObject(0), mRotation(0.0), mMode(UNKNOWN), mSvgCacheUpToDate(false), mCachedDpi(0)
+QgsComposerPicture::QgsComposerPicture(QgsComposition *composition): QObject(0), QgsComposerItem(composition), mRotation(0.0), mMode(UNKNOWN), mSvgCacheUpToDate(false), mCachedDpi(0)
 {
 }
 

Modified: trunk/qgis/src/core/composer/qgscomposition.cpp
===================================================================
--- trunk/qgis/src/core/composer/qgscomposition.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/composer/qgscomposition.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -162,6 +162,8 @@
       compositionElem.setAttribute("paperHeight", mPaperItem->rect().height());
     }
   composerElem.appendChild(compositionElem);
+
+  return true;
 }
 
 bool QgsComposition::readXML(const QDomElement& compositionElem, const QDomDocument& doc)
@@ -184,4 +186,6 @@
       addItem(mPaperItem);
       mPaperItem->setZValue(0);
     }
+
+  return true;
 }

Modified: trunk/qgis/src/core/composer/qgslegendmodel.cpp
===================================================================
--- trunk/qgis/src/core/composer/qgslegendmodel.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/composer/qgslegendmodel.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -126,7 +126,6 @@
   QList<QgsSymbol*>::const_iterator symbolIt = vectorSymbols.constBegin();
 
   QStandardItem* currentSymbolItem = 0;
-  QStandardItem* currentLabelItem = 0;
 
   for(; symbolIt != vectorSymbols.constEnd(); ++symbolIt)
     {
@@ -176,7 +175,6 @@
 	  continue;
 	}
 
-      int currentRowCount = layerItem->rowCount();
       currentSymbolItem->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable);
 
       layerItem->setChild(layerItem->rowCount(), 0, currentSymbolItem);
@@ -468,6 +466,9 @@
 			case QGis::Polygon:
 			  childItem->setIcon(QIcon(QPixmap::fromImage(symbol->getPolygonSymbolAsImage())));
 			  break;
+			case QGis::Unknown:
+			  // should not occur
+			  break;
 			}
 		      insertSymbol(symbol);
 		    }
@@ -488,4 +489,6 @@
 
       invisibleRootItem()->setChild (invisibleRootItem()->rowCount(), layerItem);
     }
+
+    return true;
 }

Modified: trunk/qgis/src/core/composer/qgsscalebarstyle.cpp
===================================================================
--- trunk/qgis/src/core/composer/qgsscalebarstyle.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/composer/qgsscalebarstyle.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -119,7 +119,7 @@
   QString largestLabel = QString::number(largestLabelNumber) + " " + mScaleBar->unitLabeling();
   double largestLabelWidth = fontMetrics.width(largestLabel) - fontMetrics.width(largestNumberLabel) / 2;
 
-  double totalBarLength;
+  double totalBarLength = 0.0;
   
   QList< QPair<double, double> > segmentList;
   mScaleBar->segmentPositions(segmentList);

Modified: trunk/qgis/src/core/composer/qgsticksscalebarstyle.cpp
===================================================================
--- trunk/qgis/src/core/composer/qgsticksscalebarstyle.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/composer/qgsticksscalebarstyle.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -44,6 +44,7 @@
     case MIDDLE:
       return "Line Ticks Middle";
     }
+  return "";  // to make gcc happy
 }
 
 void QgsTicksScaleBarStyle::draw(QPainter* p, double xOffset) const

Modified: trunk/qgis/src/core/qgis.h
===================================================================
--- trunk/qgis/src/core/qgis.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/qgis.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -93,6 +93,22 @@
   
   static const double DEFAULT_IDENTIFY_RADIUS;
 };
+
+// hack to workaround warnings when casting void pointers
+// retrieved from QLibrary::resolve to function pointers.
+// It's assumed that this works on all systems supporting
+// QLibrary
+inline void (*cast_to_fptr(void *p))()
+{
+	union {
+		void *p;
+		void (*f)();
+	} u;
+
+	u.p=p;
+	return u.f;
+}
+
   /** WKT string that represents a geographic coord sys */
   const  QString GEOWKT =
       "GEOGCS[\"WGS 84\", "

Modified: trunk/qgis/src/core/qgsclipper.h
===================================================================
--- trunk/qgis/src/core/qgsclipper.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/qgsclipper.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -233,7 +233,7 @@
   // (x2, y2) cross the given boundary. Making this assumption allows
   // some optimisations. 
 
-  double r_n, r_d;
+  double r_n = SMALL_NUM, r_d = SMALL_NUM;
 
   switch (b)
   {

Modified: trunk/qgis/src/core/qgsfeature.cpp
===================================================================
--- trunk/qgis/src/core/qgsfeature.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/qgsfeature.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -36,11 +36,11 @@
 QgsFeature::QgsFeature( QgsFeature const & rhs )
     : mFid( rhs.mFid ),
       mAttributes( rhs.mAttributes ),
+      mGeometry( 0 ),
+      mOwnsGeometry( false ),
       mValid( rhs.mValid ),
       mDirty( rhs.mDirty ),
-      mTypeName( rhs.mTypeName ),
-      mGeometry( 0 ),
-      mOwnsGeometry( false )
+      mTypeName( rhs.mTypeName )
 {
 
   // copy embedded geometry

Modified: trunk/qgis/src/core/qgsfeature.h
===================================================================
--- trunk/qgis/src/core/qgsfeature.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/qgsfeature.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -168,7 +168,7 @@
 
        This is usually set by a call to OGRGeometry::exportToWkb()
      */
-    QgsGeometry* mGeometry;
+    QgsGeometry *mGeometry;
 
     /** Indicator if the mGeometry is owned by this QgsFeature.
         If so, this QgsFeature takes responsibility for the mGeometry's destruction.

Modified: trunk/qgis/src/core/qgsgeometry.cpp
===================================================================
--- trunk/qgis/src/core/qgsgeometry.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/qgsgeometry.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -41,7 +41,7 @@
     throw; \
   }
 
-#if GEOS_VERSION_MAJOR<3
+#if defined(GEOS_VERSION_MAJOR) && (GEOS_VERSION_MAJOR<3)
 #define GEOSGeom_clone(g) GEOSGeom_clone( (GEOSGeometry *) g )
 #define GEOSGeom_getCoordSeq(g) GEOSGeom_getCoordSeq( (GEOSGeometry *) g )
 #define GEOSGetExteriorRing(g) GEOSGetExteriorRing( (GEOSGeometry *)g )
@@ -80,10 +80,7 @@
   const char *msg;
 };
 
-extern "C" void throwGEOSException(const char *fmt, ...)
-#ifdef _MSC_VER
-throw()
-#endif
+void throwGEOSException(const char *fmt, ...)
 {
   va_list ap;
   va_start(ap, fmt);
@@ -95,7 +92,7 @@
   throw GEOSException(msg);
 }
 
-extern "C" void printGEOSNotice(const char *fmt, ...)
+void printGEOSNotice(const char *fmt, ...)
 {
 #if defined(QGISDEBUG)
   va_list ap;
@@ -187,7 +184,7 @@
 
 static GEOSCoordSequence *createGeosCoordSequence(const QgsPolyline& points)
 {
-  GEOSCoordSequence *coord;
+  GEOSCoordSequence *coord = 0;
 
   try {
     coord = GEOSCoordSeq_create(points.count(), 2);
@@ -328,7 +325,7 @@
 
 QgsGeometry* QgsGeometry::fromWkt(QString wkt)
 {
-#if GEOS_VERSION_MAJOR>=3
+#if defined(GEOS_VERSION_MAJOR) && (GEOS_VERSION_MAJOR>=3)
   GEOSWKTReader *reader = GEOSWKTReader_create();;
   QgsGeometry *g = fromGeosGeom( GEOSWKTReader_read(reader, wkt.toLocal8Bit().data()) );
   GEOSWKTReader_destroy(reader);
@@ -595,7 +592,7 @@
     return QgsPoint(0,0);
   }
 
-  int vertexnr;
+  int vertexnr = -1;
   int vertexcounter = 0;
   QGis::WKBTYPE wkbType;
   double actdist = std::numeric_limits<double>::max();
@@ -620,6 +617,9 @@
       }
     case QGis::WKBLineString25D:
       hasZValue = true;
+
+      // fall-through
+     
     case QGis::WKBLineString:
       {
         unsigned char* ptr=mGeometry+5;
@@ -1109,7 +1109,7 @@
   for (unsigned int i=0, j=0; i<numPoints; i++, j++)
   {
     // Do we insert the new vertex here?
-    if (beforeVertex == i)
+    if (beforeVertex == static_cast<int>(i))
     {
       GEOSCoordSeq_setX(*new_sequence, j, x);
       GEOSCoordSeq_setY(*new_sequence, j, y);
@@ -3880,15 +3880,12 @@
       }
 
     default:
-      return FALSE;
+      return false;
     }
   }
-  CATCH_GEOS(FALSE)
-  {
-    return false;
-  }
+  CATCH_GEOS(false)
 
-  return TRUE;
+  return true;
 }
 
 bool QgsGeometry::exportGeosToWkb()
@@ -4574,7 +4571,8 @@
     return 2; //an error occured during noding
   }
 
-#if GEOS_VERSION_MAJOR>3 || (GEOS_VERSION_MAJOR==3 && GEOS_VERSION_MINOR>=1)
+#if defined(GEOS_VERSION_MAJOR) && defined(GEOS_VERSION_MINOR) && \
+    ((GEOS_VERSION_MAJOR>3) || ((GEOS_VERSION_MAJOR==3) && (GEOS_VERSION_MINOR>=1)))
   GEOSGeometry *cutEdges = GEOSPolygonizer_getCutEdges( &nodedGeometry, 1 );
   if( cutEdges ) {
     if( GEOSGetNumGeometries(cutEdges)>0 ) {
@@ -4608,7 +4606,6 @@
   //ratio intersect geometry / geometry. This should be close to 1
   //if the polygon belongs to the input geometry
 
-  double areaRatio = 0.0;
   for(int i=0; i<GEOSGetNumGeometries(polygons); i++)
   {
     const GEOSGeometry *polygon = GEOSGetGeometryN(polygons, i);
@@ -4620,7 +4617,7 @@
     double polygonArea;
     GEOSArea(polygon, &polygonArea);
 
-    double areaRatio = intersectionArea / polygonArea;
+    const double areaRatio = intersectionArea / polygonArea;
     if(areaRatio > 0.99 && areaRatio < 1.01)
       testedGeometries << GEOSGeom_clone(polygon);
 
@@ -4931,7 +4928,6 @@
   return polygons;
 }
 
-
 double QgsGeometry::distance(QgsGeometry& geom)
 {
   if (mGeos == NULL)
@@ -4944,13 +4940,15 @@
     geom.exportWkbToGeos();
   }
 
+  double dist=-1.0;
+
   try
   {
-    double dist;
     GEOSDistance(mGeos, geom.mGeos, &dist);
-    return dist;
   }
   CATCH_GEOS(-1.0)
+
+  return dist;
 }
 
 

Modified: trunk/qgis/src/core/qgsgeometry.h
===================================================================
--- trunk/qgis/src/core/qgsgeometry.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/qgsgeometry.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -24,7 +24,7 @@
 
 #include <geos_c.h>
 
-#if GEOS_VERSION_MAJOR<3
+#if defined(GEOS_VERSION_MAJOR) && (GEOS_VERSION_MAJOR<3)
 #define GEOSGeometry struct GEOSGeom_t
 #define GEOSCoordSequence struct GEOSCoordSeq_t
 #endif

Modified: trunk/qgis/src/core/qgslabel.cpp
===================================================================
--- trunk/qgis/src/core/qgslabel.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/qgslabel.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -510,7 +510,7 @@
   case QGis::WKBMultiPolygon:
     // Return a position for each individual in the multi-feature
     {
-      assert( 1+sizeof(wkbType)+sizeof(int)<=geomlen );
+      Q_ASSERT( 1+sizeof(wkbType)+sizeof(int)<=geomlen );
       geom += 1+sizeof(wkbType);
       int nFeatures = *(unsigned int *)geom;
       geom += sizeof(int);
@@ -531,9 +531,9 @@
 unsigned char* QgsLabel::labelPoint ( QgsPoint& point, unsigned char *geom, size_t geomlen)
 {
   // verify that local types match sizes as WKB spec
-  assert( sizeof(int) == 4 );
-  assert( sizeof(QGis::WKBTYPE) == 4 );
-  assert( sizeof(double) == 8 );
+  Q_ASSERT( sizeof(int) == 4 );
+  Q_ASSERT( sizeof(QGis::WKBTYPE) == 4 );
+  Q_ASSERT( sizeof(double) == 8 );
 
   if(geom==NULL) {
     QgsDebugMsg("empty wkb");
@@ -541,10 +541,11 @@
   }
 
   QGis::WKBTYPE wkbType;
+#ifndef QT_NO_DEBUG
   unsigned char *geomend = geom+geomlen;
+#endif
+  Q_ASSERT (geom+1+sizeof(wkbType)<=geomend );
 
-  assert( geom+1+sizeof(wkbType)<=geomend );
-
   geom++; // skip endianess
   memcpy(&wkbType, geom, sizeof(wkbType));
   geom += sizeof(wkbType);
@@ -556,7 +557,7 @@
   case QGis::WKBPoint25D:
   case QGis::WKBPoint:
     {
-      assert( geom+2*sizeof(double)<=geomend );
+      Q_ASSERT( geom+2*sizeof(double)<=geomend );
       double *pts = (double *)geom;
       point.set( pts[0], pts[1] );
       geom += 2*sizeof(double);
@@ -567,11 +568,11 @@
     dims=3;
   case QGis::WKBLineString: // Line center
     {
-      assert( geom+sizeof(int)<=geomend );
+      Q_ASSERT( geom+sizeof(int)<=geomend );
       int nPoints = *(unsigned int *)geom;
       geom += sizeof(int);
 
-      assert( geom+nPoints*sizeof(double)*dims<=geomend );
+      Q_ASSERT( geom+nPoints*sizeof(double)*dims<=geomend );
 
       // get line center
       double *pts = (double *)geom;
@@ -612,17 +613,17 @@
     dims = 3;
   case QGis::WKBPolygon: // centroid of outer ring
     {
-      assert( geom+sizeof(int)<=geomend);
+      Q_ASSERT( geom+sizeof(int)<=geomend);
       int nRings = *(unsigned int *)geom;
       geom += sizeof(int);
 
       for (int i=0; i<nRings; ++i) 
       {
-        assert( geom+sizeof(int)<=geomend );
+        Q_ASSERT( geom+sizeof(int)<=geomend );
         int nPoints = *(unsigned int *)geom;
         geom += sizeof(int);
 
-        assert( geom+nPoints*sizeof(double)*dims<=geomend );
+        Q_ASSERT( geom+nPoints*sizeof(double)*dims<=geomend );
 
         if( i==0 ) {
           double sx=0.0, sy=0.0;

Modified: trunk/qgis/src/core/qgsmaprenderer.cpp
===================================================================
--- trunk/qgis/src/core/qgsmaprenderer.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/qgsmaprenderer.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -499,8 +499,7 @@
       QgsCoordinateTransform tr(layer->srs(), *mDestCRS);
       
 #ifdef QGISDEBUG
-     // QgsLogger::debug<QgsRect>("Getting extent of canvas in layers CS. Canvas is ", extent, __FILE__,\
-     //   __FUNCTION__, __LINE__);
+     // QgsLogger::debug<QgsRect>("Getting extent of canvas in layers CS. Canvas is ", extent, __FILE__, __FUNCTION__, __LINE__);
 #endif
       // Split the extent into two if the source CRS is
       // geographic and the extent crosses the split in

Modified: trunk/qgis/src/core/qgsproject.cpp
===================================================================
--- trunk/qgis/src/core/qgsproject.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/qgsproject.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -751,9 +751,6 @@
                                 // sure it's closed anyway
 
         throw QgsIOException( QObject::tr("Unable to open ") + imp_->file.fileName());
-
-        return false;           // XXX raise exception? Ok now superfluous
-                                // XXX because of exception.
     }
 
     // location of problem associated with errorMsg
@@ -776,8 +773,6 @@
         imp_->file.close();
 
         throw QgsException(errorString + QObject::tr(" for file ") + imp_->file.fileName());
-
-        return false;               // XXX superfluous because of exception
     }
 
     imp_->file.close();
@@ -932,9 +927,6 @@
     // sure it's closed anyway
 
     throw QgsIOException(QObject::tr("Unable to save to file ") + imp_->file.fileName());
-
-    return false;               // XXX raise exception? Ok now superfluous
-    // XXX because of exception.
   }
   QFileInfo myFileInfo(imp_->file);
   if (!myFileInfo.isWritable())
@@ -944,9 +936,6 @@
     imp_->file.close();         
     throw QgsIOException(imp_->file.fileName() + QObject::tr(" is not writeable.")
             + QObject::tr("Please adjust permissions (if possible) and try again."));
-    // XXX raise exception? Ok now superfluous
-    return false;               
-   
   }
 
   QDomImplementation DomImplementation;

Modified: trunk/qgis/src/core/qgsprojectfiletransform.cpp
===================================================================
--- trunk/qgis/src/core/qgsprojectfiletransform.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/qgsprojectfiletransform.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -23,6 +23,7 @@
 #include <QTextStream>
 #include <QDomDocument>
 #include <QPrinter> //to find out screen resolution
+#include <cstdlib>
 
 typedef QgsProjectVersion PFV;
 
@@ -42,7 +43,7 @@
 
   if ( ! mDom.isNull() )
   {
-    for (int i = 0; i < sizeof(transformers)/sizeof(transform); i++)
+    for (std::size_t i = 0; i < sizeof(transformers)/sizeof(transform); i++)
     {
       if ( transformers[i].from == mCurrentVersion)
       {
@@ -54,7 +55,7 @@
     }
   }
   return returnValue;
-};
+}
 
 void QgsProjectFileTransform::dump()
 {
@@ -176,7 +177,7 @@
   }
   return;
 
-};
+}
 
 void QgsProjectFileTransform::transform091to0100()
 {
@@ -235,7 +236,7 @@
   }
   return;
 
-};
+}
 
 void QgsProjectFileTransform::transform0100to0110()
 {

Modified: trunk/qgis/src/core/qgsprojectfiletransform.h
===================================================================
--- trunk/qgis/src/core/qgsprojectfiletransform.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/qgsprojectfiletransform.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -66,7 +66,7 @@
     void (QgsProjectFileTransform::* transformFunc)();
   } transform;
 
-  static transform transformers[];;
+  static transform transformers[];
 
   QDomDocument mDom;
   QgsProjectVersion mCurrentVersion;

Modified: trunk/qgis/src/core/qgsprojectversion.cpp
===================================================================
--- trunk/qgis/src/core/qgsprojectversion.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/qgsprojectversion.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -51,7 +51,7 @@
   return ((mMajor == other.mMajor) &&
           (mMinor == other.mMinor) &&
           (mSub == other.mSub));
-};
+}
 
 /*! Boolean >= operator
  */
@@ -60,7 +60,7 @@
   return ( (mMajor >= other.mMajor) ||
           ((mMajor == other.mMajor) && (mMinor >= other.mMinor)) ||
           ((mMajor == other.mMajor) && (mMinor == other.mMinor) && (mSub >= other.mSub)));
-};
+}
 
 /*! Boolean > operator
  */
@@ -69,7 +69,7 @@
   return ( (mMajor > other.mMajor) ||
            ((mMajor == other.mMajor) && (mMinor > other.mMinor)) ||
            ((mMajor == other.mMajor) && (mMinor == other.mMinor) && (mSub > other.mSub)));
-}; 
+} 
 
 QString QgsProjectVersion::text()
 {

Modified: trunk/qgis/src/core/qgsproviderregistry.cpp
===================================================================
--- trunk/qgis/src/core/qgsproviderregistry.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/qgsproviderregistry.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -112,11 +112,11 @@
       if (loaded)
       {
         // get the description and the key for the provider plugin
-        isprovider_t *isProvider = (isprovider_t *) myLib->resolve("isProvider");
+        isprovider_t *isProvider = (isprovider_t *) cast_to_fptr(myLib->resolve("isProvider"));
 
         //MH: Added a further test to detect non-provider plugins linked to provider plugins.
         //Only pure provider plugins have 'type' not defined
-        isprovider_t *hasType = (isprovider_t *) myLib->resolve("type");
+        isprovider_t *hasType = (isprovider_t *) cast_to_fptr(myLib->resolve("type"));
 
         if (!hasType && isProvider)
         {
@@ -124,8 +124,8 @@
           if (isProvider())
           {
             // looks like a provider. get the key and description
-            description_t *pDesc = (description_t *) myLib->resolve("description");
-            providerkey_t *pKey = (providerkey_t *) myLib->resolve("providerKey");
+            description_t *pDesc = (description_t *) cast_to_fptr(myLib->resolve("description"));
+            providerkey_t *pKey = (providerkey_t *) cast_to_fptr(myLib->resolve("providerKey"));
             if (pDesc && pKey)
             {
               // add this provider to the provider map
@@ -135,7 +135,7 @@
 
               // now get vector file filters, if any
               fileVectorFilters_t *pFileVectorFilters = 
-                (fileVectorFilters_t *) myLib->resolve("fileVectorFilters");
+                (fileVectorFilters_t *) cast_to_fptr(myLib->resolve("fileVectorFilters"));
 
               if ( pFileVectorFilters )
               {
@@ -143,7 +143,7 @@
 
                 // now get vector file filters, if any
                 fileVectorFilters_t *pVectorFileFilters = 
-                  (fileVectorFilters_t *) myLib->resolve("fileVectorFilters");
+                  (fileVectorFilters_t *) cast_to_fptr(myLib->resolve("fileVectorFilters"));
 
                 if ( pVectorFileFilters )
                 {
@@ -350,7 +350,7 @@
       QgsDebugMsg( "Attempting to resolve the classFactory function" );
 
       classFactoryFunction_t * classFactory = 
-          (classFactoryFunction_t *) myLib->resolve("classFactory");
+          (classFactoryFunction_t *) cast_to_fptr(myLib->resolve("classFactory"));
 
     if (classFactory)
     {

Modified: trunk/qgis/src/core/qgssearchstringparser.yy
===================================================================
--- trunk/qgis/src/core/qgssearchstringparser.yy	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/qgssearchstringparser.yy	2008-08-23 14:06:01 UTC (rev 9133)
@@ -22,6 +22,9 @@
 #include <QList>
 #include "qgssearchtreenode.h"
 
+// don't redeclare malloc/free
+#define YYINCLUDED_STDLIB_H 1
+
 /** returns parsed tree, otherwise returns NULL and sets parserErrorMsg
     (interface function to be called from QgsSearchString) 
   */

Modified: trunk/qgis/src/core/qgssearchtreenode.cpp
===================================================================
--- trunk/qgis/src/core/qgssearchtreenode.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/qgssearchtreenode.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -274,8 +274,6 @@
       mError += QString::number(mOp);
       return false;
   }
-
-  return false; // will never get there
 }
 
 bool QgsSearchTreeNode::getValue(QgsSearchTreeValue& value, QgsSearchTreeNode* node, const QgsFieldMap& fields, const QgsAttributeMap& attributes)

Modified: trunk/qgis/src/core/qgsvectorfilewriter.cpp
===================================================================
--- trunk/qgis/src/core/qgsvectorfilewriter.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/qgsvectorfilewriter.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -30,6 +30,7 @@
 #include <QTextCodec>
 
 #include <cassert>
+#include <cstdlib> // size_t
 
 #include <ogr_api.h>
 #include <ogr_srs_api.h>
@@ -340,7 +341,7 @@
   bool ok = TRUE;
 
   const char* suffixes[] = { ".shp", ".shx", ".dbf", ".prj", ".qix" };
-  for (int i = 0; i < sizeof(suffixes) / sizeof(char*); i++)
+  for (std::size_t i = 0; i < sizeof(suffixes) / sizeof(char*); i++)
   {
     QString file = myFileBase + suffixes[i];
     QFileInfo myInfo(file);

Modified: trunk/qgis/src/core/qgsvectorlayer.cpp
===================================================================
--- trunk/qgis/src/core/qgsvectorlayer.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/qgsvectorlayer.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -95,10 +95,10 @@
   mProviderKey(providerKey),
   mEditable(false),
   mModified(false),
+  mMaxUpdatedIndex(-1),
   mRenderer(0),
   mLabel(0),
   mLabelOn(false),
-  mMaxUpdatedIndex(-1),
   mFetching(false)
 {
   mActions = new QgsAttributeAction;
@@ -700,11 +700,6 @@
     /*Pointer to a marker image*/
     QImage marker;
 
-    /* Scale factor of the marker image*/
-    /* We set this to the symbolScale, and if it is NOT changed, */
-    /* we don't have to do another scaling here */
-    double markerScaleFactor = rendererContext.rasterScaleFactor();
-
     if(mEditable)
     {
       // Destroy all cached geometries and clear the references to them
@@ -740,6 +735,8 @@
           emit drawingProgress(featureCount, totalFeatures);
           qApp->processEvents();
         }
+#else
+        Q_UNUSED(totalFeatures);
 #endif //Q_WS_MAC
 
         if (mEditable)
@@ -1648,7 +1645,6 @@
 
 int QgsVectorLayer::splitFeatures(const QList<QgsPoint>& splitLine, bool topologicalEditing)
 {
-  QgsGeometry* newGeometry = 0;
   QgsFeatureList newFeatures; //store all the newly created features
   double xMin, yMin, xMax, yMax;
   QgsRect bBox; //bounding box of the split line
@@ -1874,6 +1870,8 @@
         }
         break;
       }
+    default:
+      break;
   }
   return returnVal;
 }

Modified: trunk/qgis/src/core/qgsvectorlayer.h
===================================================================
--- trunk/qgis/src/core/qgsvectorlayer.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/qgsvectorlayer.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -65,7 +65,7 @@
     UniqueValuesEditable,
     ValueMap,
     Classification,
-    Range,
+    Range
   };
 
   struct RangeData {

Modified: trunk/qgis/src/core/raster/qgscontrastenhancement.cpp
===================================================================
--- trunk/qgis/src/core/raster/qgscontrastenhancement.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/raster/qgscontrastenhancement.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -102,6 +102,10 @@
     case QGS_CFloat64:
     return std::numeric_limits<double>::max();
       break;
+    case QGS_Unknown:
+    case QGS_TypeCount:
+      // XXX - mloskot: not handled?
+      break;
   }
 
   return std::numeric_limits<double>::max();
@@ -146,6 +150,10 @@
     case QGS_CFloat64:
     return std::numeric_limits<double>::max() * -1.0;
       break;
+    case QGS_Unknown:
+    case QGS_TypeCount:
+      // XXX - mloskot: not handled?
+      break;
   }
 
   return std::numeric_limits<double>::max() * -1.0;

Modified: trunk/qgis/src/core/raster/qgscontrastenhancementfunction.cpp
===================================================================
--- trunk/qgis/src/core/raster/qgscontrastenhancementfunction.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/raster/qgscontrastenhancementfunction.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -65,7 +65,6 @@
   {
     return static_cast<int>((((theValue - QgsContrastEnhancement::getMinimumPossibleValue(mQgsRasterDataType))/(QgsContrastEnhancement::getMaximumPossibleValue(mQgsRasterDataType) - QgsContrastEnhancement::getMinimumPossibleValue(mQgsRasterDataType)))*255.0));
   }
-  return 0;
 }
 
 bool QgsContrastEnhancementFunction::isValueInDisplayableRange(double theValue) {

Modified: trunk/qgis/src/core/raster/qgsrasterlayer.cpp
===================================================================
--- trunk/qgis/src/core/raster/qgsrasterlayer.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/raster/qgsrasterlayer.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -305,16 +305,15 @@
     QString const & baseName, 
     bool loadDefaultStyleFlag)
   : QgsMapLayer(RASTER, baseName, path),
+  // Constant that signals property not used.
+  QSTRING_NOT_SET("Not Set"),
+  TRSTRING_NOT_SET(tr("Not Set")),
   mRasterXDim( std::numeric_limits<int>::max() ),
   mRasterYDim( std::numeric_limits<int>::max() ),
   mDebugOverlayFlag(false),
   mInvertPixelsFlag(false),
   mStandardDeviations(0),
-  mDataProvider(0),
-  // Constant that signals property not used.
-  QSTRING_NOT_SET("Not Set"),
-  TRSTRING_NOT_SET(tr("Not Set"))
-
+  mDataProvider(0)
 {
 
   mUserDefinedRGBMinMaxFlag = false; //defaults needed to bypass stretch
@@ -2409,6 +2408,7 @@
   // a certain range -- in this case twenty times the smallest value that
   // doubles can take for the current system.  (Yes, 20 was arbitrary.)
   double myPrecision = std::numeric_limits<double>::epsilon() * 20;
+  Q_UNUSED(myPrecision);
   
   //ifdefs below to remove compiler warning about unused vars
 #ifdef QGISDEBUG
@@ -4891,7 +4891,7 @@
   {
     QgsDebugMsg("QgsRasterLayer::setDataProvider: Loaded data provider library");
     QgsDebugMsg("QgsRasterLayer::setDataProvider: Attempting to resolve the classFactory function");
-    classFactoryFunction_t * classFactory = (classFactoryFunction_t *) mLib->resolve("classFactory");
+    classFactoryFunction_t * classFactory = (classFactoryFunction_t *) cast_to_fptr(mLib->resolve("classFactory"));
 
     mValid = false;            // assume the layer is invalid until we
     // determine otherwise
@@ -5144,6 +5144,8 @@
     case USER_DEFINED:
       return QString("USER_DEFINED");
       break;
+    default:
+      break;
   }
   
   return QString("UNDEFINED_SHADING_ALGORITHM");

Modified: trunk/qgis/src/core/spatialindex/geometry/LineSegment.cc
===================================================================
--- trunk/qgis/src/core/spatialindex/geometry/LineSegment.cc	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/spatialindex/geometry/LineSegment.cc	2008-08-23 14:06:01 UTC (rev 9133)
@@ -172,12 +172,7 @@
 
 void Tools::Geometry::LineSegment::getCenter(Point& out) const
 {
-#ifdef _MSC_VER
-	// MSVC doesn't like non-const array initialisers
 	double* coords = new double[m_dimension];
-#else
-	double coords[m_dimension];
-#endif//_MSC_VER
 
 	for (unsigned long cDim = 0; cDim < m_dimension; cDim++)
 	{
@@ -188,9 +183,7 @@
 
 	out = Point(coords, m_dimension);
 
-#ifdef _MSC_VER
 	delete[] coords;
-#endif//_MSC_VER
 }
 
 unsigned long Tools::Geometry::LineSegment::getDimension() const
@@ -200,14 +193,8 @@
 
 void Tools::Geometry::LineSegment::getMBR(Region& out) const
 {
-#ifdef _MSC_VER
-	// MSVC doesn't like non-const array initialisers
 	double* low = new double[m_dimension];
 	double* high = new double[m_dimension];
-#else
-	double low[m_dimension];
-	double high[m_dimension];
-#endif//_MSC_VER
 
 	for (unsigned long cDim = 0; cDim < m_dimension; cDim++)
 	{
@@ -217,10 +204,8 @@
 
 	out = Region(low, high, m_dimension);
 
-#ifdef _MSC_VER
 	delete[] low;
 	delete[] high;
-#endif//_MSC_VER
 }
 
 double Tools::Geometry::LineSegment::getArea() const

Modified: trunk/qgis/src/core/spatialindex/tools/Tools.cc
===================================================================
--- trunk/qgis/src/core/spatialindex/tools/Tools.cc	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/spatialindex/tools/Tools.cc	2008-08-23 14:06:01 UTC (rev 9133)
@@ -582,18 +582,13 @@
 	if (lin == 0) { *out = 0; lout = 0;	return; }
 
 	byte *data = 0, *pdata = 0, *pin;
-#ifdef _MSC_VER
-	// MSVC doesn't like non-const array initialisers
 	byte* cv = new byte[blockSize];
 	byte* pv = new byte[blockSize];
-#else
-	byte cv[blockSize], pv[blockSize];
-#endif//_MSC_VER
 	byte rl;
 	unsigned long bufferLength = 2 * lin;
 
 	pin = in;
-	memcpy(cv, pin, blockSize);
+	std::memcpy(cv, pin, blockSize);
 	pv[0] = ~cv[0]; // force next character to be different.
 	assert(pv[0] != cv[0]);
 	data = new byte[bufferLength];
@@ -601,7 +596,7 @@
 
 	while (pin < in + lin)
 	{
-		memcpy(cv, pin, blockSize);
+		std::memcpy(cv, pin, blockSize);
 		pin += blockSize;
 
 		assert(pin <= in + lin);
@@ -619,14 +614,12 @@
 			catch(...)
 			{
 				delete[] data;
-#ifdef _MSC_VER
 				delete[] cv;
 				delete[] pv;
-#endif//_MSC_VER
 				throw;
 			}
 
-			memcpy(tmp, data, bufferLength);
+			std::memcpy(tmp, data, bufferLength);
 			pdata = tmp + (pdata - data);
 			byte* tmp2 = data;
 			data = tmp;
@@ -634,12 +627,12 @@
 			bufferLength *= 2;
 		}
 
-		memcpy(pdata, cv, blockSize);
+		std::memcpy(pdata, cv, blockSize);
 		pdata += blockSize;
 
 		if (memcmp(cv, pv, blockSize) == 0 && pin < in + lin)
 		{
-			memcpy(&rl, pin, sizeof(byte));
+			std::memcpy(&rl, pin, sizeof(byte));
 			pin += sizeof(byte);
 			assert(pin <= in + lin);
 			if (
@@ -657,14 +650,12 @@
 				catch(...)
 				{
 					delete[] data;
-#ifdef _MSC_VER
 					delete[] cv;
 					delete[] pv;
-#endif//_MSC_VER
 					throw;
 				}
 
-				memcpy(tmp, data, bufferLength);
+				std::memcpy(tmp, data, bufferLength);
 				pdata = tmp + (pdata - data);
 				byte* tmp2 = data;
 				data = tmp;
@@ -674,15 +665,15 @@
 
 			while (rl > 0)
 			{
-				memcpy(pdata, cv, blockSize);
+				std::memcpy(pdata, cv, blockSize);
 				pdata += blockSize;
 				rl--;
 			}
-			memcpy(cv, pin, blockSize);
+			std::memcpy(cv, pin, blockSize);
 			pv[0] = ~cv[0];
 			assert(pv[0] != cv[0]);
 		}
-		else memcpy(pv, cv, blockSize);
+		else std::memcpy(pv, cv, blockSize);
 	}
 
 	lout = pdata - data;
@@ -694,19 +685,15 @@
 	catch(...)
 	{
 		delete[] data;
-#ifdef _MSC_VER
 		delete[] cv;
 		delete[] pv;
-#endif//_MSC_VER
 		throw;
 	}
 
-	memcpy(*out, data, lout);
+	std::memcpy(*out, data, lout);
 	delete[] data;
-#ifdef _MSC_VER
 	delete[] cv;
 	delete[] pv;
-#endif//_MSC_VER
 }
 
 #if HAVE_GETTIMEOFDAY

Modified: trunk/qgis/src/core/symbology/qgsmarkercatalogue.cpp
===================================================================
--- trunk/qgis/src/core/symbology/qgsmarkercatalogue.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/core/symbology/qgsmarkercatalogue.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -264,8 +264,6 @@
     }
   else if (name == "star")
     {
-      int oneThird = 2*r/3;
-      int twoThird = 4*r/3;
       int oneSixth = 2*r/6;
 
       QPolygon pa(10);

Modified: trunk/qgis/src/gui/qgisinterface.h
===================================================================
--- trunk/qgis/src/gui/qgisinterface.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/gui/qgisinterface.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -48,7 +48,7 @@
 
 class GUI_EXPORT QgisInterface : public QObject
 {
-  Q_OBJECT;
+  Q_OBJECT
 
   public:
 

Modified: trunk/qgis/src/gui/qgsdetaileditemdelegate.cpp
===================================================================
--- trunk/qgis/src/gui/qgsdetaileditemdelegate.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/gui/qgsdetaileditemdelegate.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -54,7 +54,6 @@
   {
     QgsDetailedItemData myData = 
       qVariantValue<QgsDetailedItemData>(theIndex.data(Qt::UserRole));
-    bool myCheckState = theIndex.model()->data(theIndex, Qt::CheckStateRole).toBool();
     if (myData.isRenderedAsWidget())
     {
       paintAsWidget(thepPainter,theOption,myData);

Modified: trunk/qgis/src/gui/qgsdetaileditemdelegate.h
===================================================================
--- trunk/qgis/src/gui/qgsdetaileditemdelegate.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/gui/qgsdetaileditemdelegate.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -30,7 +30,7 @@
 class GUI_EXPORT QgsDetailedItemDelegate : 
      public QAbstractItemDelegate 
 {
-  Q_OBJECT;
+  Q_OBJECT
   public:
     QgsDetailedItemDelegate(QObject * parent = 0);
     ~QgsDetailedItemDelegate();

Modified: trunk/qgis/src/gui/qgsdetaileditemwidget.h
===================================================================
--- trunk/qgis/src/gui/qgsdetaileditemwidget.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/gui/qgsdetaileditemwidget.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -24,7 +24,7 @@
 class QgsDetailedItemWidget : 
      public QWidget, private Ui::QgsDetailedItemWidgetBase
 {
-  Q_OBJECT;
+  Q_OBJECT
   public:
     QgsDetailedItemWidget(QWidget * parent = 0);
     ~QgsDetailedItemWidget();

Modified: trunk/qgis/src/gui/qgsfiledropedit.cpp
===================================================================
--- trunk/qgis/src/gui/qgsfiledropedit.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/gui/qgsfiledropedit.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -83,9 +83,9 @@
   if (event->mimeData()->hasUrls())
   {
     QFileInfo file(event->mimeData()->urls().first().toLocalFile());
-    if ( !( mFileOnly && !file.isFile() ||
-        mDirOnly && !file.isDir() ||
-        !mSuffix.isEmpty() && mSuffix.compare(file.suffix(), Qt::CaseInsensitive) ) )
+    if ( !( (mFileOnly && !file.isFile()) ||
+            (mDirOnly && !file.isDir()) ||
+            (!mSuffix.isEmpty() && mSuffix.compare(file.suffix(), Qt::CaseInsensitive)) ) )
       path = file.filePath();
   }
   return path;

Modified: trunk/qgis/src/gui/qgsgenericprojectionselector.h
===================================================================
--- trunk/qgis/src/gui/qgsgenericprojectionselector.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/gui/qgsgenericprojectionselector.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -30,7 +30,7 @@
 
 class GUI_EXPORT QgsGenericProjectionSelector : public QDialog, private Ui::QgsGenericProjectionSelectorBase
 {
-  Q_OBJECT;
+  Q_OBJECT
   public:
     /**
      * Constructor

Modified: trunk/qgis/src/gui/qgsmapcanvas.h
===================================================================
--- trunk/qgis/src/gui/qgsmapcanvas.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/gui/qgsmapcanvas.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -91,7 +91,7 @@
 
 class GUI_EXPORT QgsMapCanvas : public QGraphicsView
 {
-    Q_OBJECT;
+    Q_OBJECT
 
   public:
     

Modified: trunk/qgis/src/gui/qgsmapoverviewcanvas.h
===================================================================
--- trunk/qgis/src/gui/qgsmapoverviewcanvas.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/gui/qgsmapoverviewcanvas.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -34,7 +34,7 @@
 
 class GUI_EXPORT QgsMapOverviewCanvas : public QWidget
 {
-  Q_OBJECT;
+  Q_OBJECT
   
   public:
     QgsMapOverviewCanvas(QWidget * parent = 0, QgsMapCanvas* mapCanvas = NULL);

Modified: trunk/qgis/src/gui/qgsquickprint.cpp
===================================================================
--- trunk/qgis/src/gui/qgsquickprint.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/gui/qgsquickprint.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -132,8 +132,7 @@
   // the screen resolution is which we store and then 
   // reset the resolution of the printer after that...
   QPrinter myPrinter ( QPrinter::ScreenResolution ); 
-  int myScreenResolutionDpi = myPrinter.resolution(); //try to get programmatically
-  //
+
   // Try to force the printer resolution to 300dpi
   // to get past platform specific defaults in printer
   // resolution...
@@ -410,7 +409,6 @@
       if ( mypVectorLayer )
       {
         QString myLayerName = mypVectorLayer->name();
-        int myLayerNameWidth = myLegendFontMetrics.width(myLayerName);
         QIcon myIcon;
         QPixmap myPixmap ( QSize ( myIconWidth, myIconWidth ) ); //square
         //based on code from qgslegendlayer.cpp - see that file for more info
@@ -445,7 +443,6 @@
           }
           myLegendXPos += myIconWidth + myLegendSpacer;
           myPrintPainter.setPen( Qt::black );
-          int myMaximumLabelWidth = myLegendDimensionX - myLegendXPos;
           QStringList myWrappedLayerNameList = wordWrap(myLayerName, 
               myLegendFontMetrics, 
               myLegendDimensionX - myIconWidth);
@@ -547,9 +544,7 @@
             }
             myLabel = myLabel.trimmed();
             myLegendXPos += myIconWidth + myLegendSpacer;
-            int myLabelWidth = myLegendFontMetrics.width(myLabel);
             myPrintPainter.setPen( Qt::black );
-            //
 
             QStringList myWrappedLayerNameList = wordWrap(myLabel, 
                 myLegendFontMetrics, 

Modified: trunk/qgis/src/gui/qgsquickprint.h
===================================================================
--- trunk/qgis/src/gui/qgsquickprint.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/gui/qgsquickprint.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -36,7 +36,7 @@
 */
 class GUI_EXPORT QgsQuickPrint:public QObject
 {
-  Q_OBJECT;
+  Q_OBJECT
   public:
       
   QgsQuickPrint();

Modified: trunk/qgis/src/plugins/coordinate_capture/coordinatecapture.h
===================================================================
--- trunk/qgis/src/plugins/coordinate_capture/coordinatecapture.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/plugins/coordinate_capture/coordinatecapture.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -61,7 +61,7 @@
 */
 class CoordinateCapture:public QObject, public QgisPlugin
 {
-  Q_OBJECT;
+  Q_OBJECT
   public:
       
   //////////////////////////////////////////////////////////////////////

Modified: trunk/qgis/src/plugins/coordinate_capture/coordinatecapturemaptool.h
===================================================================
--- trunk/qgis/src/plugins/coordinate_capture/coordinatecapturemaptool.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/plugins/coordinate_capture/coordinatecapturemaptool.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -30,7 +30,7 @@
 */
 class CoordinateCaptureMapTool : public QgsMapTool
 {
-  Q_OBJECT;
+  Q_OBJECT
 
   public:
     CoordinateCaptureMapTool(QgsMapCanvas* thepCanvas);

Modified: trunk/qgis/src/plugins/copyright_label/plugingui.h
===================================================================
--- trunk/qgis/src/plugins/copyright_label/plugingui.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/plugins/copyright_label/plugingui.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -21,7 +21,7 @@
 */
 class QgsCopyrightLabelPluginGui : public QDialog, private Ui::QgsCopyrightLabelPluginGuiBase
 {
-Q_OBJECT;
+    Q_OBJECT
 public:
     QgsCopyrightLabelPluginGui( QWidget* parent = 0, Qt::WFlags fl = 0 );
     ~QgsCopyrightLabelPluginGui();

Modified: trunk/qgis/src/plugins/grass/CMakeLists.txt
===================================================================
--- trunk/qgis/src/plugins/grass/CMakeLists.txt	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/plugins/grass/CMakeLists.txt	2008-08-23 14:06:01 UTC (rev 9133)
@@ -83,20 +83,6 @@
 QT4_ADD_RESOURCES(GRASS_PLUGIN_RCC_SRCS ${GRASS_PLUGIN_RCCS})
 
 ########################################################
-# deal with warnings
-IF (NOT MSVC)
-  IF (PEDANTIC)
-    MESSAGE("providers/grass : -Werror removed for qgsgrassplugin.cpp for now - please get rid of any compiler warnings!")
-  ENDIF (PEDANTIC)
-  # The warnings are caused by multiple definitions of NDEBUG in grass sources
-  # I have submitted a bug to teh grass folks in the meantime we need to
-  # disable treating warnings as errors for the affected files
-  FILE (GLOB files *.cpp)
-  SET_SOURCE_FILES_PROPERTIES(${files} PROPERTIES COMPILE_FLAGS -Wno-error )
-  SET_SOURCE_FILES_PROPERTIES(${GRASS_PLUGIN_MOC_SRCS} PROPERTIES COMPILE_FLAGS -Wno-error )
-ENDIF (NOT MSVC)
-
-########################################################
 # build lib
 
 ADD_LIBRARY (grassplugin MODULE 

Modified: trunk/qgis/src/plugins/grass/qgsgrassattributes.cpp
===================================================================
--- trunk/qgis/src/plugins/grass/qgsgrassattributes.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/plugins/grass/qgsgrassattributes.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -61,7 +61,7 @@
   mTable = tab;
 }
 
-QgsGrassAttributesKeyPress::~QgsGrassAttributesKeyPress () {};
+QgsGrassAttributesKeyPress::~QgsGrassAttributesKeyPress () {}
 
 bool QgsGrassAttributesKeyPress::eventFilter( QObject *o, QEvent *e )
 {

Modified: trunk/qgis/src/plugins/grass/qgsgrassattributes.h
===================================================================
--- trunk/qgis/src/plugins/grass/qgsgrassattributes.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/plugins/grass/qgsgrassattributes.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -30,7 +30,7 @@
 
 class QgsGrassAttributesKeyPress : public QObject
 {
-    Q_OBJECT;
+    Q_OBJECT
 
 public:
     QgsGrassAttributesKeyPress ( Q3Table *tab );
@@ -50,7 +50,7 @@
  */
 class QgsGrassAttributes: public QDialog, private Ui::QgsGrassAttributesBase
 {
-    Q_OBJECT;
+    Q_OBJECT
 
 public:
     //! Constructor

Modified: trunk/qgis/src/plugins/grass/qgsgrassbrowser.h
===================================================================
--- trunk/qgis/src/plugins/grass/qgsgrassbrowser.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/plugins/grass/qgsgrassbrowser.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -32,7 +32,7 @@
  */
 class QgsGrassBrowser: public QMainWindow
 {
-    Q_OBJECT;
+    Q_OBJECT
 
 public:
     //! Constructor

Modified: trunk/qgis/src/plugins/grass/qgsgrassedit.h
===================================================================
--- trunk/qgis/src/plugins/grass/qgsgrassedit.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/plugins/grass/qgsgrassedit.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -69,7 +69,7 @@
  */
 class QgsGrassEdit: public QMainWindow, private Ui::QgsGrassEditBase
 {
-    Q_OBJECT;
+    Q_OBJECT
 
 public:
     //! Tools

Modified: trunk/qgis/src/plugins/grass/qgsgrassmodel.h
===================================================================
--- trunk/qgis/src/plugins/grass/qgsgrassmodel.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/plugins/grass/qgsgrassmodel.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -35,7 +35,7 @@
  */
 class QgsGrassModel: public QAbstractItemModel
 {
-    Q_OBJECT;
+    Q_OBJECT
 
 public:
     //! Constructor

Modified: trunk/qgis/src/plugins/grass/qgsgrassmodule.cpp
===================================================================
--- trunk/qgis/src/plugins/grass/qgsgrassmodule.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/plugins/grass/qgsgrassmodule.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -277,7 +277,7 @@
 
     QWidget *w = dynamic_cast<QWidget *>(mOptions);
 
-    layout->addWidget ( dynamic_cast<QWidget *>(mOptions), 0, 0 );
+    layout->addWidget ( w, 0, 0 );
   }
   else
   {
@@ -819,17 +819,16 @@
 
     struct Cell_head window;
 
-    QgsGrassModuleInput *item = dynamic_cast<QgsGrassModuleInput *>
-      (mItems[i]);
+    QgsGrassModuleInput *item = dynamic_cast<QgsGrassModuleInput *>(mItems[i]);
 
-    int mapType;
+    QgsGrass::MapType mapType = QgsGrass::Vector;
     switch ( item->type() ) {
-  case QgsGrassModuleInput::Raster :
-    mapType = QgsGrass::Raster;
-    break;
-  case QgsGrassModuleInput::Vector :
-    mapType = QgsGrass::Vector;
-    break;
+      case QgsGrassModuleInput::Raster :
+        mapType = QgsGrass::Raster;
+        break;
+      case QgsGrassModuleInput::Vector :
+        mapType = QgsGrass::Vector;
+        break;
     }
 
     QStringList mm = item->currentMap().split("@");
@@ -879,12 +878,12 @@
 
     struct Cell_head mapWindow;
 
-    QgsGrassModuleInput *item = dynamic_cast<QgsGrassModuleInput *>
-      (mItems[i]);
+    QgsGrassModuleInput *item = dynamic_cast<QgsGrassModuleInput *>(mItems[i]);
 
     if  ( !all && !item->useRegion() ) continue;
 
-    int mapType;
+    QgsGrass::MapType mapType = QgsGrass::Vector;
+
     switch ( item->type() ) {
     case QgsGrassModuleInput::Raster :
       mapType = QgsGrass::Raster;
@@ -1182,7 +1181,7 @@
           "Input " + outsideRegion.join(",") + " outside current region!",  
           QMessageBox::Ok | QMessageBox::Cancel );
         QPushButton *resetButton = NULL;
-        if  ( QgsGrass::versionMajor() > 6 || QgsGrass::versionMajor() == 6 && QgsGrass::versionMinor() >= 1 )
+        if ( QgsGrass::versionMajor() > 6 || (QgsGrass::versionMajor() == 6 && QgsGrass::versionMinor() >= 1) )
         {
           resetButton = questionBox.addButton(tr("Use Input Region"), QMessageBox::DestructiveRole);
         }

Modified: trunk/qgis/src/plugins/grass/qgsgrassmodule.h
===================================================================
--- trunk/qgis/src/plugins/grass/qgsgrassmodule.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/plugins/grass/qgsgrassmodule.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -62,7 +62,7 @@
  */
 class QgsGrassModule: public QDialog, private  Ui::QgsGrassModuleBase 
 {
-    Q_OBJECT;
+    Q_OBJECT
 
 public:
     //! Constructor
@@ -360,7 +360,7 @@
  */
 class QgsGrassModuleOption: public QGroupBox, public QgsGrassModuleItem
 {
-    Q_OBJECT;
+    Q_OBJECT
 
 public:
     /*! \brief Constructor
@@ -460,7 +460,7 @@
  */
 class QgsGrassModuleFlag: public QCheckBox, public QgsGrassModuleItem
 {
-    Q_OBJECT;
+    Q_OBJECT
 
 public:
     /*! \brief Constructor
@@ -485,7 +485,7 @@
  */
 class QgsGrassModuleInput: public QGroupBox, public QgsGrassModuleItem
 {
-    Q_OBJECT;
+    Q_OBJECT
 
 public:
     /*! \brief Constructor
@@ -592,7 +592,7 @@
  */
 class QgsGrassModuleGdalInput: public Q3GroupBox, public QgsGrassModuleItem
 {
-    Q_OBJECT;
+    Q_OBJECT
 
 public:
     /*! \brief Constructor
@@ -646,7 +646,7 @@
  */
 class QgsGrassModuleField: public Q3GroupBox, public QgsGrassModuleItem
 {
-    Q_OBJECT;
+    Q_OBJECT
 
 public:
     /*! \brief Constructor
@@ -693,7 +693,7 @@
  */
 class QgsGrassModuleSelection: public Q3GroupBox, public QgsGrassModuleItem
 {
-    Q_OBJECT;
+    Q_OBJECT
 
 public:
     /*! \brief Constructor
@@ -744,7 +744,7 @@
  */
 class QgsGrassModuleFile: public QGroupBox, public QgsGrassModuleItem
 {
-    Q_OBJECT;
+    Q_OBJECT
 
 public:
     /*! \brief Constructor

Modified: trunk/qgis/src/plugins/grass/qgsgrassnewmapset.cpp
===================================================================
--- trunk/qgis/src/plugins/grass/qgsgrassnewmapset.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/plugins/grass/qgsgrassnewmapset.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -970,7 +970,7 @@
     }
   }
 
-  double n, s, e, w;
+  double n=-90.0, s=90.0, e=-180.0, w=180.0;
 
   if ( mCellHead.proj == PROJECTION_LL ) 
   {

Modified: trunk/qgis/src/plugins/grass/qgsgrassnewmapset.h
===================================================================
--- trunk/qgis/src/plugins/grass/qgsgrassnewmapset.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/plugins/grass/qgsgrassnewmapset.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -50,7 +50,7 @@
  */
 class QgsGrassNewMapset : public Q3Wizard, private Ui::QgsGrassNewMapsetBase
 {
-    Q_OBJECT;
+    Q_OBJECT
 
 public:
 

Modified: trunk/qgis/src/plugins/grass/qgsgrassregion.h
===================================================================
--- trunk/qgis/src/plugins/grass/qgsgrassregion.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/plugins/grass/qgsgrassregion.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -39,7 +39,7 @@
  */
 class QgsGrassRegion: public QDialog, private Ui::QgsGrassRegionBase
 {
-    Q_OBJECT;
+    Q_OBJECT
 
 public:
     //! Constructor

Modified: trunk/qgis/src/plugins/grass/qgsgrassselect.cpp
===================================================================
--- trunk/qgis/src/plugins/grass/qgsgrassselect.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/plugins/grass/qgsgrassselect.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -384,7 +384,7 @@
   QgsGrass::resetError();
   Vect_set_open_level (2);
   struct Map_info map;
-  int level;
+  int level = -1;
 
   // Mechanism to recover from fatal errors in GRASS
   // Since fatal error routine in GRASS >= 6.3 terminates the process,
@@ -394,8 +394,7 @@
   // this time setjmp() will return non-zero value and we can continue...
   if (setjmp(QgsGrass::fatalErrorEnv()) == 0)
   {
-    level = Vect_open_old_head (&map, (char *) mapName.ascii(), 
-      (char *) mapset.ascii());
+    level = Vect_open_old_head (&map, (char *) mapName.ascii(), (char *) mapset.ascii());
   }
   QgsGrass::clearErrorEnv();
 

Modified: trunk/qgis/src/plugins/grass/qgsgrassselect.h
===================================================================
--- trunk/qgis/src/plugins/grass/qgsgrassselect.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/plugins/grass/qgsgrassselect.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -23,7 +23,7 @@
  */
 class QgsGrassSelect: public QDialog, private Ui::QgsGrassSelectBase
 {
-    Q_OBJECT;
+    Q_OBJECT
 
 public:
     //! Constructor

Modified: trunk/qgis/src/plugins/grass/qgsgrassshell.h
===================================================================
--- trunk/qgis/src/plugins/grass/qgsgrassshell.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/plugins/grass/qgsgrassshell.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -72,7 +72,7 @@
 
 class QgsGrassShell: public QDialog, private Ui::QgsGrassShellBase
 {
-    Q_OBJECT;
+    Q_OBJECT
 
 public:
     QgsGrassShell ( QgsGrassTools *tools, 
@@ -222,7 +222,7 @@
 
 class QgsGrassShellText : public Q3TextEdit
 {
-    Q_OBJECT;
+    Q_OBJECT
 public:
     QgsGrassShellText ( QgsGrassShell *, 
 	                QWidget * parent = 0, const char * name = 0 );

Modified: trunk/qgis/src/plugins/grass/qgsgrasstools.h
===================================================================
--- trunk/qgis/src/plugins/grass/qgsgrasstools.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/plugins/grass/qgsgrasstools.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -53,7 +53,7 @@
  */
 class QgsGrassTools: public QDialog, private Ui::QgsGrassToolsBase
 {
-    Q_OBJECT;
+    Q_OBJECT
 
 public:
     //! Constructor

Modified: trunk/qgis/src/plugins/grass/qgsgrassutils.h
===================================================================
--- trunk/qgis/src/plugins/grass/qgsgrassutils.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/plugins/grass/qgsgrassutils.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -54,7 +54,7 @@
  */
 class QgsGrassElementDialog: public QObject
 {
-    Q_OBJECT;
+    Q_OBJECT
 
 public:
     //! Constructor

Modified: trunk/qgis/src/plugins/plugin_template/plugin.h
===================================================================
--- trunk/qgis/src/plugins/plugin_template/plugin.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/plugins/plugin_template/plugin.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -55,7 +55,7 @@
 */
 class [pluginname]:public QObject, public QgisPlugin
 {
-  Q_OBJECT;
+  Q_OBJECT
   public:
       
   //////////////////////////////////////////////////////////////////////

Modified: trunk/qgis/src/plugins/quick_print/quickprintgui.cpp
===================================================================
--- trunk/qgis/src/plugins/quick_print/quickprintgui.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/plugins/quick_print/quickprintgui.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -28,8 +28,8 @@
 //standard includes
 
 QuickPrintGui::QuickPrintGui( QgsMapCanvas * thepMapCanvas, 
-    QWidget* parent,  Qt::WFlags fl )
-: mpMapCanvas ( thepMapCanvas ), QDialog ( parent, fl ) 
+    QWidget* parent,  Qt::WFlags fl ) :
+        QDialog ( parent, fl ), mpMapCanvas ( thepMapCanvas )
 {
   setupUi(this);
   grpOuput->hide();  //until properly implemented

Modified: trunk/qgis/src/plugins/quick_print/quickprintplugin.h
===================================================================
--- trunk/qgis/src/plugins/quick_print/quickprintplugin.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/plugins/quick_print/quickprintplugin.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -57,7 +57,7 @@
 */
 class QuickPrintPlugin:public QObject, public QgisPlugin
 {
-  Q_OBJECT;
+  Q_OBJECT
   public:
       
   //////////////////////////////////////////////////////////////////////

Modified: trunk/qgis/src/plugins/scale_bar/plugingui.h
===================================================================
--- trunk/qgis/src/plugins/scale_bar/plugingui.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/plugins/scale_bar/plugingui.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -20,7 +20,7 @@
 */
 class QgsScaleBarPluginGui : public QDialog, private Ui::QgsScaleBarPluginGuiBase
 {
-Q_OBJECT;
+Q_OBJECT
 public:
     QgsScaleBarPluginGui( QWidget* parent = 0, Qt::WFlags fl = 0 );
     ~QgsScaleBarPluginGui();

Modified: trunk/qgis/src/plugins/spit/qgsspit.h
===================================================================
--- trunk/qgis/src/plugins/spit/qgsspit.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/plugins/spit/qgsspit.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -37,7 +37,7 @@
 
 class QgsSpit : public QDialog, private Ui::QgsSpitBase
 {
-  Q_OBJECT;
+  Q_OBJECT
 public:
   QgsSpit( QWidget *parent = 0, Qt::WFlags fl = 0 );
   ~QgsSpit();
@@ -124,7 +124,7 @@
 
 class ShapefileTableDelegate : public QItemDelegate
 {
-  Q_OBJECT;
+  Q_OBJECT
 
  public:
   ShapefileTableDelegate(QObject *parent, QStringList& schema_list) :

Modified: trunk/qgis/src/providers/delimitedtext/qgsdelimitedtextprovider.h
===================================================================
--- trunk/qgis/src/providers/delimitedtext/qgsdelimitedtextprovider.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/providers/delimitedtext/qgsdelimitedtextprovider.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -42,7 +42,7 @@
 */
 class QgsDelimitedTextProvider : public QgsVectorDataProvider
 {
-  Q_OBJECT;
+  Q_OBJECT
 
 public:
 

Modified: trunk/qgis/src/providers/memory/memoryprovider.cpp
===================================================================
--- trunk/qgis/src/providers/memory/memoryprovider.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/providers/memory/memoryprovider.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -28,8 +28,8 @@
 
 QgsMemoryProvider::QgsMemoryProvider(QString uri)
   : QgsVectorDataProvider(uri),
-    mSpatialIndex(NULL),
-    mSelectRectGeom(NULL)
+    mSelectRectGeom(NULL),
+    mSpatialIndex(NULL)
 {
   if (uri == "Point")
     mWkbType = QGis::WKBPoint;

Modified: trunk/qgis/src/providers/ogr/qgsogrprovider.cpp
===================================================================
--- trunk/qgis/src/providers/ogr/qgsogrprovider.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/providers/ogr/qgsogrprovider.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -471,7 +471,6 @@
   bool returnValue = true;
   OGRFeatureDefnH fdef=OGR_L_GetLayerDefn(ogrLayer);
   OGRFeatureH feature= OGR_F_Create(fdef);
-  QGis::WKBTYPE ftype = f.geometry()->wkbType();
   unsigned char* wkb = f.geometry()->wkbBuffer();
 
   if( f.geometry()->wkbSize() > 0 )
@@ -1263,18 +1262,18 @@
 
   uniqueValues.clear();
 
-  OGRLayerH l = OGR_DS_ExecuteSQL(ogrDataSource, sql.toAscii(), NULL, "SQL");
-  if(l==0)
+  OGRLayerH lyr = OGR_DS_ExecuteSQL(ogrDataSource, sql.toAscii(), NULL, "SQL");
+  if( 0 == lyr )
     return;
 
   OGRFeatureH f;
-  while( f=OGR_L_GetNextFeature(l) )
+  while( 0 != (f = OGR_L_GetNextFeature(lyr)) )
   {
     uniqueValues.append( mEncoding->toUnicode(OGR_F_GetFieldAsString(f, 0)) );
     OGR_F_Destroy(f);
   }
 
-  OGR_DS_ReleaseResultSet(ogrDataSource, l);
+  OGR_DS_ReleaseResultSet(ogrDataSource, lyr);
 }
 
 

Modified: trunk/qgis/src/providers/postgres/qgspostgresprovider.cpp
===================================================================
--- trunk/qgis/src/providers/postgres/qgspostgresprovider.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/providers/postgres/qgspostgresprovider.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -55,10 +55,10 @@
 
 QgsPostgresProvider::QgsPostgresProvider(QString const & uri)
 : QgsVectorDataProvider(uri),
+  mFetching(false),
   geomType(QGis::WKBUnknown),
   mFeatureQueueSize(200),
-  gotPostgisVersion(false),
-  mFetching(false)
+  gotPostgisVersion(false)
 {
   // assume this is a valid layer until we determine otherwise
   valid = true;

Modified: trunk/qgis/src/providers/postgres/qgspostgresprovider.h
===================================================================
--- trunk/qgis/src/providers/postgres/qgspostgresprovider.h	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/providers/postgres/qgspostgresprovider.h	2008-08-23 14:06:01 UTC (rev 9133)
@@ -49,7 +49,7 @@
   */
 class QgsPostgresProvider : public QgsVectorDataProvider
 {
-  Q_OBJECT;
+  Q_OBJECT
 
   public:
     /**

Modified: trunk/qgis/src/providers/wfs/CMakeLists.txt
===================================================================
--- trunk/qgis/src/providers/wfs/CMakeLists.txt	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/providers/wfs/CMakeLists.txt	2008-08-23 14:06:01 UTC (rev 9133)
@@ -9,12 +9,12 @@
      qgswfsprovider.h
 )
 
-IF(NOT MSVC)
-  IF (PEDANTIC)
-    MESSAGE("providers/wfs : -Werror removed for qgswfsprovider.cpp for now - please get rid of any compiler warnings!")
-  ENDIF (PEDANTIC)
-  SET_SOURCE_FILES_PROPERTIES(qgswfsprovider.cpp PROPERTIES COMPILE_FLAGS -Wno-error )
-ENDIF (NOT MSVC)
+#IF(NOT MSVC)
+#  IF (PEDANTIC)
+#    MESSAGE("providers/wfs : -Werror removed for qgswfsprovider.cpp for now - please get rid of any compiler warnings!")
+#  ENDIF (PEDANTIC)
+#  SET_SOURCE_FILES_PROPERTIES(qgswfsprovider.cpp PROPERTIES COMPILE_FLAGS -Wno-error )
+#ENDIF (NOT MSVC)
 ########################################################
 # Build
 

Modified: trunk/qgis/src/providers/wfs/qgswfsprovider.cpp
===================================================================
--- trunk/qgis/src/providers/wfs/qgswfsprovider.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/src/providers/wfs/qgswfsprovider.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -212,7 +212,6 @@
     {
       return getFeatureFILE(uri, geometryAttribute); //read the features from disk
     }
-  return 2;
 }
 
 int QgsWFSProvider::describeFeatureType(const QString& uri, QString& geometryAttribute, QgsFieldMap& fields)
@@ -718,6 +717,8 @@
 	  return 5;
 	}
     }
+  else
+    epsgId = GEOEPSG_ID;
 
   if(!mSourceCRS.createFromEpsg(epsgId))
     {

Modified: trunk/qgis/tests/src/core/qgsrenderchecker.cpp
===================================================================
--- trunk/qgis/tests/src/core/qgsrenderchecker.cpp	2008-08-23 13:54:45 UTC (rev 9132)
+++ trunk/qgis/tests/src/core/qgsrenderchecker.cpp	2008-08-23 14:06:01 UTC (rev 9133)
@@ -107,7 +107,7 @@
   // Set pixel count score and target
   //
   mMatchTarget = myExpectedImage.width() * myExpectedImage.height();
-  int myPixelCount = myResultImage.width() * myResultImage.height();
+  unsigned int myPixelCount = myResultImage.width() * myResultImage.height();
   //
   // Set the report with the result
   //



More information about the QGIS-commit mailing list