From 6bbcae10cc7b21b73171ec0ff196f4baf6304404 Mon Sep 17 00:00:00 2001 From: Gary Talent Date: Sat, 21 Jun 2025 14:29:47 -0500 Subject: [PATCH] Squashed 'deps/nostalgia/' changes from 857587c1..37cfa927 37cfa927 [nostalgia/gfx] Address a couple of implicit conversions 0efed70b [studio] Fix Studio to clear editor pointers when opening a new project baf5fa31 [nostalgia] Move d2025.05.2 release notes to d2025.06.0 git-subtree-dir: deps/nostalgia git-subtree-split: 37cfa927d1d63390d91a6c4b98021023552dd980 --- release-notes.md | 12 ++++++------ .../tilesheeteditor/commands/addsubsheetcommand.cpp | 2 +- .../studio/tilesheeteditor/tilesheeteditor-imgui.cpp | 2 +- src/olympic/studio/applib/src/studioui.cpp | 3 +++ 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/release-notes.md b/release-notes.md index f3888fb..b0f8ebd 100644 --- a/release-notes.md +++ b/release-notes.md @@ -5,18 +5,18 @@ * Fix file deletion to close file even if not active * Fix file copy to work when creating a copy with the name of a previously deleted file -* Fix copy/cut/paste enablement when there is no selection +* Fix crash that could occur after switching projects * Make file picker popup accept on double click of a file +* TileSheetEditor: Fix copy/cut/paste enablement when there is no selection +* TileSheetEditor: Fix manual redo of draw actions, fix drawing to pixel 0, 0 + as first action +* TileSheetEditor: Fix draw command to work on same pixel after switching + subsheets * PaletteEditor: Add RGB key shortcuts for focusing color channels * PaletteEditor: Add color preview to color editor * PaletteEditor: Make RGB key shortcuts work when color channel inputs are focused -# d2025.05.2 - -* TileSheetEditor: Fix manual redo of draw actions, fix drawing to pixel 0, 0 as first action (cce5f52f96511694afd98f0b9b6b1f19c06ecd20) -* TileSheetEditor: Fix draw command to work on same pixel after switching subsheets (514cb978351ee4b0a5335c22a506a6d9f608f0a7) - # d2025.05.1 * TileSheetEditor: Fix overrun errors when switching subsheets, clear selection diff --git a/src/nostalgia/modules/gfx/src/studio/tilesheeteditor/commands/addsubsheetcommand.cpp b/src/nostalgia/modules/gfx/src/studio/tilesheeteditor/commands/addsubsheetcommand.cpp index d9d3a74..ba35b39 100644 --- a/src/nostalgia/modules/gfx/src/studio/tilesheeteditor/commands/addsubsheetcommand.cpp +++ b/src/nostalgia/modules/gfx/src/studio/tilesheeteditor/commands/addsubsheetcommand.cpp @@ -13,7 +13,7 @@ AddSubSheetCommand::AddSubSheetCommand( auto &parent = getSubSheet(m_img, m_parentIdx); if (!parent.subsheets.empty()) { auto idx = m_parentIdx; - idx.emplace_back(parent.subsheets.size()); + idx.emplace_back(static_cast(parent.subsheets.size())); m_addedSheets.push_back(idx); } else { auto idx = m_parentIdx; diff --git a/src/nostalgia/modules/gfx/src/studio/tilesheeteditor/tilesheeteditor-imgui.cpp b/src/nostalgia/modules/gfx/src/studio/tilesheeteditor/tilesheeteditor-imgui.cpp index ba53777..aee2a58 100644 --- a/src/nostalgia/modules/gfx/src/studio/tilesheeteditor/tilesheeteditor-imgui.cpp +++ b/src/nostalgia/modules/gfx/src/studio/tilesheeteditor/tilesheeteditor-imgui.cpp @@ -278,7 +278,7 @@ void TileSheetEditorImGui::draw(studio::Context&) noexcept { auto insertOnIdx = m_model.activeSubSheetIdx(); auto const &parent = m_model.activeSubSheet(); m_model.addSubsheet(insertOnIdx); - insertOnIdx.emplace_back(parent.subsheets.size() - 1); + insertOnIdx.emplace_back(static_cast(parent.subsheets.size() - 1)); setActiveSubsheet(insertOnIdx); } ImGui::SameLine(); diff --git a/src/olympic/studio/applib/src/studioui.cpp b/src/olympic/studio/applib/src/studioui.cpp index 51acc24..99babad 100644 --- a/src/olympic/studio/applib/src/studioui.cpp +++ b/src/olympic/studio/applib/src/studioui.cpp @@ -649,6 +649,9 @@ ox::Error StudioUI::openProjectPath(ox::StringParam path) noexcept { ox::make_unique_catch(keelCtx(m_tctx), std::move(path), m_projectDataDir) .moveTo(m_project)); m_sctx.project = m_project.get(); + m_activeEditor = nullptr; + m_activeEditorOnLastDraw = nullptr; + m_activeEditorUpdatePending = nullptr; turbine::setWindowTitle( m_tctx, ox::sfmt("{} - {}", keelCtx(m_tctx).appName, m_project->projectPath())); m_deleteConfirmation.deleteFile.connect(m_sctx.project, &Project::deleteItem);