Closed spektorius closed 1 year ago
The changes to make QMutableEventPoint
private were indeed targeted at Qt 6.3, so any Qt 6.2.* should still be included there. I'd say the correct conditional to use is really:
#if QT_VERSION < QT_VERSION_CHECK(6, 3, 0)
That'll future-proof against any possible (though very unlikely) subsequent releases of Qt 6.2.7, 6.2.8, etc...
Thanks.
I was just passing by, it seems to me that in 8e67bbfa668d3cf683cb1446c3a4a054d2d1d588 the version in checks was updated, but the comparison operator was not (unlike in https://github.com/KDAB/GammaRay/issues/784#issuecomment-1544693063). Is that right?
Will check sometime this week. PRs welcome.
Ah, yes, @staticssleever668 is correct — the comparisons were left at <=
, which will inadvertently exclude Qt version 6.3.0 (exactly and only). I'll submit a quick PR.
This should now be fixed, GammaRay built for Qt 6.3.0 and above will treat QMutableEventPoint
as a non-instantiable class, when built for any lower version 6.0.0–6.2.9999 it will create local instances.
Build Environment: Windows 10 Qt 6.2.6 mingw_64 GammaRay commit 29dc94264
Here is my build command (by Clion) and log:
``` "C:\Program Files\JetBrains\CLion\bin\cmake\win\x64\bin\cmake.exe" -DCMAKE_BUILD_TYPE=Release "-DCMAKE_MAKE_PROGRAM=C:/Program Files/JetBrains/CLion/bin/ninja/win/x64/ninja.exe" -DGAMMARAY_QT6_BUILD=ON -DCMAKE_INSTALL_PREFIX=D:/src/projects/GammaRay/deploy -G Ninja -S D:\src\projects\GammaRay -B D:\src\projects\GammaRay\cmake-build-release-mingw -- Could NOT find libdw (missing: LIBDW_LIBRARY LIBDW_INCLUDE_DIR) -- Could NOT find libbfd (missing: LIBDL_LIBRARY LIBDL_INCLUDE_DIR) -- Could NOT find libdwarf (missing: LIBDWARF_LIBRARY LIBDWARF_INCLUDE_DIR LIBELF_LIBRARY LIBELF_INCLUDE_DIR LIBDL_LIBRARY LIBDL_INCLUDE_DIR) -- Building GammaRay 2.99.50 (revision: 29dc94264) in Release mode -- Could NOT find WrapVulkanHeaders (missing: Vulkan_INCLUDE_DIR) -- Building probe for ABI: qt6_2-GNU-x86_64 (Release) -- Could NOT find Wayland_Server (missing: Wayland_Server_LIBRARY Wayland_Server_INCLUDE_DIR) (found version "") -- Could NOT find Wayland (missing: Wayland_LIBRARIES Server) (Required is at least version "1.12") CMake Warning at cmake/ECM/find-modules/FindWayland.cmake:130 (message): Could not find wayland.xml in Call Stack (most recent call first): plugins/wlcompositorinspector/CMakeLists.txt:11 (find_package) -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) -- Unable to provide inheritance diagrams for the API documentation. To fix, install the graphviz project from https://www.graphviz.org -- qcollectiongenerator not found, documentation collection will not be generated. -- The following features have been enabled: * Option GAMMARAY_BUILD_UI, Build the GammaRay client and in-process UI. * Option GAMMARAY_MULTI_BUILD, Build multiple applicable probe configurations. * Option GAMMARAY_BUILD_CLI_INJECTOR, Build command line injector on Windows. * Option GAMMARAY_BUILD_DOCS, Build GammaRay documentation. * Option GAMMARAY_QT6_BUILD, Build with Qt6. * Widget .ui file export, Requires QtDesigner library. * User Manual creation in qch format, Requires qdoc, qhelpgenerator, qtattributionsscanner, the qdoc templates and index files -- The following OPTIONAL packages have been found: * Git Determine exact build version. * Qt6GuiTools (required version >= 6.2.6) * Qt6CoreTools (required version >= 6.2.6) * Qt6Gui * Qt6Network * Qt6Designer * Qt6OpenGL * Qt6QmlTools (required version >= 6.2.6) * Qt6Qml * Qt6Quick * Qt6QuickWidgets * Qt6Svg Required for widget SVG export. * Qt6Test * Qt6ScxmlTools (required version >= 6.2.6) * Qt6Scxml (required version >= 5.8) * Qt6Help * Qt6LinguistTools * Qt6WidgetsTools (required version >= 6.2.6) * Qt6Widgets * QmlLint,Here is the git patch that helped to overcome the issue:
``` diff --git a/common/remoteviewinterface.cpp b/common/remoteviewinterface.cpp index 6af71df1f..d33beecb4 100644 --- a/common/remoteviewinterface.cpp +++ b/common/remoteviewinterface.cpp @@ -110,7 +110,7 @@ QDataStream &operator<<(QDataStream &s, const QListI faced the same issue back when I used Qt 6.2.4 and it was fixed in a similar way.
QMutableEventPoint
does not haveupdate
method and, in general, the code under #if is not compatible with Qt 6.2.x Seems like these checks were written when qt 6.2,4 and 6.2.6 were not released yet and meant "future" releases.Could you please have a look? If any additional details are needed please let me know.