From 08548b38a4e857031b18deb693b09af05ee93d3d Mon Sep 17 00:00:00 2001 From: shun-iwasawa Date: Aug 24 2022 02:17:23 +0000 Subject: fix crash on replacing level: --- diff --git a/toonz/sources/toonz/levelsettingspopup.cpp b/toonz/sources/toonz/levelsettingspopup.cpp index e222b8e..87ef32e 100644 --- a/toonz/sources/toonz/levelsettingspopup.cpp +++ b/toonz/sources/toonz/levelsettingspopup.cpp @@ -747,7 +747,7 @@ LevelSettingsValues LevelSettingsPopup::getValues(TXshLevelP level) { values.doAntialias = (sl->getProperties()->antialiasSoftness() > 0) ? Qt::Checked : Qt::Unchecked; - values.softness = sl->getProperties()->antialiasSoftness(); + values.softness = sl->getProperties()->antialiasSoftness(); } } @@ -1438,6 +1438,7 @@ void LevelSettingsPopup::onSubsamplingChanged() { return; } + bool somethingChanged = false; TUndoManager::manager()->beginBlock(); QSetIterator levelItr(m_selectedLevels); while (levelItr.hasNext()) { @@ -1454,8 +1455,10 @@ void LevelSettingsPopup::onSubsamplingChanged() { TUndoManager::manager()->add(new LevelSettingsUndo( levelP.getPointer(), LevelSettingsUndo::Subsampling, oldSubsampling, subsampling)); + somethingChanged = true; } TUndoManager::manager()->endBlock(); + if (!somethingChanged) return; TApp::instance()->getCurrentScene()->setDirtyFlag(true); TApp::instance() diff --git a/toonz/sources/toonz/previewfxmanager.cpp b/toonz/sources/toonz/previewfxmanager.cpp index ccffbfb..169204a 100644 --- a/toonz/sources/toonz/previewfxmanager.cpp +++ b/toonz/sources/toonz/previewfxmanager.cpp @@ -1456,6 +1456,7 @@ void PreviewFxManager::onLevelChanged() { // Build the level name as an alias keyword. All cache images associated // with an alias containing the level name will be updated. TXshLevel *xl = TApp::instance()->getCurrentLevel()->getLevel(); + if (!xl) return; std::string aliasKeyword; TFilePath fp = xl->getPath(); aliasKeyword = ::to_string(fp.withType(""));