Bug 342872 - kitemmodels fails to build against QT 5.5 (dev branch)
Summary: kitemmodels fails to build against QT 5.5 (dev branch)
Status: RESOLVED FIXED
Alias: None
Product: frameworks-kitemmodels
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: kdelibs bugs
URL: https://git.reviewboard.kde.org/r/121...
Keywords:
Depends on:
Blocks:
 
Reported: 2015-01-15 12:40 UTC by bluescreenavenger
Modified: 2015-01-18 07:23 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.7.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description bluescreenavenger 2015-01-15 12:40:51 UTC
This is the compile error I get
[ 47%] Building CXX object autotests/proxymodeltestsuite/CMakeFiles/proxymodeltestsuite.dir/modelspy.cpp.o
[ 50%] Building CXX object src/CMakeFiles/KF5ItemModels.dir/kselectionproxymodel.cpp.o
[ 52%] Building CXX object src/CMakeFiles/KF5ItemModels.dir/KF5ItemModels_automoc.cpp.o
[ 55%] Building CXX object autotests/proxymodeltestsuite/CMakeFiles/proxymodeltestsuite.dir/modelselector.cpp.o
In file included from /opt/include/QtCore/qatomic.h:34:0,
                 from /opt/include/QtCore/qvariant.h:37,
                 from /opt/include/QtCore/qabstractitemmodel.h:37,
                 from /opt/include/QtCore/qabstractproxymodel.h:37,
                 from /opt/include/QtCore/QAbstractProxyModel:1,
                 from /srcbuild/kf5-kitemmodels/src/kselectionproxymodel.h:23,
                 from /srcbuild/kf5-kitemmodels/src/kselectionproxymodel.cpp:20:
/srcbuild/kf5-kitemmodels/src/kselectionproxymodel.cpp: In member function ‘QModelIndex KSelectionProxyModelPrivate::createTopLevelIndex(int, int) const’:
/srcbuild/kf5-kitemmodels/src/kselectionproxymodel.cpp:1374:93: error: ‘indexIsValid’ was not declared in this scope
     Q_ASSERT(indexIsValid(m_startWithChildTrees, row, m_rootIndexList, m_mappedFirstChildren));
                                                                                             ^
src/CMakeFiles/KF5ItemModels.dir/build.make:192: recipe for target 'src/CMakeFiles/KF5ItemModels.dir/kselectionproxymodel.cpp.o' failed
make[2]: *** [src/CMakeFiles/KF5ItemModels.dir/kselectionproxymodel.cpp.o] Error 1
CMakeFiles/Makefile2:76: recipe for target 'src/CMakeFiles/KF5ItemModels.dir/all' failed
make[1]: *** [src/CMakeFiles/KF5ItemModels.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 58%] Building CXX object autotests/proxymodeltestsuite/CMakeFiles/proxymodeltestsuite.dir/modeltest.cpp.o
[ 61%] Building CXX object autotests/proxymodeltestsuite/CMakeFiles/proxymodeltestsuite.dir/proxymodeltest.cpp.o
[ 63%] Building CXX object autotests/proxymodeltestsuite/CMakeFiles/proxymodeltestsuite.dir/modeldumper.cpp.o
[ 66%] Building CXX object autotests/proxymodeltestsuite/CMakeFiles/proxymodeltestsuite.dir/modeleventlogger.cpp.o
[ 69%] Building CXX object autotests/proxymodeltestsuite/CMakeFiles/proxymodeltestsuite.dir/eventloggerregister.cpp.o
[ 72%] Building CXX object autotests/proxymodeltestsuite/CMakeFiles/proxymodeltestsuite.dir/qrc_eventlogger.cpp.o
[ 75%] Building CXX object autotests/proxymodeltestsuite/CMakeFiles/proxymodeltestsuite.dir/proxymodeltestsuite_automoc.cpp.o
/srcbuild/kf5-kitemmodels/autotests/proxymodeltestsuite/eventloggerregister.cpp: In function ‘void myMessageOutput(QtMsgType, const QMessageLogContext&, const QString&)’:
/srcbuild/kf5-kitemmodels/autotests/proxymodeltestsuite/eventloggerregister.cpp:70:12: warning: enumeration value ‘QtInfoMsg’ not handled in switch [-Wswitch]
     switch (type) {
            ^
Linking CXX shared library libproxymodeltestsuite.so
[ 75%] Built target proxymodeltestsuite
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
PackageCompileSource finished in 39 seconds


Reproducible: Always
Comment 1 bluescreenavenger 2015-01-17 02:07:37 UTC
I can get it to compile by creating this patch

diff --git a/src/kselectionproxymodel.cpp b/src/kselectionproxymodel.cpp
index 6774b75..a241728 100644
--- a/src/kselectionproxymodel.cpp
+++ b/src/kselectionproxymodel.cpp
@@ -1344,7 +1344,7 @@ QModelIndex KSelectionProxyModelPrivate::mapParentFromSource(const QModelIndex &
     return m_mappedParents.leftToRight(sourceParent);
 }
 
-#ifndef QT_NO_DEBUG
+//#ifndef QT_NO_DEBUG
 static bool indexIsValid(bool startWithChildTrees, int row, const QList<QPersistentModelIndex> &rootIndexList, const SourceIndexProxyRowMapping &mappedFirstChildren)
 {
     if (!startWithChildTrees) {
@@ -1365,7 +1365,7 @@ static bool indexIsValid(bool startWithChildTrees, int row, const QList<QPersist
     }
     return true;
 }
-#endif
+//#endif
 
 QModelIndex KSelectionProxyModelPrivate::createTopLevelIndex(int row, int column) const
 {
Comment 2 Hrvoje Senjan 2015-01-17 20:15:58 UTC
Git commit cab159359a5dcfe281ab11e0410f3daff3b4ac1f by Hrvoje Senjan.
Committed on 17/01/2015 at 20:14.
Pushed by hrvojes into branch 'master'.

Fix build with Qt 5.5/dev branch in release mode

since qtbase commit ebef2ad1360c80ad62de5f4a1c4e7e4051725c1c
"Make the empty Q_ASSERT still check its argument for validity" the
build shall fail.

REVIEW: 121562
FIXED-IN: 5.7.0

M  +0    -2    src/kselectionproxymodel.cpp

http://commits.kde.org/kitemmodels/cab159359a5dcfe281ab11e0410f3daff3b4ac1f