From 8a019c9bb995389a53574551c6d643da0ff90138 Mon Sep 17 00:00:00 2001 From: Christian Helmuth Date: Fri, 3 May 2024 09:06:36 +0200 Subject: [PATCH] nitpicker: always update "displays" report Restore the reporting in situations where all capture sessions are gone. This fixes the webcam package that disables the USB webcam driver when nitpicker report no active displays. Issue #5187 --- repos/os/src/server/nitpicker/main.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/repos/os/src/server/nitpicker/main.cc b/repos/os/src/server/nitpicker/main.cc index 214b74ed9e..f4924d9c75 100644 --- a/repos/os/src/server/nitpicker/main.cc +++ b/repos/os/src/server/nitpicker/main.cc @@ -292,6 +292,13 @@ class Nitpicker::Capture_root : public Root_component void report_displays(Xml_generator &xml) const { + bool any_session_present = false; + _sessions.for_each([&] (Capture_session const &) { + any_session_present = true; }); + + if (!any_session_present) + return; + Area const size = bounding_box(); if (size.count() == 0) @@ -540,10 +547,9 @@ struct Nitpicker::Main : Focus_updater, Hover_updater, /* notify clients about the change screen mode */ for (Gui_session *s = _session_list.first(); s; s = s->next()) s->notify_mode_change(); - - _report_displays(); } + _report_displays(); _update_input_connection(); }