diff options
author | John Fultz <jfultz@wolfram.com> | 2023-07-18 00:44:06 -0500 |
---|---|---|
committer | John Fultz <jfultz@wolfram.com> | 2023-07-18 00:44:06 -0500 |
commit | 53f394839396edd537785fc40db3090839dd7c04 (patch) | |
tree | 4198dc35fd903fbd537d798a5de06afb2e7b3253 /quacker/view.h | |
parent | a68140dfb546b8a89c48bfe99d7b56d9c2908569 (diff) |
Fix Qt6 MOC compilation on some platforms.
That was super painful. It seems that some of the Quackle types that
have custom operator==() give fits to the MOC compiler when those
types are used as arguments for slots and/or signals (or maybe it's
only when they're connected in a certain way...frankly, I never did
figure this out precisely to my satisfaction). The compilers provide
very little help in resolving this problem.
Once I understood the problem, VS22 was giving me just the tiniest
morsel, enough that I could hunt down the offending slot/signal
(it wasn't even giving me the name of the slot/signal...just the type
it was trying to use). I've changed all offending functions to use
const pointers to types instead of const references, and this makes
Qt happy.
I couldn't find any info on the web directly about this, but here's
the closest I did find, which suggests that this is related to
increased functionality in Qt6 regarding reflection.
https://forum.qt.io/topic/141434/
This fixes my VC++22 x86-64 build. Hopefully it fixes all of the
others, too.
Diffstat (limited to 'quacker/view.h')
-rw-r--r-- | quacker/view.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/quacker/view.h b/quacker/view.h index eb2d1b5..ce72f82 100644 --- a/quacker/view.h +++ b/quacker/view.h @@ -59,8 +59,8 @@ signals: // emit to alert the rest of the application to show this // as candidate move - may eventually trigger positionChanged // in response - void setCandidateMove(const Quackle::Move &move, bool *carryOnPtr = nullptr); - void removeCandidateMoves(const Quackle::MoveList &moves); + void setCandidateMove(const Quackle::Move *move, bool *carryOnPtr = nullptr); + void removeCandidateMoves(const Quackle::MoveList *moves); void commit(); // emit to alert the rest of the application to reset the current @@ -80,11 +80,11 @@ public slots: // // The default implementation calls positionChanged(position) for all subviews // in m_subviews. - virtual void positionChanged(const Quackle::GamePosition &position); + virtual void positionChanged(const Quackle::GamePosition *position); // called when user starts a simulation and this move list should // supercede that from the position - virtual void movesChanged(const Quackle::MoveList &moves); + virtual void movesChanged(const Quackle::MoveList *moves); virtual void grabFocus(); @@ -107,7 +107,7 @@ signals: // emit to alert the rest of the application to show this // as candidate move - may eventually trigger positionChanged // in response - void goToHistoryLocation(const Quackle::HistoryLocation &location); + void goToHistoryLocation(const Quackle::HistoryLocation *location); public slots: // called whenever history is added to |