mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-02-04 03:40:14 +00:00
Merge branch 'savegame' into 'master'
Avoid issues with saved games that have no screenshot data See merge request OpenMW/openmw!2358
This commit is contained in:
commit
7a0a11b30c
@ -430,19 +430,25 @@ namespace MWGui
|
||||
|
||||
// Decode screenshot
|
||||
const std::vector<char>& data = mCurrentSlot->mProfile.mScreenshot;
|
||||
Files::IMemStream instream (&data[0], data.size());
|
||||
if (!data.size())
|
||||
{
|
||||
Log(Debug::Warning) << "Selected save file '" << mCurrentSlot->mPath.filename() << "' has no savegame screenshot";
|
||||
return;
|
||||
}
|
||||
|
||||
Files::IMemStream instream (data.data(), data.size());
|
||||
|
||||
osgDB::ReaderWriter* readerwriter = osgDB::Registry::instance()->getReaderWriterForExtension("jpg");
|
||||
if (!readerwriter)
|
||||
{
|
||||
Log(Debug::Error) << "Error: Can't open savegame screenshot, no jpg readerwriter found";
|
||||
Log(Debug::Error) << "Can't open savegame screenshot, no jpg readerwriter found";
|
||||
return;
|
||||
}
|
||||
|
||||
osgDB::ReaderWriter::ReadResult result = readerwriter->readImage(instream);
|
||||
if (!result.success())
|
||||
{
|
||||
Log(Debug::Error) << "Error: Failed to read savegame screenshot: " << result.message() << " code " << result.status();
|
||||
Log(Debug::Error) << "Failed to read savegame screenshot: " << result.message() << " code " << result.status();
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -50,7 +50,7 @@ void SavedGame::save (ESMWriter &esm) const
|
||||
esm.writeHNString ("DEPE", *iter);
|
||||
|
||||
esm.startSubRecord("SCRN");
|
||||
esm.write(&mScreenshot[0], mScreenshot.size());
|
||||
esm.write(mScreenshot.data(), mScreenshot.size());
|
||||
esm.endRecord("SCRN");
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user