diff --git a/src/nostalgia/modules/scene/src/studio/sceneeditorview.cpp b/src/nostalgia/modules/scene/src/studio/sceneeditorview.cpp index fdfb542a..12da3d0d 100644 --- a/src/nostalgia/modules/scene/src/studio/sceneeditorview.cpp +++ b/src/nostalgia/modules/scene/src/studio/sceneeditorview.cpp @@ -21,9 +21,8 @@ ox::Error SceneEditorView::setupScene() noexcept { void SceneEditorView::draw(ox::Size const&targetSz) noexcept { auto const scaleSz = targetSz / core::gl::drawSize(1); - auto const scale = ox::max(1, ox::max(scaleSz.width, scaleSz.height)); - if (m_scale != scale) { - m_scale = scale; + if (m_scaleSz != scaleSz) [[unlikely]] { + m_scale = ox::max(1, ox::max(scaleSz.width, scaleSz.height)); glutils::resizeInitFrameBuffer(m_frameBuffer, core::gl::drawSize(m_scale)); } glutils::FrameBufferBind const frameBufferBind(m_frameBuffer); diff --git a/src/nostalgia/modules/scene/src/studio/sceneeditorview.hpp b/src/nostalgia/modules/scene/src/studio/sceneeditorview.hpp index d5a524e8..b9460667 100644 --- a/src/nostalgia/modules/scene/src/studio/sceneeditorview.hpp +++ b/src/nostalgia/modules/scene/src/studio/sceneeditorview.hpp @@ -7,6 +7,7 @@ #include #include +#include #include namespace nostalgia::scene { @@ -19,6 +20,7 @@ class SceneEditorView { Scene m_scene; glutils::FrameBuffer m_frameBuffer; int m_scale = 1; + ox::Size m_scaleSz = core::gl::drawSize(m_scale); public: SceneEditorView(turbine::Context &ctx, SceneStatic const&sceneStatic);