a11y: Check X11 display at runtime
`gtk_widget_accessible_grab_focus()` code checks that X11 isenabled at build time and uses X11 specific functions such as `gdk_x11_get_server_time()` regardless of the actual backend being used. Check that we are using an X11 display when X11 is backend enabled, so we do not crash when running on Wayland Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1507
This commit is contained in:
parent
fcecc761cb
commit
ffeacd5ae3
@ -642,11 +642,12 @@ gtk_widget_accessible_grab_focus (AtkComponent *component)
|
||||
if (gtk_widget_is_toplevel (toplevel))
|
||||
{
|
||||
#ifdef GDK_WINDOWING_X11
|
||||
gtk_window_present_with_time (GTK_WINDOW (toplevel),
|
||||
gdk_x11_get_server_time (gtk_widget_get_window (widget)));
|
||||
#else
|
||||
gtk_window_present (GTK_WINDOW (toplevel));
|
||||
if (GDK_IS_X11_DISPLAY (gtk_widget_get_display (toplevel)))
|
||||
gtk_window_present_with_time (GTK_WINDOW (toplevel),
|
||||
gdk_x11_get_server_time (gtk_widget_get_window (widget)));
|
||||
else
|
||||
#endif
|
||||
gtk_window_present (GTK_WINDOW (toplevel));
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user