diff --git a/gdk/wayland/gdkselection-wayland.c b/gdk/wayland/gdkselection-wayland.c index 455b0e6637..640fa4e112 100644 --- a/gdk/wayland/gdkselection-wayland.c +++ b/gdk/wayland/gdkselection-wayland.c @@ -705,7 +705,7 @@ data_source_target (void *data, { GdkWaylandSelection *wayland_selection = data; GdkDragContext *context = NULL; - GdkWindow *window; + GdkWindow *window = NULL; g_debug (G_STRLOC ": %s source = %p, mime_type = %s", G_STRFUNC, source, mime_type); @@ -732,7 +732,8 @@ data_source_target (void *data, } else if (source == wayland_selection->clipboard_source) window = wayland_selection->clipboard_owner; - else + + if (!window) return; gdk_wayland_selection_request_target (wayland_selection, window, @@ -771,6 +772,9 @@ data_source_send (void *data, return; } + if (!window) + return; + if (!gdk_wayland_selection_request_target (wayland_selection, window, gdk_atom_intern (mime_type, FALSE), fd))