diff --git a/src/Makefile.am b/src/Makefile.am index d17fdb370..c47d834fe 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -200,6 +200,7 @@ Shell-0.1.gir: $(mutter) $(G_IR_SCANNER) St-1.0.gir libgnome-shell.la Makefile --warn-error \ --add-include-path=$(MUTTER_LIB_DIR)/mutter/ \ --include=Clutter-1.0 \ + --include=ClutterX11-1.0 \ --include=Meta-2.31 \ --libtool="$(LIBTOOL)" \ --add-include-path=$(builddir) \ diff --git a/src/shell-gtk-embed.c b/src/shell-gtk-embed.c index 0f763bf3a..2c159ae92 100644 --- a/src/shell-gtk-embed.c +++ b/src/shell-gtk-embed.c @@ -5,8 +5,6 @@ #include "shell-embedded-window-private.h" #include "gtk-compat.h" -#include -#include #include enum { @@ -15,32 +13,12 @@ enum { PROP_WINDOW }; -typedef struct _ShellGtkEmbedPrivate ShellGtkEmbedPrivate; - -/* The reason that the instance/class structures are here is to avoid - * problems with g-ir-scanner chocking on ClutterGLXTexturePixmap. We - * stick with having a separate private structure so that we can move - * the instance/class structures back to the public header if this - * code is reused in another context where inheritance from C is useful. - */ -struct _ShellGtkEmbed -{ - ClutterGLXTexturePixmap parent; - - ShellGtkEmbedPrivate *priv; -}; - -struct _ShellGtkEmbedClass -{ - ClutterGLXTexturePixmapClass parent_class; -}; - struct _ShellGtkEmbedPrivate { ShellEmbeddedWindow *window; }; -G_DEFINE_TYPE (ShellGtkEmbed, shell_gtk_embed, CLUTTER_GLX_TYPE_TEXTURE_PIXMAP); +G_DEFINE_TYPE (ShellGtkEmbed, shell_gtk_embed, CLUTTER_X11_TYPE_TEXTURE_PIXMAP); static void shell_gtk_embed_set_window (ShellGtkEmbed *embed, ShellEmbeddedWindow *window); diff --git a/src/shell-gtk-embed.h b/src/shell-gtk-embed.h index d8f4e1dad..3d20fb09c 100644 --- a/src/shell-gtk-embed.h +++ b/src/shell-gtk-embed.h @@ -2,7 +2,7 @@ #ifndef __SHELL_GTK_EMBED_H__ #define __SHELL_GTK_EMBED_H__ -#include +#include #include "shell-embedded-window.h" @@ -15,6 +15,19 @@ typedef struct _ShellGtkEmbed ShellGtkEmbed; typedef struct _ShellGtkEmbedClass ShellGtkEmbedClass; +typedef struct _ShellGtkEmbedPrivate ShellGtkEmbedPrivate; + +struct _ShellGtkEmbed +{ + ClutterX11TexturePixmap parent; + + ShellGtkEmbedPrivate *priv; +}; + +struct _ShellGtkEmbedClass +{ + ClutterX11TexturePixmapClass parent_class; +}; GType shell_gtk_embed_get_type (void) G_GNUC_CONST; ClutterActor *shell_gtk_embed_new (ShellEmbeddedWindow *window);