[QGIS-trac] Re: [Quantum GIS] #3583: patch to use the same pal instance for labeling-ng and for diagrams

Quantum GIS qgis at qgis.org
Wed Mar 9 12:26:18 EST 2011


#3583: patch to use the same pal instance for labeling-ng and for diagrams
---------------------------------------------------------+------------------
   Reporter:  mhugent                                    |              Owner:  nobody       
       Type:  patch                                      |             Status:  new          
   Priority:  critical: causes crash or data corruption  |          Milestone:  Version 1.7.0
  Component:  Build/Install                              |            Version:               
   Keywords:                                             |   Platform_version:               
   Platform:  Debian                                     |           Must_fix:  No           
Status_info:  0                                          |  
---------------------------------------------------------+------------------

Comment(by timlinux):

 With patch 3 I now get:

 {{{
 [ 12%] Building CXX object
 src/core/CMakeFiles/qgis_core.dir/qgspallabeling.cpp.o
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagram.cpp:195: error:
 redefinition of ‘QgsTextDiagram::QgsTextDiagram()’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagram.cpp:7: error:
 ‘QgsTextDiagram::QgsTextDiagram()’ previously defined here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagram.cpp:203: error:
 redefinition of ‘QgsTextDiagram::~QgsTextDiagram()’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagram.cpp:15: error:
 ‘QgsTextDiagram::~QgsTextDiagram()’ previously defined here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagram.cpp:207: error:
 redefinition of ‘void QgsTextDiagram::renderDiagram(const
 QgsAttributeMap&, QgsRenderContext&, const QgsDiagramSettings&, const
 QPointF&)’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagram.cpp:19: error: ‘virtual
 void QgsTextDiagram::renderDiagram(const QgsAttributeMap&,
 QgsRenderContext&, const QgsDiagramSettings&, const QPointF&)’ previously
 defined here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagram.cpp:292: error:
 redefinition of ‘void QgsTextDiagram::lineEllipseIntersection(const
 QPointF&, const QPointF&, const QPointF&, double, double, QList<QPointF>&)
 const’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagram.cpp:104: error: ‘void
 QgsTextDiagram::lineEllipseIntersection(const QPointF&, const QPointF&,
 const QPointF&, double, double, QList<QPointF>&) const’ previously defined
 here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagram.cpp:323: error:
 redefinition of ‘QgsPieDiagram::QgsPieDiagram()’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagram.cpp:135: error:
 ‘QgsPieDiagram::QgsPieDiagram()’ previously defined here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagram.cpp:329: error:
 redefinition of ‘QgsPieDiagram::~QgsPieDiagram()’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagram.cpp:141: error:
 ‘QgsPieDiagram::~QgsPieDiagram()’ previously defined here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagram.cpp:333: error:
 redefinition of ‘void QgsPieDiagram::renderDiagram(const QgsAttributeMap&,
 QgsRenderContext&, const QgsDiagramSettings&, const QPointF&)’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagram.cpp:145: error: ‘virtual
 void QgsPieDiagram::renderDiagram(const QgsAttributeMap&,
 QgsRenderContext&, const QgsDiagramSettings&, const QPointF&)’ previously
 defined here
 make[2]: *** [src/core/CMakeFiles/qgis_core.dir/qgsdiagram.cpp.o] Error 1
 make[2]: *** Waiting for unfinished jobs....
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:313: error:
 redefinition of ‘void QgsDiagramLayerSettings::readXML(const
 QDomElement&)’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:8: error:
 ‘void QgsDiagramLayerSettings::readXML(const QDomElement&)’ previously
 defined here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:324: error:
 redefinition of ‘void QgsDiagramLayerSettings::writeXML(QDomElement&,
 QDomDocument&) const’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:19: error:
 ‘void QgsDiagramLayerSettings::writeXML(QDomElement&, QDomDocument&)
 const’ previously defined here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:337: error:
 redefinition of ‘void QgsDiagramSettings::readXML(const QDomElement&)’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:32: error:
 ‘void QgsDiagramSettings::readXML(const QDomElement&)’ previously defined
 here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:362: error:
 redefinition of ‘void QgsDiagramSettings::writeXML(QDomElement&,
 QDomDocument&) const’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:57: error:
 ‘void QgsDiagramSettings::writeXML(QDomElement&, QDomDocument&) const’
 previously defined here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:396: error:
 redefinition of ‘QgsDiagramRendererV2::QgsDiagramRendererV2()’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:91: error:
 ‘QgsDiagramRendererV2::QgsDiagramRendererV2()’ previously defined here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:400: error:
 redefinition of ‘QgsDiagramRendererV2::~QgsDiagramRendererV2()’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:95: error:
 ‘virtual QgsDiagramRendererV2::~QgsDiagramRendererV2()’ previously defined
 here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:405: error:
 redefinition of ‘void QgsDiagramRendererV2::setDiagram(QgsDiagram*)’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:100: error:
 ‘void QgsDiagramRendererV2::setDiagram(QgsDiagram*)’ previously defined
 here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:411: error:
 redefinition of ‘void QgsDiagramRendererV2::renderDiagram(const
 QgsAttributeMap&, QgsRenderContext&, const QPointF&)’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:106: error:
 ‘void QgsDiagramRendererV2::renderDiagram(const QgsAttributeMap&,
 QgsRenderContext&, const QPointF&)’ previously defined here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:427: error:
 redefinition of ‘QSizeF QgsDiagramRendererV2::sizeMapUnits(const
 QgsAttributeMap&, const QgsRenderContext&)’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:122: error:
 ‘virtual QSizeF QgsDiagramRendererV2::sizeMapUnits(const QgsAttributeMap&,
 const QgsRenderContext&)’ previously defined here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:434: error:
 redefinition of ‘void QgsDiagramRendererV2::convertSizeToMapUnits(QSizeF&,
 const QgsRenderContext&) const’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:129: error:
 ‘void QgsDiagramRendererV2::convertSizeToMapUnits(QSizeF&, const
 QgsRenderContext&) const’ previously defined here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:452: error:
 redefinition of ‘static int QgsDiagramRendererV2::dpiPaintDevice(const
 QPainter*)’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:147: error:
 ‘static int QgsDiagramRendererV2::dpiPaintDevice(const QPainter*)’
 previously defined here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:465: error:
 redefinition of ‘void QgsDiagramRendererV2::_readXML(const QDomElement&)’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:160: error:
 ‘void QgsDiagramRendererV2::_readXML(const QDomElement&)’ previously
 defined here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:483: error:
 redefinition of ‘void QgsDiagramRendererV2::_writeXML(QDomElement&,
 QDomDocument&) const’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:178: error:
 ‘void QgsDiagramRendererV2::_writeXML(QDomElement&, QDomDocument&) const’
 previously defined here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:491: error:
 redefinition of
 ‘QgsSingleCategoryDiagramRenderer::QgsSingleCategoryDiagramRenderer()’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:186: error:
 ‘QgsSingleCategoryDiagramRenderer::QgsSingleCategoryDiagramRenderer()’
 previously defined here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:495: error:
 redefinition of
 ‘QgsSingleCategoryDiagramRenderer::~QgsSingleCategoryDiagramRenderer()’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:190: error:
 ‘virtual
 QgsSingleCategoryDiagramRenderer::~QgsSingleCategoryDiagramRenderer()’
 previously defined here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:499: error:
 redefinition of ‘bool
 QgsSingleCategoryDiagramRenderer::diagramSettings(const QgsAttributeMap&,
 const QgsRenderContext&, QgsDiagramSettings&)’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:194: error:
 ‘virtual bool QgsSingleCategoryDiagramRenderer::diagramSettings(const
 QgsAttributeMap&, const QgsRenderContext&, QgsDiagramSettings&)’
 previously defined here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:505: error:
 redefinition of ‘QList<QgsDiagramSettings>
 QgsSingleCategoryDiagramRenderer::diagramSettings() const’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:200: error:
 ‘virtual QList<QgsDiagramSettings>
 QgsSingleCategoryDiagramRenderer::diagramSettings() const’ previously
 defined here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:512: error:
 redefinition of ‘void QgsSingleCategoryDiagramRenderer::readXML(const
 QDomElement&)’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:207: error:
 ‘virtual void QgsSingleCategoryDiagramRenderer::readXML(const
 QDomElement&)’ previously defined here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:524: error:
 redefinition of ‘void
 QgsSingleCategoryDiagramRenderer::writeXML(QDomElement&, QDomDocument&)
 const’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:219: error:
 ‘virtual void QgsSingleCategoryDiagramRenderer::writeXML(QDomElement&,
 QDomDocument&) const’ previously defined here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:533: error:
 redefinition of
 ‘QgsLinearlyInterpolatedDiagramRenderer::QgsLinearlyInterpolatedDiagramRenderer()’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:228: error:
 ‘QgsLinearlyInterpolatedDiagramRenderer::QgsLinearlyInterpolatedDiagramRenderer()’
 previously defined here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:537: error:
 redefinition of
 ‘QgsLinearlyInterpolatedDiagramRenderer::~QgsLinearlyInterpolatedDiagramRenderer()’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:232: error:
 ‘virtual
 QgsLinearlyInterpolatedDiagramRenderer::~QgsLinearlyInterpolatedDiagramRenderer()’
 previously defined here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:541: error:
 redefinition of ‘QList<QgsDiagramSettings>
 QgsLinearlyInterpolatedDiagramRenderer::diagramSettings() const’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:236: error:
 ‘virtual QList<QgsDiagramSettings>
 QgsLinearlyInterpolatedDiagramRenderer::diagramSettings() const’
 previously defined here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:548: error:
 redefinition of ‘bool
 QgsLinearlyInterpolatedDiagramRenderer::diagramSettings(const
 QgsAttributeMap&, const QgsRenderContext&, QgsDiagramSettings&)’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:243: error:
 ‘virtual bool
 QgsLinearlyInterpolatedDiagramRenderer::diagramSettings(const
 QgsAttributeMap&, const QgsRenderContext&, QgsDiagramSettings&)’
 previously defined here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:555: error:
 redefinition of ‘QList<int>
 QgsLinearlyInterpolatedDiagramRenderer::diagramAttributes() const’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:250: error:
 ‘virtual QList<int>
 QgsLinearlyInterpolatedDiagramRenderer::diagramAttributes() const’
 previously defined here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:565: error:
 redefinition of ‘QSizeF
 QgsLinearlyInterpolatedDiagramRenderer::diagramSize(const
 QgsAttributeMap&, const QgsRenderContext&)’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:260: error:
 ‘virtual QSizeF QgsLinearlyInterpolatedDiagramRenderer::diagramSize(const
 QgsAttributeMap&, const QgsRenderContext&)’ previously defined here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:580: error:
 redefinition of ‘void
 QgsLinearlyInterpolatedDiagramRenderer::readXML(const QDomElement&)’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:275: error:
 ‘virtual void QgsLinearlyInterpolatedDiagramRenderer::readXML(const
 QDomElement&)’ previously defined here
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:597: error:
 redefinition of ‘void
 QgsLinearlyInterpolatedDiagramRenderer::writeXML(QDomElement&,
 QDomDocument&) const’
 /home/timlinux/dev/cpp/qgis/src/core/qgsdiagramrendererv2.cpp:292: error:
 ‘virtual void
 QgsLinearlyInterpolatedDiagramRenderer::writeXML(QDomElement&,
 QDomDocument&) const’ previously defined here
 make[2]: ***
 [src/core/CMakeFiles/qgis_core.dir/qgsdiagramrendererv2.cpp.o] Error 1
 /home/timlinux/dev/cpp/qgis/src/core/qgspallabeling.cpp: In member
 function ‘virtual int QgsPalLabeling::addDiagramLayer(QgsVectorLayer*,
 QgsDiagramLayerSettings&)’:
 /home/timlinux/dev/cpp/qgis/src/core/qgspallabeling.cpp:764: warning:
 ‘const QgsCoordinateReferenceSystem& QgsMapLayer::srs()’ is deprecated
 (declared at /home/timlinux/dev/cpp/qgis/src/core/qgsmaplayer.h:227)
 make[1]: *** [src/core/CMakeFiles/qgis_core.dir/all] Error 2
 make: *** [all] Error 2
 }}}

 Sorry I didnt have time to try to work out the problem myself.

 Regards

 Tim

-- 
Ticket URL: <http://trac.osgeo.org/qgis/ticket/3583#comment:5>
Quantum GIS <http://qgis.org>
Quantum GIS is an Open Source GIS viewer/editor supporting OGR, PostGIS, and GRASS formats


More information about the QGIS-trac mailing list