diff --git a/src/graphic/QskGraphic.cpp b/src/graphic/QskGraphic.cpp index e893ac18..2f243be3 100644 --- a/src/graphic/QskGraphic.cpp +++ b/src/graphic/QskGraphic.cpp @@ -213,7 +213,11 @@ static inline void qskExecCommand( } } -namespace +/* + To avoid subobject-linkage warnings, when including the source code in + svg2qvg we don't use an anonymous namespace here + */ +namespace QskGraphicPrivate { class PathInfo { @@ -364,7 +368,7 @@ class QskGraphic::PrivateData : public QSharedData QSizeF defaultSize; QVector< QskPainterCommand > commands; - QVector< PathInfo > pathInfos; + QVector< QskGraphicPrivate::PathInfo > pathInfos; QRectF boundingRect; QRectF pointRect; @@ -856,7 +860,7 @@ void QskGraphic::drawPath( const QPainterPath& path ) updateControlPointRect( pointRect ); updateBoundingRect( boundingRect ); - m_data->pathInfos += PathInfo( pointRect, + m_data->pathInfos += QskGraphicPrivate::PathInfo( pointRect, boundingRect, qskHasScalablePen( painter ) ); } } diff --git a/tools/svg2qvg/main.cpp b/tools/svg2qvg/main.cpp index 5d03544e..0eb5aa7d 100644 --- a/tools/svg2qvg/main.cpp +++ b/tools/svg2qvg/main.cpp @@ -3,8 +3,18 @@ * This file may be used under the terms of the QSkinny License, Version 1.0 *****************************************************************************/ +#if defined(QSK_STANDALONE) +#include +#include +#include +#include +#include +#include +#else #include #include +#endif + #include #include #include diff --git a/tools/svg2qvg/svg2qvg.pro b/tools/svg2qvg/svg2qvg.pro index 3bdd1840..09326311 100644 --- a/tools/svg2qvg/svg2qvg.pro +++ b/tools/svg2qvg/svg2qvg.pro @@ -7,6 +7,8 @@ TEMPLATE = app QT += svg +CONFIG += standalone + QSK_DIRS = \ $${QSK_ROOT}/src/common \ $${QSK_ROOT}/src/graphic @@ -16,12 +18,23 @@ DEPENDPATH += $${QSK_DIRS} DESTDIR = $${QSK_OUT_ROOT}/tools/bin -QMAKE_RPATHDIR *= $${QSK_OUT_ROOT}/lib -LIBS *= -L$${QSK_OUT_ROOT}/lib -lqskinny +standalone { -contains(QSK_CONFIG, QskDll) { - DEFINES += QSK_DLL -} + # We only need a very small subset of QSkinny and by including the + # necessary cpp files svg2qvg becomes independent from the library + + DEFINES += QSK_STANDALONE + +} +else { + + QMAKE_RPATHDIR *= $${QSK_OUT_ROOT}/lib + LIBS *= -L$${QSK_OUT_ROOT}/lib -lqskinny + + contains(QSK_CONFIG, QskDll) { + DEFINES += QSK_DLL + } +} TARGET = svg2qvg