Lime-3DS-Emulator
Lime-3DS-Emulator copied to clipboard
lime_qt: Build fixes for QT 6.8
With QT 6.8 scheduled for the end of the month/beginning of next, this set of changes should make Lime3DS compatible with it. It replaces the deprecated stateChanged function with checkStateChanged that was first introduced in QT 6.7.
The thing is, while this change is backwards compatible with QT 6.7, it won't work with older versions (ex. like the Linux build runner which I think runs QT 6.4).
So either:
- The Lime3DS Linux docker image needs to get updated with QT 6.7 first (aqtinstall will do it; I've been using it on my personal fork with Ubuntu 22.04 and it's been working fine in X11 and Wayland according to some people) and the minimum requirement for Lime3DS becomes QT 6.7 going forward.
- Don't merge this in and freeze Lime3DS's max compatibility at 6.7.3.
- Add in a conditional check at each change that looks at QT version (kind of like a #ifdef check, if such a thing for QT is even possible? Haven't looked into it...).
The problem I see is that eventually Windows msys2 will start building with QT 6.8 and not give the option for an older version so a decision going forward will eventually have to be made in a few months when that happens.
Actually, looks like there are some QT macros that will work. Builds on my end; will push out when I can get to a PC.
I would like to wait for Qt 6.8 to become available in the Gentoo repositories before merging this so that I can compile and verify these fixes to ensure that they are working as expected on my own setup. This will likely happen shortly after Qt 6.8 releases, as Gentoo is usually very fast at keeping up with upstream project versions.
Qt 6.8 is now available on Gentoo, so I will get to testing this PR.