diff --git a/src/platforms/gbm-kms/server/kms/real_kms_output_container.cpp b/src/platforms/gbm-kms/server/kms/real_kms_output_container.cpp index dfe9e5cce8..90ce85487c 100644 --- a/src/platforms/gbm-kms/server/kms/real_kms_output_container.cpp +++ b/src/platforms/gbm-kms/server/kms/real_kms_output_container.cpp @@ -14,10 +14,12 @@ * along with this program. If not, see . */ +#define MIR_LOG_COMPONENT "gbm-kms" #include #include "real_kms_output_container.h" #include "real_kms_output.h" #include "kms-utils/drm_mode_resources.h" +#include namespace mgg = mir::graphics::gbm; @@ -55,6 +57,12 @@ void mgg::RealKMSOutputContainer::update_from_hardware_state() drm_fd == candidate->drm_fd(); }); + if (connector->connection != DRM_MODE_CONNECTED) + { + mir::log_warning("Connector is not connected, so not adding this output to the list."); + continue; + } + if (existing_output != outputs.end()) { // We could drop this down to O(n) by being smarter about moving out