From cb01ff204406b76fe80ff7b24792c6509a2538e1 Mon Sep 17 00:00:00 2001
From: Eric Rosenbaum <eric.rosenbaum@gmail.com>
Date: Tue, 1 Aug 2017 10:51:59 -0400
Subject: [PATCH] Check for sprites before trying to update block menus

---
 src/lib/blocks.js | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/src/lib/blocks.js b/src/lib/blocks.js
index 662eb245f..7f66b9b4c 100644
--- a/src/lib/blocks.js
+++ b/src/lib/blocks.js
@@ -29,19 +29,24 @@ export default function (vm) {
     };
 
     const soundsMenu = function () {
-        const sounds = vm.editingTarget.sprite.sounds;
-        if (sounds.length === 0) {
-            return [['', '']];
+        if (vm.editingTarget && vm.editingTarget.sprite.sounds.length > 0) {
+            return vm.editingTarget.sprite.sounds.map(sound => [sound.name, sound.name]);
         }
-        return sounds.map(sound => [sound.name, sound.name]);
+        return [['', '']];
     };
 
     const costumesMenu = function () {
-        return vm.editingTarget.sprite.costumes.map(costume => [costume.name, costume.name]);
+        if (vm.editingTarget && vm.editingTarget.sprite.costumes.length > 0) {
+            return vm.editingTarget.sprite.costumes.map(costume => [costume.name, costume.name]);
+        }
+        return [['', '']];
     };
 
     const backdropsMenu = function () {
-        return vm.runtime.targets[0].sprite.costumes.map(costume => [costume.name, costume.name]);
+        if (vm.runtime.targets[0] && vm.runtime.targets[0].sprite.costumes.length > 0) {
+            return vm.runtime.targets[0].sprite.costumes.map(costume => [costume.name, costume.name]);
+        }
+        return [['', '']];
     };
 
     const spriteMenu = function () {
-- 
GitLab