On Mon, 2017-06-19 at 10:06 -0400, Frediano Ziglio wrote: > Question: can GDK have no X11? chances are low but there may be a distro shipping gtk without the x11 backend > I suppose only wayland compiled in? or win32 or quartz (macOS). The issue I noticed was in egl - which can work with wayland or X11 Pavel > > > > > --- > > src/spice-gtk-session.c | 2 +- > > src/spice-widget-egl.c | 14 +++++++++++++- > > src/spice-widget.c | 2 +- > > 3 files changed, 15 insertions(+), 3 deletions(-) > > > > diff --git a/src/spice-gtk-session.c b/src/spice-gtk-session.c > > index 33db3c8..e338ce6 100644 > > --- a/src/spice-gtk-session.c > > +++ b/src/spice-gtk-session.c > > @@ -18,10 +18,10 @@ > > #include "config.h" > > > > #include <glib.h> > > +#include <gdk/gdk.h> > > > > #ifdef HAVE_X11_XKBLIB_H > > #include <X11/XKBlib.h> > > -#include <gdk/gdkx.h> > > #endif > > #ifdef GDK_WINDOWING_X11 > > #include <X11/Xlib.h> > > diff --git a/src/spice-widget-egl.c b/src/spice-widget-egl.c > > index 7c21113..b50641c 100644 > > --- a/src/spice-widget-egl.c > > +++ b/src/spice-widget-egl.c > > @@ -18,6 +18,7 @@ > > #include "config.h" > > > > #include <math.h> > > +#include <gdk/gdk.h> > > > > #define EGL_EGLEXT_PROTOTYPES > > #define GL_GLEXT_PROTOTYPES > > @@ -27,7 +28,9 @@ > > #include "spice-gtk-session-priv.h" > > #include <libdrm/drm_fourcc.h> > > > > +#ifdef GDK_WINDOWING_X11 > > #include <gdk/gdkx.h> > > +#endif > > #ifdef GDK_WINDOWING_WAYLAND > > #include <gdk/gdkwayland.h> > > #endif > > @@ -291,6 +294,7 @@ gl_make_current(SpiceDisplay *display, GError > > **err) > > > > g_return_val_if_fail(d->egl.context_ready, FALSE); > > > > +#ifdef GDK_WINDOWING_X11 > > if (GDK_IS_X11_DISPLAY(gdk_display_get_default())) { > > EGLBoolean success = eglMakeCurrent(d->egl.display, > > d->egl.surface, > > @@ -303,8 +307,12 @@ gl_make_current(SpiceDisplay *display, GError > > **err) > > return FALSE; > > } > > } > > +#endif > > #if GTK_CHECK_VERSION(3,16,0) > > - else { > > +#ifdef GDK_WINDOWING_X11 > > + else > > +#endif > > + { > > /* Ignore GLib's too-new warnings */ > > G_GNUC_BEGIN_IGNORE_DEPRECATIONS > > GtkWidget *area = gtk_stack_get_child_by_name(d->stack, > > "gl-area"); > > @@ -402,6 +410,7 @@ void spice_egl_unrealize_display(SpiceDisplay > > *display) > > d->egl.prog = 0; > > } > > > > +#ifdef GDK_WINDOWING_X11 > > if (GDK_IS_X11_DISPLAY(gdk_display_get_default())) { > > /* egl.surface && egl.ctx are only created on x11, see > > spice_egl_init() */ > > @@ -422,6 +431,7 @@ void spice_egl_unrealize_display(SpiceDisplay > > *display) > > /* do not call eglterminate() since egl may be used by > > * somebody else code */ > > } > > +#endif > > } > > > > G_GNUC_INTERNAL > > @@ -619,10 +629,12 @@ void spice_egl_update_display(SpiceDisplay > > *display) > > 0, 0, 1, 1); > > } > > > > +#ifdef GDK_WINDOWING_X11 > > if (GDK_IS_X11_DISPLAY(gdk_display_get_default())) { > > /* gtk+ does the swap with gtkglarea */ > > eglSwapBuffers(d->egl.display, d->egl.surface); > > } > > +#endif > > > > glUseProgram(prog); > > } > > diff --git a/src/spice-widget.c b/src/spice-widget.c > > index 386724d..139510d 100644 > > --- a/src/spice-widget.c > > +++ b/src/spice-widget.c > > @@ -19,10 +19,10 @@ > > > > #include <math.h> > > #include <glib.h> > > +#include <gdk/gdk.h> > > > > #ifdef HAVE_X11_XKBLIB_H > > #include <X11/XKBlib.h> > > -#include <gdk/gdkx.h> > > #endif > > #ifdef GDK_WINDOWING_X11 > > #include <X11/Xlib.h> _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel