diff --git a/src/server/scene/basic_surface.cpp b/src/server/scene/basic_surface.cpp index 58cd9a1cbc5..cff979124da 100644 --- a/src/server/scene/basic_surface.cpp +++ b/src/server/scene/basic_surface.cpp @@ -287,6 +287,8 @@ ms::BasicSurface::BasicSurface( { if (auto const o = observers.lock()) o->frame_posted(this, 1, size); + else + BOOST_THROW_EXCEPTION(std::runtime_error("Frame posted to dead surface")); }; for (auto& layer : layers) @@ -915,6 +917,8 @@ void ms::BasicSurface::set_streams(std::list const& s) { if (auto const o = observers.lock()) o->frame_posted(this, 1, size); + else + BOOST_THROW_EXCEPTION(std::runtime_error("Frame posted to dead surface")); }); surface_top_left = surface_rect.top_left; } diff --git a/src/wayland/wayland_base.cpp b/src/wayland/wayland_base.cpp index 5487ce546fe..7245ca9b981 100644 --- a/src/wayland/wayland_base.cpp +++ b/src/wayland/wayland_base.cpp @@ -50,7 +50,7 @@ void mw::internal_error_processing_request(wl_client* client, char const* method wl_client_post_no_memory(client); #endif ::mir::log( - ::mir::logging::Severity::error, + ::mir::logging::Severity::warning, "frontend:Wayland", std::current_exception(), std::string() + "Exception processing " + method_name + " request");