[aseprite] 89/308: Fix crash when we copy a cel w/drag-and-drop and change cel properties

Tobias Hansen thansen at moszumanska.debian.org
Tue Mar 8 02:44:56 UTC 2016


This is an automated email from the git hooks/post-receive script.

thansen pushed a commit to branch master
in repository aseprite.

commit 2f7e36a95e10e0e3b0e8cf3967a198af6e7be165
Author: David Capello <davidcapello at gmail.com>
Date:   Fri Dec 11 14:27:30 2015 -0300

    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.
---
 src/app/ui/document_view.cpp       | 10 ++++++++++
 src/app/ui/document_view.h         |  2 ++
 src/app/util/expand_cel_canvas.cpp |  5 -----
 3 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/src/app/ui/document_view.cpp b/src/app/ui/document_view.cpp
index 1988156..ea1df26 100644
--- a/src/app/ui/document_view.cpp
+++ b/src/app/ui/document_view.cpp
@@ -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)
 {
   if (m_editor->frame() >= m_editor->sprite()->totalFrames()) {
diff --git a/src/app/ui/document_view.h b/src/app/ui/document_view.h
index 2075fa5..e8c7e16 100644
--- a/src/app/ui/document_view.h
+++ b/src/app/ui/document_view.h
@@ -69,6 +69,8 @@ namespace app {
     void onBeforeRemoveLayer(doc::DocumentEvent& ev) override;
     void onAddFrame(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 onLayerRestacked(doc::DocumentEvent& ev) override;
 
diff --git a/src/app/util/expand_cel_canvas.cpp b/src/app/util/expand_cel_canvas.cpp
index 69ddf63..7206392 100644
--- a/src/app/util/expand_cel_canvas.cpp
+++ b/src/app/util/expand_cel_canvas.cpp
@@ -158,11 +158,6 @@ void ExpandCelCanvas::commit()
 
     // And finally we add the cel again in the layer.
     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) {
     // If the size of each image is the same, we can create an undo

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/aseprite.git



More information about the Pkg-games-commits mailing list