App: thoroughly check LayoutState availability in activate too
[staging/windowmanager.git] / src / app.cpp
index 6708706..47fb85c 100644 (file)
@@ -392,7 +392,13 @@ char const *App::activate_surface(char const *drawing_name) {
       return "Surface is not on any layer!";
    }
 
-   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;
 
    // disable layers that are above our current layer
    for (auto const &l : this->layers.mapping) {