App: be more thorough when checking surface-associated LayoutState
authorMarcus Fritzsch <marcus_fritzsch@mentor.com>
Tue, 12 Sep 2017 09:29:35 +0000 (11:29 +0200)
committerMarcus Fritzsch <marcus_fritzsch@mentor.com>
Tue, 12 Sep 2017 09:29:35 +0000 (11:29 +0200)
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
src/app.cpp

index 59b762d..6708706 100644 (file)
@@ -493,7 +493,13 @@ char const *App::deactivate_surface(char const *drawing_name) {
       return "Cannot deactivate main_surface";
    }
 
-   struct LayoutState &state = **this->layers.get_layout_state(*surface_id);
+   auto o_state = *this->layers.get_layout_state(*surface_id);
+
+   if (! o_state) {
+      return "Could not find layer for surface";
+   }
+
+   struct LayoutState &state = *o_state;
 
    if (state.main == -1) {
       return "No surface active";