diff --git a/toonz/sources/toonz/iocommand.cpp b/toonz/sources/toonz/iocommand.cpp index 726e49b..43a6550 100644 --- a/toonz/sources/toonz/iocommand.cpp +++ b/toonz/sources/toonz/iocommand.cpp @@ -323,7 +323,8 @@ bool beforeCellsInsert(TXsheet *xsh, int row, int &col, int rowCount, for (i = 0; i < rowCount && xsh->getCell(row + i, col).isEmpty(); i++) { } - int type = column ? column->getColumnType() : newLevelColumnType; + int type = (column && !column->isEmpty()) ? column->getColumnType() + : newLevelColumnType; // If some used cells in range or column type mismatch must insert a column. if (col < 0 || i < rowCount || newLevelColumnType != type) { col += 1; diff --git a/toonz/sources/toonz/levelcommand.cpp b/toonz/sources/toonz/levelcommand.cpp index bf38066..1a4c8ec 100644 --- a/toonz/sources/toonz/levelcommand.cpp +++ b/toonz/sources/toonz/levelcommand.cpp @@ -511,6 +511,14 @@ void LevelCmd::addMissingLevelsToCast(const QList &columns) { } void LevelCmd::addMissingLevelsToCast(std::set &levels) { + // remove zerary fx levels which are not registered in the cast + for (auto it = levels.begin(); it != levels.end();) { + if ((*it)->getZeraryFxLevel()) + it = levels.erase(it); + else + ++it; + } + if (levels.empty()) return; TUndoManager::manager()->beginBlock(); TLevelSet *levelSet = diff --git a/toonz/sources/toonz/xshcolumnviewer.cpp b/toonz/sources/toonz/xshcolumnviewer.cpp index f289a77..09d833b 100644 --- a/toonz/sources/toonz/xshcolumnviewer.cpp +++ b/toonz/sources/toonz/xshcolumnviewer.cpp @@ -1023,7 +1023,7 @@ void ColumnArea::DrawHeader::drawColumnName() const { // ZeraryFx columns store name elsewhere TXshZeraryFxColumn *zColumn = dynamic_cast(column); - if (zColumn) + if (zColumn && !isEmpty) name = ::to_string(zColumn->getZeraryColumnFx()->getZeraryFx()->getName()); QRect columnName = o->rect((col < 0) ? PredefinedRect::CAMERA_LAYER_NAME diff --git a/toonz/sources/toonzlib/txshzeraryfxcolumn.cpp b/toonz/sources/toonzlib/txshzeraryfxcolumn.cpp index 03c125f..b7940d5 100644 --- a/toonz/sources/toonzlib/txshzeraryfxcolumn.cpp +++ b/toonz/sources/toonzlib/txshzeraryfxcolumn.cpp @@ -29,7 +29,8 @@ TXshZeraryFxColumn::TXshZeraryFxColumn(int frameCount) TXshZeraryFxColumn::TXshZeraryFxColumn(const TXshZeraryFxColumn &src) : m_zeraryColumnFx(new TZeraryColumnFx()) - , m_zeraryFxLevel(new TXshZeraryFxLevel()) { + , m_zeraryFxLevel(new TXshZeraryFxLevel()) + , m_iconVisible(false) { m_zeraryColumnFx->addRef(); m_zeraryColumnFx->setColumn(this); m_zeraryFxLevel->addRef();