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
This commit is contained in:
Christian Helmuth 2024-05-03 09:06:36 +02:00
parent 25b918052b
commit 8a019c9bb9

View File

@ -292,6 +292,13 @@ class Nitpicker::Capture_root : public Root_component<Capture_session>
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();
}