summaryrefslogtreecommitdiff
path: root/quacker/quacker.h
diff options
context:
space:
mode:
authorJohn Fultz <jfultz@wolfram.com>2023-07-18 00:44:06 -0500
committerJohn Fultz <jfultz@wolfram.com>2023-07-18 00:44:06 -0500
commit53f394839396edd537785fc40db3090839dd7c04 (patch)
tree4198dc35fd903fbd537d798a5de06afb2e7b3253 /quacker/quacker.h
parenta68140dfb546b8a89c48bfe99d7b56d9c2908569 (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/quacker.h')
-rw-r--r--quacker/quacker.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/quacker/quacker.h b/quacker/quacker.h
index 8a81cf4..3bfeb38 100644
--- a/quacker/quacker.h
+++ b/quacker/quacker.h
@@ -129,7 +129,7 @@ public slots:
void showConfigDialog();
// set up our game object based on a shuffled playerList
- void initializeGame(const Quackle::PlayerList &players);
+ void initializeGame(const Quackle::PlayerList *players);
// call timerControl, and tell user about it
void pause(bool paused);
@@ -177,8 +177,8 @@ protected slots:
void statusMessage(const QString &message);
// set game's candidate to move and update views
- 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);
// set current player's rack and update views
void setRack(const Quackle::Rack &rack);
@@ -187,7 +187,7 @@ protected slots:
void setNote(const UVString &note);
// set history location to view
- void goToHistoryLocation(const Quackle::HistoryLocation &location);
+ void goToHistoryLocation(const Quackle::HistoryLocation *location);
// stop simulation, opponenent thread, etc
void stopEverything();
@@ -235,9 +235,9 @@ signals:
// emitted when views (eg board) should update based on the
// current position (includes board information, current candidate play
// that should be shown)
- void positionChanged(const Quackle::GamePosition &position);
+ void positionChanged(const Quackle::GamePosition *position);
- void movesChanged(const Quackle::MoveList &moves);
+ void movesChanged(const Quackle::MoveList *moves);
// emitted when views of history must update
void historyChanged(const Quackle::History &history);