summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlukefromdc <[email protected]>2025-02-25 14:53:11 -0500
committerlukefromdc <[email protected]>2025-03-03 22:18:11 -0500
commitb96e9bb8ee085b6d6dc499f70d143dd611c492c7 (patch)
tree22e955a9a8c756c57e170b51ded479deff07b969
parentdb229c01a3ed39622cf5f5e94cccc42e3eb50c87 (diff)
downloadatril-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.c14
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: