[PATCH] MarbleDebug: don't use a class extending QIODevice as a null device

Lubomir I. Ivanov neolit123 at gmail.com
Tue Apr 18 07:00:58 PDT 2017


On 18 April 2017 at 16:59, Stefan Fuchs <sfuchs at gmx.de> wrote:
> Am 18.04.2017 um 15:54 schrieb Lubomir I. Ivanov:
>
> Sorry, I'm once again lost...
> I have multiple compile issues like this:
>
> /home/stefan/Entwicklung/Subsurface/marble-source/src/lib/marble/geodata/data/GeoDataPolygon.cpp:
> In member function 'virtual void Marble::GeoDataPolygon::pack(QDataStream&)
> const':
> /home/stefan/Entwicklung/Subsurface/marble-source/src/lib/marble/geodata/data/GeoDataPolygon.cpp:174:16:
> error: no match for call to '(QDebug) ()'
>          mDebug() << "innerRing: size" << p()->inner.size();
>
> Also for:
> https://github.com/Subsurface-divelog/marble/blob/Subsurface-branch/src/lib/marble/geodata/data/GeoDataVec2.cpp#L56
> https://github.com/Subsurface-divelog/marble/blob/Subsurface-branch/src/lib/marble/geodata/data/GeoDataMultiTrack.cpp#L115
> and many others.
>
> But all these files do
> #include "MarbleDebug.h"
>
> i must admit i followed Thiago's suggestions blindly.
> Thiago, do you have an idea why this happens?
>
> the macro:
> #define mDebug qCDebug(Marble::loggingCategory)
>
> expands calls like this one:
> mDebug() << "innerRing: size" << p()->inner.size();
>
> to:
> qCDebug(Marble::loggingCategory)() << "innerRing: size" <<
> p()->inner.size();
>
> is it complaining about the extra()?
>
> Yes! Yes! Thats it ;-)
>
> Changed to:
> #define mDebug() qCDebug(Marble::loggingCategory)
>
> and it compiles.
>
>

good to hear,
please CC the mailing list.

lubomir
--


More information about the subsurface mailing list