From be048d41b9343423af708eb507f2e90c24cdfadf Mon Sep 17 00:00:00 2001
From: HJfod <dreadrollmusic@gmail.com>
Date: Sat, 30 Mar 2024 21:58:00 +0200
Subject: [PATCH] fix spacers being scaled down in layouts

---
 loader/src/cocos2d-ext/AxisLayout.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/loader/src/cocos2d-ext/AxisLayout.cpp b/loader/src/cocos2d-ext/AxisLayout.cpp
index 4a3d57d2..262df0f9 100644
--- a/loader/src/cocos2d-ext/AxisLayout.cpp
+++ b/loader/src/cocos2d-ext/AxisLayout.cpp
@@ -646,7 +646,8 @@ public:
             for (auto& node : CCArrayExt<CCNode*>(row->nodes)) {
                 auto opts = axisOpts(node);
                 // rescale node if overflowing
-                if (this->shouldAutoScale(opts)) {
+                // do not scale spacers since that screws up their content size
+                if (this->shouldAutoScale(opts) && !typeinfo_cast<SpacerNode*>(node)) {
                     auto nodeScale = scaleByOpts(opts, row->scale, row->prio, false, m_defaultScaleLimits.first, m_defaultScaleLimits.second);
                     // CCMenuItemSpriteExtra is quirky af
                     if (auto btn = typeinfo_cast<CCMenuItemSpriteExtra*>(node)) {