diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c5ec48d..1eedd9b3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -57,6 +57,8 @@ * Various fixes of bugs in newly introduced features and improvements: * [#625](https://github.com/foosel/OctoPrint/pull/625) - Newly added GCODE files were not being added to the analysis queue +* Various fixes without tickets: + * GCODE viewer now doesn't stumble over completely extrusionless GCODE files ## 1.1.2 (Unreleased) diff --git a/src/octoprint/static/js/app/viewmodels/gcode.js b/src/octoprint/static/js/app/viewmodels/gcode.js index b7396d32..5c882465 100644 --- a/src/octoprint/static/js/app/viewmodels/gcode.js +++ b/src/octoprint/static/js/app/viewmodels/gcode.js @@ -354,11 +354,13 @@ function GcodeViewModel(loginStateViewModel, settingsViewModel) { output.push(gettext("Layer number") + ": " + (layer.number + 1)); output.push(gettext("Layer height") + " (mm): " + layer.height); output.push(gettext("GCODE commands in layer") + ": " + layer.commands); - if (layer.filament.length == 1) { - output.push(gettext("Filament used by layer") + ": " + layer.filament[0].toFixed(2) + "mm"); - } else { - for (var i = 0; i < layer.filament.length; i++) { - output.push(gettext("Filament used by layer") + " (" + gettext("Tool") + " " + i + "): " + layer.filament[i].toFixed(2) + "mm"); + if (layer.filament != undefined) { + if (layer.filament.length == 1) { + output.push(gettext("Filament used by layer") + ": " + layer.filament[0].toFixed(2) + "mm"); + } else { + for (var i = 0; i < layer.filament.length; i++) { + output.push(gettext("Filament used by layer") + " (" + gettext("Tool") + " " + i + "): " + layer.filament[i].toFixed(2) + "mm"); + } } } output.push(gettext("Print time for layer") + ": " + formatDuration(layer.printTime));