VTK 9.1.0 does not compile with Qt5
GUISupport/QtQuick/QQuickVTKInteractorAdapter.cxx does not compile with Qt5.11.2.
//-------------------------------------------------------------------------------------------------
void QQuickVTKInteractorAdapter::QueueWheelEvent(QQuickItem* item, QWheelEvent* e)
{
QPointF p, gp;
#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
p = e->position();
gp = e->globalPosition();
#else
p = e->posF();
gp = e->globalPosF();
#endif
QWheelEvent* newEvent = new QWheelEvent(this->mapEventPosition(item, p),
this->mapEventPosition(item, gp), e->pixelDelta(), e->angleDelta(), e->buttons(),
e->modifiers(), e->phase(), e->inverted(), e->source());
QueueEvent(newEvent);
}
This seems to only work for Qt 6 as this is the signature of the new constructor.
QWheelEvent(const QPointF &pos, const QPointF &globalPos, QPoint pixelDelta, QPoint angleDelta, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::ScrollPhase phase, bool inverted, Qt::MouseEventSource source = Qt::MouseEventNotSynthesized, const QPointingDevice *device = QPointingDevice::primaryPointingDevice())
In Qt 5 it was:
QWheelEvent(const QPointF &pos, const QPointF &globalPos, QPoint pixelDelta, QPoint angleDelta, int qt4Delta, Qt::Orientation qt4Orientation, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::ScrollPhase phase, Qt::MouseEventSource source, bool inverted)
So I doubt this compiles on any Qt5 version. All VTK compiles on Qt5 except for this line so this should be fixed as many people are not using Qt6.
Also shouldn't this type of thing be caught by the CI system? Doesn't it build and test with Qt5 and Qt6?