Hello,

I'm posting this here because my emails to qwt-interest don't seem to be getting through (they're not shown in sourceforge archives).

We're building a partial version of Qwt6 (SVN version) as part of our project build (generating qwt shared library).

Here are the gcc flags we're using:
-Wall -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Wnon-virtual-dtor -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wsign-promo -Wundef -Wwrite-strings

I'm attaching a patch (against current SVN) that fixes some of the warnings. The majority of them is about casting away const qualifiers. There's also one about QwtPlotZoomer::move() hiding QwtPlotPicker::move() and one uncertain choice of overload in QDebug operator<<( QDebug debug, const QwtScaleMap &map ).

Note that while this is the majority of warnings we get, it's not all of them. I may be able to do another full sweep later (and send another patch).

The patch: qwt_fix_warnings.diff

Cheers and thanks for the great library,
Alexander

P.S. These are the warnings I fixed:
Qt Code:
  1. qwt_dyngrid_layout.cpp: In member function ‘int QwtDynGridLayout::maxRowWidth(int) const’:
  2. qwt_dyngrid_layout.cpp:288:32: warning: cast from type ‘const QwtDynGridLayout* const’ to type ‘QwtDynGridLayout*’ casts away qualifiers
  3. qwt_dyngrid_layout.cpp: In member function ‘virtual int QwtDynGridLayout::maxItemWidth() const’:
  4. qwt_dyngrid_layout.cpp:314:32: warning: cast from type ‘const QwtDynGridLayout* const’ to type ‘QwtDynGridLayout*’ casts away qualifiers
  5. qwt_dyngrid_layout.cpp: In member function ‘QList<QRect> QwtDynGridLayout::layoutItems(const QRect&, uint) const’:
  6. qwt_dyngrid_layout.cpp:359:52: warning: cast from type ‘const QwtDynGridLayout* const’ to type ‘QwtDynGridLayout*’ casts away qualifiers
  7. qwt_dyngrid_layout.cpp: In member function ‘void QwtDynGridLayout::layoutGrid(uint, QVector<int>&, QVector<int>&) const’:
  8. qwt_dyngrid_layout.cpp:412:32: warning: cast from type ‘const QwtDynGridLayout* const’ to type ‘QwtDynGridLayout*’ casts away qualifiers
  9. qwt_legend.cpp: In member function ‘const QWidget* QwtLegend::PrivateData::LegendMap::find(const QwtLegendItemManager*) const’:
  10. qwt_legend.cpp:158:57: warning: cast from type ‘const QwtLegendItemManager*’ to type ‘QwtLegendItemManager*’ casts away qualifiers
  11. qwt_legend.cpp:161:48: warning: cast from type ‘const QwtLegendItemManager*’ to type ‘QwtLegendItemManager*’ casts away qualifiers
  12. qwt_legend.cpp: In member function ‘QWidget* QwtLegend::PrivateData::LegendMap::find(const QwtLegendItemManager*)’:
  13. qwt_legend.cpp:166:57: warning: cast from type ‘const QwtLegendItemManager*’ to type ‘QwtLegendItemManager*’ casts away qualifiers
  14. qwt_legend.cpp:169:48: warning: cast from type ‘const QwtLegendItemManager*’ to type ‘QwtLegendItemManager*’ casts away qualifiers
  15. qwt_legend.cpp: In member function ‘const QwtLegendItemManager* QwtLegend::PrivateData::LegendMap::find(const QWidget*) const’:
  16. qwt_legend.cpp:175:46: warning: cast from type ‘const QWidget*’ to type ‘QWidget*’ casts away qualifiers
  17. qwt_legend.cpp:178:37: warning: cast from type ‘const QWidget*’ to type ‘QWidget*’ casts away qualifiers
  18. qwt_legend.cpp: In member function ‘QwtLegendItemManager* QwtLegend::PrivateData::LegendMap::find(const QWidget*)’:
  19. qwt_legend.cpp:184:46: warning: cast from type ‘const QWidget*’ to type ‘QWidget*’ casts away qualifiers
  20. qwt_legend.cpp:187:63: warning: cast from type ‘const QWidget*’ to type ‘QWidget*’ casts away qualifiers
  21. qwt_legend.cpp:187:69: warning: cast from type ‘const QwtLegendItemManager*’ to type ‘QwtLegendItemManager*’ casts away qualifiers
  22. qwt_picker.cpp: In member function ‘virtual void QwtPicker::transition(const QEvent*)’:
  23. qwt_picker.cpp:1046:54: warning: cast from type ‘const QMouseEvent*’ to type ‘QMouseEvent*’ casts away qualifiers
  24. qwt_picker.cpp: In member function ‘virtual QRect QwtPicker::pickRect() const’:
  25. qwt_picker.cpp:1343:30: warning: cast from type ‘const QFrame*’ to type ‘QFrame*’ casts away qualifiers
  26. qwt_plot_canvas.cpp: In member function ‘const QwtPlot* QwtPlotCanvas::plot() const’:
  27. qwt_plot_canvas.cpp:81:29: warning: cast from type ‘const QwtPlot*’ to type ‘QwtPlot*’ casts away qualifiers
  28. qwt_plot_magnifier.cpp: In member function ‘const QwtPlotCanvas* QwtPlotMagnifier::canvas() const’:
  29. qwt_plot_magnifier.cpp:90:36: warning: cast from type ‘const QwtPlotMagnifier* const’ to type ‘QwtPlotMagnifier*’ casts away qualifiers
  30. qwt_plot_magnifier.cpp: In member function ‘const QwtPlot* QwtPlotMagnifier::plot() const’:
  31. qwt_plot_magnifier.cpp:110:36: warning: cast from type ‘const QwtPlotMagnifier* const’ to type ‘QwtPlotMagnifier*’ casts away qualifiers
  32. qwt_plot_panner.cpp: In member function ‘const QwtPlotCanvas* QwtPlotPanner::canvas() const’:
  33. qwt_plot_panner.cpp:97:33: warning: cast from type ‘const QwtPlotPanner* const’ to type ‘QwtPlotPanner*’ casts away qualifiers
  34. qwt_plot_panner.cpp: In member function ‘const QwtPlot* QwtPlotPanner::plot() const’:
  35. qwt_plot_panner.cpp:117:33: warning: cast from type ‘const QwtPlotPanner* const’ to type ‘QwtPlotPanner*’ casts away qualifiers
  36. qwt_plot_picker.cpp: In member function ‘const QwtPlotCanvas* QwtPlotPicker::canvas() const’:
  37. qwt_plot_picker.cpp:116:33: warning: cast from type ‘const QwtPlotPicker* const’ to type ‘QwtPlotPicker*’ casts away qualifiers
  38. qwt_plot_picker.cpp: In member function ‘const QwtPlot* QwtPlotPicker::plot() const’:
  39. qwt_plot_picker.cpp:136:33: warning: cast from type ‘const QwtPlotPicker* const’ to type ‘QwtPlotPicker*’ casts away qualifiers
  40. qwt_plot_renderer.cpp: In member function ‘virtual void QwtPlotRenderer::renderLegendItem(const QwtPlot*, QPainter*, const QWidget*, const QRectF&) const’:
  41. qwt_plot_renderer.cpp:540:50: warning: cast from type ‘const QwtLegendItem*’ to type ‘QwtLegendItem*’ casts away qualifiers
  42. qwt_plot_renderer.cpp: In member function ‘virtual void QwtPlotRenderer::renderScale(const QwtPlot*, QPainter*, int, int, int, int, const QRectF&) const’:
  43. qwt_plot_renderer.cpp:644:65: warning: cast from type ‘const QwtScaleDraw*’ to type ‘QwtScaleDraw*’ casts away qualifiers
  44. qwt_plot_rescaler.cpp: In member function ‘const QwtPlotCanvas* QwtPlotRescaler::canvas() const’:
  45. qwt_plot_rescaler.cpp:282:35: warning: cast from type ‘const QwtPlotRescaler* const’ to type ‘QwtPlotRescaler*’ casts away qualifiers
  46. qwt_plot_rescaler.cpp: In member function ‘const QwtPlot* QwtPlotRescaler::plot() const’:
  47. qwt_plot_rescaler.cpp:302:35: warning: cast from type ‘const QwtPlotRescaler* const’ to type ‘QwtPlotRescaler*’ casts away qualifiers
  48. qwt_plot_rescaler.cpp: In member function ‘virtual void QwtPlotRescaler::updateScales(QwtInterval*) const’:
  49. qwt_plot_rescaler.cpp:578:38: warning: cast from type ‘const QwtPlot*’ to type ‘QwtPlot*’ casts away qualifiers
  50. qwt_plot_scaleitem.cpp: In member function ‘virtual void QwtPlotScaleItem::draw(QPainter*, const QwtScaleMap&, const QwtScaleMap&, const QRectF&) const’:
  51. qwt_plot_scaleitem.cpp:330:59: warning: cast from type ‘const QwtPlotScaleItem* const’ to type ‘QwtPlotScaleItem*’ casts away qualifiers
  52. In file included from qwt_plot_zoomer.cpp:10:0:
  53. qwt_plot_picker.h:104:18: warning: ‘virtual void QwtPlotPicker::move(const QPoint&)’ was hidden
  54. qwt_plot_zoomer.h:70:18: warning: by ‘virtual void QwtPlotZoomer::move(double, double)’
  55. qwt_raster_data.cpp: In member function ‘virtual QwtRasterData::ContourLines QwtRasterData::contourLines(const QRectF&, const QSize&, const QList<double>&, int) const’:
  56. qwt_raster_data.cpp:270:25: warning: cast from type ‘const QwtRasterData* const’ to type ‘QwtRasterData*’ casts away qualifiers
  57. qwt_raster_data.cpp:382:25: warning: cast from type ‘const QwtRasterData* const’ to type ‘QwtRasterData*’ casts away qualifiers
  58. qwt_scale_map.cpp: In function ‘QDebug operator<<(QDebug, const QwtScaleMap&)’:
  59. qwt_scale_map.cpp:287:39: warning: passing ‘QwtScaleTransformation::Type’ chooses ‘int’ over ‘unsigned int’
  60. qwt_scale_map.cpp:287:39: warning: in call to ‘QDebug& QDebug::operator<<(int)’
  61. qwt_text.cpp: In destructor ‘QwtTextEngineDict::~QwtTextEngineDict()’:
  62. qwt_text.cpp:67:67: warning: cast from type ‘const QwtTextEngine*’ to type ‘QwtTextEngine*’ casts away qualifiers
  63. qwt_text.cpp: In member function ‘const QwtTextEngine* QwtTextEngineDict::textEngine(const QString&, QwtText::TextFormat) const’:
  64. qwt_text.cpp:84:47: warning: cast from type ‘const QwtTextEngine*’ to type ‘QwtTextEngine*’ casts away qualifiers
To copy to clipboard, switch view to plain text mode