[gnome-shell] [ShellGtkEmbed] base this on ClutterX11TexturePixmap, not ClutterGLX



commit 745e8f608fb57adb12d11ed1e83fc176d024757e
Author: Dan Winship <danw gnome org>
Date:   Mon Sep 20 11:23:02 2010 -0400

    [ShellGtkEmbed] base this on ClutterX11TexturePixmap, not ClutterGLX
    
    As of 1.4, ClutterGLXTexturePixmap is identical to
    ClutterX11TexturePixmap (with the differences having been moved into
    the cogl layer). So make ShellGtkEmbed use the (introspected) X11
    version, which then allows us to make the instance and class structs
    public as well.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=608869

 src/Makefile.am       |    1 +
 src/shell-gtk-embed.c |   24 +-----------------------
 src/shell-gtk-embed.h |   15 ++++++++++++++-
 3 files changed, 16 insertions(+), 24 deletions(-)
---
diff --git a/src/Makefile.am b/src/Makefile.am
index d17fdb3..c47d834 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 0f763bf..2c159ae 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 <clutter/glx/clutter-glx.h>
-#include <clutter/x11/clutter-x11.h>
 #include <gdk/gdkx.h>
 
 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 d8f4e1d..3d20fb0 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 <clutter/glx/clutter-glx.h>
+#include <clutter/x11/clutter-x11.h>
 
 #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);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]