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)) {