remove direct use of rtt and dirty area from the layer
This commit is contained in:
@@ -402,12 +402,12 @@ void NodePanelLayer::merge(int src_index, int dst_index, bool create_history)
|
||||
a->m_direction = ActionLayerMerge::Direction::Undo;
|
||||
for (int i = 0; i < 6; i++)
|
||||
{
|
||||
a->m_dirty_box[i] = Canvas::I->m_layers[dst_index]->m_dirty_box[i];
|
||||
a->m_dirty_face[i] = Canvas::I->m_layers[dst_index]->m_dirty_face[i];
|
||||
a->m_dirty_box[i] = Canvas::I->m_layers[dst_index]->box(i);
|
||||
a->m_dirty_face[i] = Canvas::I->m_layers[dst_index]->face(i);
|
||||
}
|
||||
a->m_snap = std::make_shared<Layer::Snapshot>();
|
||||
*a->m_snap = Canvas::I->m_layers[dst_index]->snapshot(
|
||||
&Canvas::I->m_layers[src_index]->m_dirty_box, &Canvas::I->m_layers[src_index]->m_dirty_face);
|
||||
&Canvas::I->m_layers[src_index]->frame().m_dirty_box, &Canvas::I->m_layers[src_index]->frame().m_dirty_face);
|
||||
a->m_layer = Canvas::I->m_layers[src_index];
|
||||
a->m_layer_node = std::static_pointer_cast<NodeLayer>(m_layers_container->m_children[src_index]);
|
||||
a->m_layer_node->m_selected = false;
|
||||
@@ -491,8 +491,8 @@ void ActionLayerMerge::undo()
|
||||
Canvas::I->m_layers[m_dst_index]->restore(*m_snap);
|
||||
for (int i = 0; i < 6; i++)
|
||||
{
|
||||
Canvas::I->m_layers[m_dst_index]->m_dirty_box[i] = m_dirty_box[i];
|
||||
Canvas::I->m_layers[m_dst_index]->m_dirty_face[i] = m_dirty_face[i];
|
||||
Canvas::I->m_layers[m_dst_index]->box(i) = m_dirty_box[i];
|
||||
Canvas::I->m_layers[m_dst_index]->face(i) = m_dirty_face[i];
|
||||
}
|
||||
auto name = m_layer->m_name;
|
||||
m_panel->add_layer(name.c_str(), false, true, m_layer, m_layer_node, m_src_index);
|
||||
|
||||
Reference in New Issue
Block a user