diff Framework/Widgets/LayerWidget.cpp @ 99:efd9ef2b67f1 wasm

fix
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 30 May 2017 21:08:31 +0200
parents d18dcc963930
children 474d85e76499
line wrap: on
line diff
--- a/Framework/Widgets/LayerWidget.cpp	Tue May 30 15:02:24 2017 +0200
+++ b/Framework/Widgets/LayerWidget.cpp	Tue May 30 21:08:31 2017 +0200
@@ -22,7 +22,7 @@
 #include "LayerWidget.h"
 
 #include "../../Resources/Orthanc/Core/Logging.h"
-#include "../Layers/MissingLayerRenderer.h"
+#include "../Layers/SliceOutlineRenderer.h"
 
 static const double THIN_SLICE_THICKNESS = 100.0 * std::numeric_limits<double>::epsilon();
 
@@ -241,8 +241,6 @@
 
     for (size_t i = 0; i < layers_.size(); i++)
     {
-      double ax, ay, bx, by;
-
       assert(layers_[i] != NULL);
       Extent layerExtent;
       GetLayerExtent(layerExtent, *layers_[i]);
@@ -500,7 +498,7 @@
                                      bool isError)
   {
     size_t index;
-    if (renderer.get() != NULL &&
+    if (slice.IsValid() &&
         LookupLayer(index, source) &&
         slice.ContainsPlane(slice_))  // Whether the slice comes from an older request
     {
@@ -513,7 +511,14 @@
         LOG(INFO) << "Renderer ready for layer " << index;
       }
       
-      UpdateLayer(index, renderer.release(), slice);
+      if (renderer.get() != NULL)
+      {
+        UpdateLayer(index, renderer.release(), slice);
+      }
+      else if (isError)
+      {
+        UpdateLayer(index, new SliceOutlineRenderer(slice), slice);
+      }
     }
   }
 }