diff options
author | lukefromdc <[email protected]> | 2025-02-25 14:53:11 -0500 |
---|---|---|
committer | lukefromdc <[email protected]> | 2025-03-03 22:18:11 -0500 |
commit | b96e9bb8ee085b6d6dc499f70d143dd611c492c7 (patch) | |
tree | 22e955a9a8c756c57e170b51ded479deff07b969 | |
parent | db229c01a3ed39622cf5f5e94cccc42e3eb50c87 (diff) | |
download | atril-b96e9bb8ee085b6d6dc499f70d143dd611c492c7.tar.bz2 atril-b96e9bb8ee085b6d6dc499f70d143dd611c492c7.tar.xz |
Wayland: stop segfaults on some systemsfix-wlcrash
*Put a missed instance of gdk_x11_screen_get_screen_number behind x11-only selectors
-rw-r--r-- | shell/ev-application.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/shell/ev-application.c b/shell/ev-application.c index 56279aca..57f1b922 100644 --- a/shell/ev-application.c +++ b/shell/ev-application.c @@ -419,9 +419,17 @@ on_register_uri_cb (GObject *source_object, g_variant_builder_add (&builder, "{sv}", "display", g_variant_new_string (gdk_display_get_name (gdk_screen_get_display (data->screen)))); - g_variant_builder_add (&builder, "{sv}", - "screen", - g_variant_new_int32 (gdk_x11_screen_get_screen_number (data->screen))); + + if (GDK_IS_X11_SCREEN (data->screen)) { + g_variant_builder_add (&builder, "{sv}", + "screen", + g_variant_new_int32 (gdk_x11_screen_get_screen_number (data->screen))); + } else { + /*Do not crash on wayland, use the first monitor for now*/ + g_variant_builder_add (&builder, "{sv}", + "screen", + g_variant_new_int32 (0)); + } if (data->dest) { switch (ev_link_dest_get_dest_type (data->dest)) { case EV_LINK_DEST_TYPE_PAGE_LABEL: |