- auto drawing_name = this->lookup_name(surface_id);
- if (drawing_name) {
- this->api_deactivate_surface(drawing_name->c_str());
+ // We cannot normally deactivate the main_surface, so be explicit
+ // about it:
+ if (int(surface_id) == this->layers.main_surface) {
+ this->deactivate_main_surface();
+ } else {
+ auto drawing_name = this->lookup_name(surface_id);
+ if (drawing_name) {
+ this->api_deactivate_surface(drawing_name->c_str());
+ }