mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-02-17 05:30:27 +01:00
xwayland: Change randr_output status when call xwl_output_remove()
The function xwl_output_remove() is called when removing a monitor, but the actual status of the RandR output does not change. So, when RRTellChanged() is called from update_screen_size(), it won't have the output connection status up to date in the RandR event RROutputChangeNotifyEvent and X11 applications relying on that event like Qt will fail to emit their signal QGuiApplication::screenRemoved. To avoid that issue, make sure to mark the RandR output as disconnected prior to call xwl_output_remove(). Fix commit204f10c29("xwayland: Call RRTellChanged if the RandR configuration may have changed") Signed-off-by: zhoulei <zhoulei@kylinos.cn> Signed-off-by: Morose <chenlinxiang@kylinos.cn> Acked-by: Michel Dänzer <mdaenzer@redhat.com> Reviewed-by: Olivier Fourdan <ofourdan@redhat.com> (cherry picked from commit2ec7c1680a)
This commit is contained in:
parent
29d14492b1
commit
5e7ba574ec
1 changed files with 2 additions and 0 deletions
|
|
@ -827,6 +827,8 @@ xwl_output_remove(struct xwl_output *xwl_output)
|
|||
|
||||
xorg_list_del(&xwl_output->link);
|
||||
|
||||
RROutputSetConnection(xwl_output->randr_output, RR_Disconnected);
|
||||
|
||||
xorg_list_for_each_entry(it, &xwl_screen->output_list, link)
|
||||
output_get_new_size(it, &width, &height);
|
||||
update_screen_size(xwl_output, width, height);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue