From 1d617214b4afb8dbf3f973c8f85d5b03f4be50d7 Mon Sep 17 00:00:00 2001
From: Paul Kaplan <pkaplan@media.mit.edu>
Date: Mon, 11 Feb 2019 09:28:16 -0500
Subject: [PATCH] Simplify disposal method handling

---
 src/lib/gif-decoder.js | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/src/lib/gif-decoder.js b/src/lib/gif-decoder.js
index c6cc50ece..91466eaa4 100644
--- a/src/lib/gif-decoder.js
+++ b/src/lib/gif-decoder.js
@@ -34,10 +34,6 @@ export default (arrayBuffer, {onFrame, onDone}) => {
         const dataUrl = canvas.toDataURL();
 
         switch (disposal) {
-        case 0:
-        case 1: // Both are "keep previous frame"
-            previousData = ctx.getImageData(0, 0, canvas.width, canvas.height);
-            break;
         case 2: // "Return to background", blank out the current frame
             ctx.clearRect(x, y, width, height);
             imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
@@ -46,8 +42,7 @@ export default (arrayBuffer, {onFrame, onDone}) => {
             imageData = ctx.createImageData(canvas.width, canvas.height);
             imageData.data.set(previousData.data);
             break;
-        default:
-            // Not defined, treat like do-not-dispose
+        default: // 0 and 1, as well as 4+ modes = do-not-dispose, so cache frame
             previousData = ctx.getImageData(0, 0, canvas.width, canvas.height);
             break;
 
-- 
GitLab