diff --git a/CHANGELOG.md b/CHANGELOG.md index b2fdedf147..a222ca1fb1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ Bug #5714: Touch spells cast using ExplodeSpell don't always explode Bug #5977: Fatigueless NPCs' corpse underwater changes animation on game load Bug #6427: Enemy health bar disappears before damaging effect ends + Bug #6661: Saved games that have no preview screenshot cause issues or crashes Bug #6937: Divided by Nix Hounds quest is broken Bug #6939: OpenMW-CS: ID columns are too short Bug #6949: Sun Damage effect doesn't work in quasi exteriors diff --git a/apps/openmw/mwgui/savegamedialog.cpp b/apps/openmw/mwgui/savegamedialog.cpp index 8ea39429f5..e39cf16198 100644 --- a/apps/openmw/mwgui/savegamedialog.cpp +++ b/apps/openmw/mwgui/savegamedialog.cpp @@ -429,12 +429,16 @@ namespace MWGui mInfoText->setCaptionWithReplacing(text.str()); + // Reset the image for the case we're unable to recover a screenshot + mScreenshotTexture.reset(); + mScreenshot->setRenderItemTexture(nullptr); + mScreenshot->getSubWidgetMain()->_setUVSet(MyGUI::FloatRect(0.f, 0.f, 1.f, 1.f)); // Decode screenshot const std::vector& data = mCurrentSlot->mProfile.mScreenshot; if (!data.size()) { - Log(Debug::Warning) << "Selected save file '" << mCurrentSlot->mPath.filename() << "' has no savegame screenshot"; + Log(Debug::Warning) << "Selected save file '" << mCurrentSlot->mPath.filename().string() << "' has no savegame screenshot"; return; } @@ -465,8 +469,6 @@ namespace MWGui texture->setUnRefImageDataAfterApply(true); mScreenshotTexture = std::make_unique(texture); - mScreenshot->setRenderItemTexture(mScreenshotTexture.get()); - mScreenshot->getSubWidgetMain()->_setUVSet(MyGUI::FloatRect(0.f, 0.f, 1.f, 1.f)); } }