Update return value of ScreenCapturerX11::HandleXEvent().

HandleXEvent() returns true to indicate the event is consumed and
should not be passed to other registered handlers of the same
event-type.

In ScreenCapturerX11, this makes sense for XDamage events because they
are scoped to the object's |damage_handle_|. But RRScreenChangeNotify
and ConfigureNotify events are scoped to the root window, so this CL
changes the return value to false for these events. This allows other
handlers (including other screen-capturer instances) to see these
events.

Bug: webrtc:14060
Change-Id: Id18917b0b62d125da08578e08df9648062500cad
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262142
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Auto-Submit: Lambros Lambrou <lambroslambrou@chromium.org>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Cr-Commit-Position: refs/heads/main@{#36858}
This commit is contained in:
Lambros Lambrou 2022-05-11 14:45:14 -07:00 committed by WebRTC LUCI CQ
parent edd2786a79
commit b17745973f

View File

@ -350,10 +350,10 @@ bool ScreenCapturerX11::HandleXEvent(const XEvent& event) {
XRRUpdateConfiguration(const_cast<XEvent*>(&event));
UpdateMonitors();
RTC_LOG(LS_INFO) << "XRandR screen change event received.";
return true;
return false;
} else if (event.type == ConfigureNotify) {
ScreenConfigurationChanged();
return true;
return false;
}
return false;
}