mirror of
https://github.com/aseprite/aseprite.git
synced 2025-04-02 13:20:12 +00:00
Fix crash when we copy a cel w/drag-and-drop and change cel properties
This is because Context::notifyActiveSiteChanged() wasn't called on each onAdd/RemoveCel() events. This should fix several bugs.
This commit is contained in:
parent
f27836744f
commit
2f7e36a95e
@ -411,6 +411,16 @@ void DocumentView::onRemoveFrame(doc::DocumentEvent& ev)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DocumentView::onAddCel(doc::DocumentEvent& ev)
|
||||||
|
{
|
||||||
|
UIContext::instance()->notifyActiveSiteChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
void DocumentView::onRemoveCel(doc::DocumentEvent& ev)
|
||||||
|
{
|
||||||
|
UIContext::instance()->notifyActiveSiteChanged();
|
||||||
|
}
|
||||||
|
|
||||||
void DocumentView::onTotalFramesChanged(doc::DocumentEvent& ev)
|
void DocumentView::onTotalFramesChanged(doc::DocumentEvent& ev)
|
||||||
{
|
{
|
||||||
if (m_editor->frame() >= m_editor->sprite()->totalFrames()) {
|
if (m_editor->frame() >= m_editor->sprite()->totalFrames()) {
|
||||||
|
@ -69,6 +69,8 @@ namespace app {
|
|||||||
void onBeforeRemoveLayer(doc::DocumentEvent& ev) override;
|
void onBeforeRemoveLayer(doc::DocumentEvent& ev) override;
|
||||||
void onAddFrame(doc::DocumentEvent& ev) override;
|
void onAddFrame(doc::DocumentEvent& ev) override;
|
||||||
void onRemoveFrame(doc::DocumentEvent& ev) override;
|
void onRemoveFrame(doc::DocumentEvent& ev) override;
|
||||||
|
void onAddCel(doc::DocumentEvent& ev) override;
|
||||||
|
void onRemoveCel(doc::DocumentEvent& ev) override;
|
||||||
void onTotalFramesChanged(doc::DocumentEvent& ev) override;
|
void onTotalFramesChanged(doc::DocumentEvent& ev) override;
|
||||||
void onLayerRestacked(doc::DocumentEvent& ev) override;
|
void onLayerRestacked(doc::DocumentEvent& ev) override;
|
||||||
|
|
||||||
|
@ -158,11 +158,6 @@ void ExpandCelCanvas::commit()
|
|||||||
|
|
||||||
// And finally we add the cel again in the layer.
|
// And finally we add the cel again in the layer.
|
||||||
m_transaction.execute(new cmd::AddCel(m_layer, m_cel));
|
m_transaction.execute(new cmd::AddCel(m_layer, m_cel));
|
||||||
|
|
||||||
// As we've created the cel, the active context site has changed
|
|
||||||
// (context->site().cel() to be precise).
|
|
||||||
if (m_document->context())
|
|
||||||
m_document->context()->notifyActiveSiteChanged();
|
|
||||||
}
|
}
|
||||||
else if (m_celImage) {
|
else if (m_celImage) {
|
||||||
// If the size of each image is the same, we can create an undo
|
// If the size of each image is the same, we can create an undo
|
||||||
|
Loading…
x
Reference in New Issue
Block a user