[aseprite] 108/128: Fix crash when we press Del key to completely delete a cel

Tobias Hansen thansen at moszumanska.debian.org
Mon May 9 21:24:29 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 eec29049748b224c368e6266035917f38bd3d9cb
Author: David Capello <davidcapello at gmail.com>
Date:   Wed May 4 18:58:36 2016 -0300

    Fix crash when we press Del key to completely delete a cel
---
 src/app/ui/document_view.cpp          | 5 ++++-
 src/app/ui/editor/pixels_movement.cpp | 5 ++++-
 src/app/util/clipboard.cpp            | 6 +++++-
 3 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/src/app/ui/document_view.cpp b/src/app/ui/document_view.cpp
index 748d9c4..17571e9 100644
--- a/src/app/ui/document_view.cpp
+++ b/src/app/ui/document_view.cpp
@@ -509,7 +509,10 @@ bool DocumentView::onClear(Context* ctx)
   {
     Transaction transaction(writer.context(), "Clear");
     transaction.execute(new cmd::ClearMask(writer.cel()));
-    transaction.execute(new cmd::TrimCel(writer.cel()));
+
+    // If the cel wasn't deleted by cmd::ClearMask, we trim it.
+    if (writer.cel())
+      transaction.execute(new cmd::TrimCel(writer.cel()));
 
     if (visibleMask &&
         !Preferences::instance().selection.keepSelectionAfterClear())
diff --git a/src/app/ui/editor/pixels_movement.cpp b/src/app/ui/editor/pixels_movement.cpp
index 25fab61..b985c46 100644
--- a/src/app/ui/editor/pixels_movement.cpp
+++ b/src/app/ui/editor/pixels_movement.cpp
@@ -179,7 +179,10 @@ void PixelsMovement::cutMask()
     ContextWriter writer(m_reader, 1000);
     if (writer.cel()) {
       m_transaction.execute(new cmd::ClearMask(writer.cel()));
-      m_transaction.execute(new cmd::TrimCel(writer.cel()));
+
+      ASSERT(writer.cel());
+      if (writer.cel())
+        m_transaction.execute(new cmd::TrimCel(writer.cel()));
     }
   }
 
diff --git a/src/app/util/clipboard.cpp b/src/app/util/clipboard.cpp
index f834baf..e451572 100644
--- a/src/app/util/clipboard.cpp
+++ b/src/app/util/clipboard.cpp
@@ -226,7 +226,11 @@ void cut(ContextWriter& writer)
     {
       Transaction transaction(writer.context(), "Cut");
       transaction.execute(new cmd::ClearMask(writer.cel()));
-      transaction.execute(new cmd::TrimCel(writer.cel()));
+
+      ASSERT(writer.cel());
+      if (writer.cel())
+        transaction.execute(new cmd::TrimCel(writer.cel()));
+
       transaction.execute(new cmd::DeselectMask(writer.document()));
       transaction.commit();
     }

-- 
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