Commit: https://cgit.kde.org/oxygen.git/commit/?id=1bf982f43470c9441287f3fd6a8a3dee834e1483 Causes build failures in both Neon and Kubuntu CI Builds fails in multiple places with errors such as: Generating moc_oxygenmenubardata.cpp In file included from /<<BUILDDIR>>/oxygen-5.10.0+p17.10+git20170602.0107/liboxygen/oxygenitemmodel.cpp:26:0: /<<BUILDDIR>>/oxygen-5.10.0+p17.10+git20170602.0107/liboxygen/oxygenitemmodel.h:60:73: error: expected ‘;’ at end of member declaration void sort( int column, Qt::SortOrder order = Qt::AscendingOrder ) Q_DECL_OVERRIDE; ^ /<<BUILDDIR>>/oxygen-5.10.0+p17.10+git20170602.0107/liboxygen/oxygenitemmodel.h:60:75: error: ‘Q_DECL_OVERRIDE’ does not name a type void sort( int column, Qt::SortOrder order = Qt::AscendingOrder ) Q_DECL_OVERRIDE; ^~~~~~~~~~~~~~~ Generating moc_oxygenscrollbarengine.cpp liboxygen/CMakeFiles/oxygenstyle.dir/build.make:153: recipe for target 'liboxygen/CMakeFiles/oxygenstyle.dir/oxygenitemmodel.cpp.o' failed make[5]: *** [liboxygen/CMakeFiles/oxygenstyle.dir/oxygenitemmodel.cpp.o] Error 1 make[5]: *** Waiting for unfinished jobs.... Ref: http://build.neon.kde.org/job/xenial_unstable_plasma_oxygen_bin_amd64/79/console and https://launchpadlibrarian.net/322152331/buildlog_ubuntu-artful-amd64.oxygen_4%3A5.10.0+p17.10+git20170602.0107-0_BUILDING.txt.gz from http://kci.pangea.pub/job/artful_unstable_oxygen/28/
Yes. I guess it breaks with kde4/qt4 compilation, for which Q_DECL_OVERRIDE does not exist. Please revert, Laurent, at least partially, to make sure KDE4 build works (the option for kde4 build is to add -DUSE_KDE4=1 at cmake stage)
Note that a proper code review would have prevent this (idem in breeze).
Also, I remember a discussion on kcd about how using Q_DECL_OVERRIDE was a pita, and that one should simply use "override". Just checked, that's what kwin and kdecoration does. Since at least the decoration part of breeze and oxygen rely on kdecoration, (and thus have the same compiler requirements), I would change Q_DECL_OVERRIDE into override there. This also would have prevented the crash (override is defined disregarding the Qt version).
Git commit 8a4e31bc99ed5ada95f2ebf1eb8151c52a1d5420 by Hugo Pereira Da Costa. Committed on 02/06/2017 at 08:08. Pushed by hpereiradacosta into branch 'master'. Q_DECL_OVERRIDE -> override Rationale is that oxygen decoration depends on libkdecoration, which uses override directly already. M +3 -3 kdecoration/config/oxygenanimationconfigwidget.h M +1 -1 kdecoration/config/oxygendetectwidget.h M +4 -4 kdecoration/config/oxygenexceptionmodel.h M +1 -1 kdecoration/config/oxygenitemmodel.h M +1 -1 kdecoration/oxygenbutton.h M +1 -1 kdecoration/oxygendecohelper.h https://commits.kde.org/oxygen/8a4e31bc99ed5ada95f2ebf1eb8151c52a1d5420
Git commit cbc5fdbd4654118c6ec37776b060420e520c216b by Hugo Pereira Da Costa. Committed on 02/06/2017 at 08:12. Pushed by hpereiradacosta into branch 'master'. Partially revert "Use Q_DECL_OVERRIDE" The style code can be built with Qt4/kdelibs4 as well, and there is no Q_DECL_OVERRIDE in that case. This partially reverts commit 1bf982f43470c9441287f3fd6a8a3dee834e1483 M +2 -2 kstyle/animations/oxygenbusyindicatorengine.h M +1 -1 kstyle/animations/oxygendockseparatordata.h M +3 -3 kstyle/animations/oxygendockseparatorengine.h M +1 -1 kstyle/animations/oxygenenabledata.h M +1 -1 kstyle/animations/oxygengenericdata.h M +2 -2 kstyle/animations/oxygenheaderviewdata.h M +3 -3 kstyle/animations/oxygenheaderviewengine.h M +1 -1 kstyle/animations/oxygenmdiwindowdata.h M +3 -3 kstyle/animations/oxygenmdiwindowengine.h M +5 -5 kstyle/animations/oxygenmenubardata.h M +21 -21 kstyle/animations/oxygenmenubarengine.h M +7 -7 kstyle/animations/oxygenmenudata.h M +21 -21 kstyle/animations/oxygenmenuengine.h M +1 -1 kstyle/animations/oxygenprogressbardata.h M +3 -3 kstyle/animations/oxygenprogressbarengine.h M +2 -2 kstyle/animations/oxygenscrollbardata.h M +3 -3 kstyle/animations/oxygenscrollbarengine.h M +1 -1 kstyle/animations/oxygenspinboxdata.h M +3 -3 kstyle/animations/oxygenspinboxengine.h M +3 -3 kstyle/animations/oxygensplitterengine.h M +1 -1 kstyle/animations/oxygentabbardata.h M +3 -3 kstyle/animations/oxygentabbarengine.h M +3 -3 kstyle/animations/oxygentoolbardata.h M +4 -4 kstyle/animations/oxygentoolbarengine.h M +3 -3 kstyle/animations/oxygentoolboxengine.h M +3 -3 kstyle/animations/oxygenwidgetstateengine.h M +3 -3 kstyle/config/oxygenanimationconfigwidget.h M +2 -2 kstyle/config/oxygenfollowmouseanimationconfigitem.h M +1 -1 kstyle/config/oxygenstyleconfig.h M +1 -1 kstyle/debug/oxygenwidgetexplorer.h M +2 -2 kstyle/demo/oxygendemodialog.h M +1 -1 kstyle/demo/oxygensimulator.h M +1 -1 kstyle/oxygenaddeventfilter.h M +2 -2 kstyle/oxygenblurhelper.h M +8 -8 kstyle/oxygenframeshadow.h M +2 -2 kstyle/oxygenmdiwindowshadow.h M +1 -1 kstyle/oxygenmnemonics.h M +1 -1 kstyle/oxygenshadowhelper.h M +2 -2 kstyle/oxygensplitterproxy.h M +3 -3 kstyle/oxygenstyle.cpp M +14 -14 kstyle/oxygenstyle.h M +4 -4 kstyle/oxygenstylehelper.h M +1 -1 kstyle/oxygenstyleplugin.h M +1 -1 kstyle/oxygenwindowmanager.cpp M +2 -2 kstyle/oxygenwindowmanager.h M +4 -4 kstyle/transitions/oxygencomboboxdata.h M +3 -3 kstyle/transitions/oxygencomboboxengine.h M +4 -4 kstyle/transitions/oxygenlabeldata.h M +3 -3 kstyle/transitions/oxygenlabelengine.h M +4 -4 kstyle/transitions/oxygenlineeditdata.h M +3 -3 kstyle/transitions/oxygenlineeditengine.h M +2 -2 kstyle/transitions/oxygenstackedwidgetdata.h M +3 -3 kstyle/transitions/oxygenstackedwidgetengine.h M +2 -2 kstyle/transitions/oxygentransitionwidget.h M +2 -2 liboxygen/oxygengenericanimationconfigitem.h M +26 -26 liboxygen/oxygenitemmodel.h M +4 -4 liboxygen/oxygenlistmodel.h https://commits.kde.org/oxygen/cbc5fdbd4654118c6ec37776b060420e520c216b