[gtk+/gdk-backend] x11: typedef GdkX11Display to GdkDisplay



commit 89b1a067b82155e7d6723c9ab9903268d43640cf
Author: Benjamin Otte <otte redhat com>
Date:   Mon Dec 20 23:43:04 2010 +0100

    x11: typedef GdkX11Display to GdkDisplay
    
    This is for compatibility reasons. We want to change APIs that operate
    on X11 objects to take the X11 objects as arguments. However, this would
    break a lot of APIs and we'd like to avoid this, so we play this little
    trick (we will use the same trick for the other X11 objects). Also,
    gobject-introspection and other bindings can correctly attach the
    functions to the correct types as it is the same scheme that GDK2 used
    for pixmaps, windows and drawables.
    
    For GTK 4, we will remove this trick, so apps should properly cast their
    objects right now.
    Unfortunately, I don't think there is a way to use
    GDK_DISABLE_DEPRECATED or similar macros to check for proper type casts
    while compiling ensure compatibility with future GDK versions. I'm free
    to consider them though.

 gdk/x11/gdkx11display.h |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
---
diff --git a/gdk/x11/gdkx11display.h b/gdk/x11/gdkx11display.h
index 70e8a14..b544ac4 100644
--- a/gdk/x11/gdkx11display.h
+++ b/gdk/x11/gdkx11display.h
@@ -38,7 +38,11 @@
 
 G_BEGIN_DECLS
 
+#ifdef GDK_COMPILATION
 typedef struct _GdkX11Display GdkX11Display;
+#else
+typedef GdkDisplay GdkX11Display;
+#endif
 typedef struct _GdkX11DisplayClass GdkX11DisplayClass;
 
 #define GDK_TYPE_X11_DISPLAY              (gdk_x11_display_get_type())



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