Skip to content

Commit b81ab12

Browse files
committed
Guard against gdkx11 calls in a Wayland session.
Fixes #3468
1 parent 0144434 commit b81ab12

File tree

3 files changed

+13
-3
lines changed

3 files changed

+13
-3
lines changed

eel/eel-gtk-extensions.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -375,6 +375,11 @@ eel_gtk_get_window_xid (GtkWindow *window)
375375
{
376376
g_return_val_if_fail (GTK_IS_WINDOW (window), 0);
377377

378+
if (eel_check_is_wayland ()) {
379+
g_debug ("eel_gtk_get_window_xid: called on Wayland, returning 0");
380+
return 0;
381+
}
382+
378383
GdkWindow *gdkw = gtk_widget_get_window (GTK_WIDGET (window));
379384
g_return_val_if_fail (GDK_IS_X11_WINDOW (gdkw), 0);
380385

src/nemo-main-application.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -445,8 +445,12 @@ open_tabs_in_existing_window (NemoMainApplication *application,
445445

446446
/* Don't use `gtk_window_present()`, as the window manager will ignore this window's focus request and try
447447
* to just mark it urgent instead (flashing in the window list for example). */
448-
gtk_window_present_with_time (GTK_WINDOW (window),
449-
gdk_x11_get_server_time (gtk_widget_get_window (GTK_WIDGET (window))));
448+
if (eel_check_is_wayland ()) {
449+
gtk_window_present (GTK_WINDOW (window));
450+
} else {
451+
gtk_window_present_with_time (GTK_WINDOW (window),
452+
gdk_x11_get_server_time (gtk_widget_get_window (GTK_WIDGET (window))));
453+
}
450454

451455
break;
452456
}

src/nemo-view.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1205,7 +1205,8 @@ nemo_view_preview_files (NemoView *view,
12051205
uri = nemo_file_get_uri (files->data);
12061206
toplevel = gtk_widget_get_toplevel (GTK_WIDGET (view));
12071207

1208-
xid = gdk_x11_window_get_xid (gtk_widget_get_window (toplevel));
1208+
xid = eel_gtk_get_window_xid (GTK_WINDOW (toplevel));
1209+
12091210
nemo_previewer_call_show_file (previewer, uri, xid, TRUE);
12101211

12111212
g_free (uri);

0 commit comments

Comments
 (0)