summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog19
-rw-r--r--gdk/gdk.h4
-rw-r--r--gdk/gdkapplaunchcontext.h4
-rw-r--r--gdk/gdkcairo.h4
-rw-r--r--gdk/gdkcolor.h6
-rw-r--r--gdk/gdkcursor.h6
-rw-r--r--gdk/gdkdisplay.h5
-rw-r--r--gdk/gdkdisplaymanager.h4
-rw-r--r--gdk/gdkdnd.h7
-rw-r--r--gdk/gdkdrawable.h7
-rw-r--r--gdk/gdkenumtypes.h.template4
-rw-r--r--gdk/gdkevents.h6
-rw-r--r--gdk/gdkgc.h6
-rw-r--r--gdk/gdkimage.h6
-rw-r--r--gdk/gdkinput.h6
-rw-r--r--gdk/gdkkeys.h4
-rw-r--r--gdk/gdkpango.h4
-rw-r--r--gdk/gdkpixbuf.h6
-rw-r--r--gdk/gdkpixmap.h6
-rw-r--r--gdk/gdkprivate.h9
-rw-r--r--gdk/gdkproperty.h6
-rw-r--r--gdk/gdkregion.h6
-rw-r--r--gdk/gdkrgb.h6
-rw-r--r--gdk/gdkscreen.h4
-rw-r--r--gdk/gdkselection.h6
-rw-r--r--gdk/gdkspawn.h4
-rw-r--r--gdk/gdktestutils.h6
-rw-r--r--gdk/gdktypes.h6
-rw-r--r--gdk/gdkvisual.h6
-rw-r--r--gdk/gdkwindow.h6
-rw-r--r--gdk/win32/gdkwin32.h1
-rw-r--r--gdk/x11/gdkx.h1
32 files changed, 153 insertions, 28 deletions
diff --git a/ChangeLog b/ChangeLog
index 963565bbf6..b7f90425fd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,22 @@
+2008-05-28 Michael Natterer <mitch@imendio.com>
+
+ * gdk/gdk.h: define __GDK_H_INSIDE__ around including all other
+ headers.
+
+ * gdk/gdkenumtypes.h.template
+ * gdk/gdk*.h: add single-include guards that #error out if
+ GTK_DISABLE_SINGLE_INCLUDES is defined and any of these files is
+ included individually. Also removed some redundant includes and
+ did some tiny trailing whitespace removal that's not worth to
+ commit separately.
+
+ * gdk/gdkprivate.h: include <gdk/gdk.h> instead of individual
+ files.
+
+ * gdk/win32/gdkwin32.h
+ * gdk/x11/gdkx.h: only include <gdk/gdkprivate.h> and remove all
+ other includes.
+
2008-05-28 Kristian Rietveld <kris@imendio.com>
Bug 504087 - make gtk_tooltip_set_custom a no-op for setting the
diff --git a/gdk/gdk.h b/gdk/gdk.h
index b661d7a478..b81d48839a 100644
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -27,6 +27,8 @@
#ifndef __GDK_H__
#define __GDK_H__
+#define __GDK_H_INSIDE__
+
#include <gdk/gdkapplaunchcontext.h>
#include <gdk/gdkcairo.h>
#include <gdk/gdkcolor.h>
@@ -56,6 +58,8 @@
#include <gdk/gdkvisual.h>
#include <gdk/gdkwindow.h>
+#undef __GDK_H_INSIDE__
+
G_BEGIN_DECLS
diff --git a/gdk/gdkapplaunchcontext.h b/gdk/gdkapplaunchcontext.h
index 806125b630..31b473070d 100644
--- a/gdk/gdkapplaunchcontext.h
+++ b/gdk/gdkapplaunchcontext.h
@@ -20,6 +20,10 @@
Author: Alexander Larsson <alexl@redhat.com>
*/
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
#ifndef __GDK_APP_LAUNCH_CONTEXT_H__
#define __GDK_APP_LAUNCH_CONTEXT_H__
diff --git a/gdk/gdkcairo.h b/gdk/gdkcairo.h
index 19c954d46f..70d79de882 100644
--- a/gdk/gdkcairo.h
+++ b/gdk/gdkcairo.h
@@ -17,6 +17,10 @@
* Boston, MA 02111-1307, USA.
*/
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
#ifndef __GDK_CAIRO_H__
#define __GDK_CAIRO_H__
diff --git a/gdk/gdkcolor.h b/gdk/gdkcolor.h
index 9ce33f5334..54fc3015c3 100644
--- a/gdk/gdkcolor.h
+++ b/gdk/gdkcolor.h
@@ -21,9 +21,13 @@
* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
* file for a list of people on the GTK+ Team. See the ChangeLog
* files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
#ifndef __GDK_COLOR_H__
#define __GDK_COLOR_H__
diff --git a/gdk/gdkcursor.h b/gdk/gdkcursor.h
index 7eaa9cae6b..488faa498f 100644
--- a/gdk/gdkcursor.h
+++ b/gdk/gdkcursor.h
@@ -21,9 +21,13 @@
* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
* file for a list of people on the GTK+ Team. See the ChangeLog
* files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
#ifndef __GDK_CURSOR_H__
#define __GDK_CURSOR_H__
diff --git a/gdk/gdkdisplay.h b/gdk/gdkdisplay.h
index f2eef22535..04bf1831bb 100644
--- a/gdk/gdkdisplay.h
+++ b/gdk/gdkdisplay.h
@@ -21,12 +21,15 @@
* Boston, MA 02111-1307, USA.
*/
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
#ifndef __GDK_DISPLAY_H__
#define __GDK_DISPLAY_H__
#include <gdk/gdktypes.h>
#include <gdk/gdkevents.h>
-#include <glib-object.h>
G_BEGIN_DECLS
diff --git a/gdk/gdkdisplaymanager.h b/gdk/gdkdisplaymanager.h
index 7529441728..eef441f258 100644
--- a/gdk/gdkdisplaymanager.h
+++ b/gdk/gdkdisplaymanager.h
@@ -24,6 +24,10 @@
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
#ifndef __GDK_DISPLAY_MANAGER_H__
#define __GDK_DISPLAY_MANAGER_H__
diff --git a/gdk/gdkdnd.h b/gdk/gdkdnd.h
index 684405320d..ae8362fbd6 100644
--- a/gdk/gdkdnd.h
+++ b/gdk/gdkdnd.h
@@ -21,8 +21,13 @@
* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
* file for a list of people on the GTK+ Team. See the ChangeLog
* files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
+
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
#ifndef __GDK_DND_H__
#define __GDK_DND_H__
diff --git a/gdk/gdkdrawable.h b/gdk/gdkdrawable.h
index bbd6a4dc37..508bf86fcf 100644
--- a/gdk/gdkdrawable.h
+++ b/gdk/gdkdrawable.h
@@ -21,8 +21,13 @@
* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
* file for a list of people on the GTK+ Team. See the ChangeLog
* files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
+
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
#ifndef __GDK_DRAWABLE_H__
#define __GDK_DRAWABLE_H__
diff --git a/gdk/gdkenumtypes.h.template b/gdk/gdkenumtypes.h.template
index 51b82940f9..5677106b23 100644
--- a/gdk/gdkenumtypes.h.template
+++ b/gdk/gdkenumtypes.h.template
@@ -1,4 +1,8 @@
/*** BEGIN file-header ***/
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
#ifndef __GDK_ENUM_TYPES_H__
#define __GDK_ENUM_TYPES_H__
diff --git a/gdk/gdkevents.h b/gdk/gdkevents.h
index ba2c82ac8f..87cc837340 100644
--- a/gdk/gdkevents.h
+++ b/gdk/gdkevents.h
@@ -21,9 +21,13 @@
* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
* file for a list of people on the GTK+ Team. See the ChangeLog
* files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
#ifndef __GDK_EVENTS_H__
#define __GDK_EVENTS_H__
diff --git a/gdk/gdkgc.h b/gdk/gdkgc.h
index 70be9875b3..ff0460504f 100644
--- a/gdk/gdkgc.h
+++ b/gdk/gdkgc.h
@@ -21,9 +21,13 @@
* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
* file for a list of people on the GTK+ Team. See the ChangeLog
* files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
#ifndef __GDK_GC_H__
#define __GDK_GC_H__
diff --git a/gdk/gdkimage.h b/gdk/gdkimage.h
index 5b8303be6b..1c3c40176c 100644
--- a/gdk/gdkimage.h
+++ b/gdk/gdkimage.h
@@ -21,9 +21,13 @@
* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
* file for a list of people on the GTK+ Team. See the ChangeLog
* files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
#ifndef __GDK_IMAGE_H__
#define __GDK_IMAGE_H__
diff --git a/gdk/gdkinput.h b/gdk/gdkinput.h
index d5fe003d7e..454def8f2b 100644
--- a/gdk/gdkinput.h
+++ b/gdk/gdkinput.h
@@ -21,9 +21,13 @@
* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
* file for a list of people on the GTK+ Team. See the ChangeLog
* files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
#ifndef __GDK_INPUT_H__
#define __GDK_INPUT_H__
diff --git a/gdk/gdkkeys.h b/gdk/gdkkeys.h
index fda2997e53..839cbe765b 100644
--- a/gdk/gdkkeys.h
+++ b/gdk/gdkkeys.h
@@ -24,6 +24,10 @@
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
#ifndef __GDK_KEYS_H__
#define __GDK_KEYS_H__
diff --git a/gdk/gdkpango.h b/gdk/gdkpango.h
index ce6bf848f6..39df0ef4d1 100644
--- a/gdk/gdkpango.h
+++ b/gdk/gdkpango.h
@@ -17,6 +17,10 @@
* Boston, MA 02111-1307, USA.
*/
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
#ifndef __GDK_PANGO_H__
#define __GDK_PANGO_H__
diff --git a/gdk/gdkpixbuf.h b/gdk/gdkpixbuf.h
index 7ec7164451..e6cd09a36e 100644
--- a/gdk/gdkpixbuf.h
+++ b/gdk/gdkpixbuf.h
@@ -21,9 +21,13 @@
* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
* file for a list of people on the GTK+ Team. See the ChangeLog
* files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
#ifndef __GDK_PIXBUF_H__
#define __GDK_PIXBUF_H__
diff --git a/gdk/gdkpixmap.h b/gdk/gdkpixmap.h
index 1f9190b489..e309038915 100644
--- a/gdk/gdkpixmap.h
+++ b/gdk/gdkpixmap.h
@@ -21,9 +21,13 @@
* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
* file for a list of people on the GTK+ Team. See the ChangeLog
* files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
#ifndef __GDK_PIXMAP_H__
#define __GDK_PIXMAP_H__
diff --git a/gdk/gdkprivate.h b/gdk/gdkprivate.h
index 95af2e151f..031fe9ae7f 100644
--- a/gdk/gdkprivate.h
+++ b/gdk/gdkprivate.h
@@ -27,14 +27,7 @@
#ifndef __GDK_PRIVATE_H__
#define __GDK_PRIVATE_H__
-#include <gdk/gdktypes.h>
-#include <gdk/gdkevents.h>
-#include <gdk/gdkfont.h>
-#include <gdk/gdkgc.h>
-#include <gdk/gdkimage.h>
-#include <gdk/gdkregion.h>
-#include <gdk/gdkvisual.h>
-#include <gdk/gdkwindow.h>
+#include <gdk/gdk.h>
G_BEGIN_DECLS
diff --git a/gdk/gdkproperty.h b/gdk/gdkproperty.h
index 81b6c540b7..3cfda50191 100644
--- a/gdk/gdkproperty.h
+++ b/gdk/gdkproperty.h
@@ -21,9 +21,13 @@
* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
* file for a list of people on the GTK+ Team. See the ChangeLog
* files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
#ifndef __GDK_PROPERTY_H__
#define __GDK_PROPERTY_H__
diff --git a/gdk/gdkregion.h b/gdk/gdkregion.h
index e2c1a76560..b7381eaf4d 100644
--- a/gdk/gdkregion.h
+++ b/gdk/gdkregion.h
@@ -21,9 +21,13 @@
* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
* file for a list of people on the GTK+ Team. See the ChangeLog
* files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
#ifndef __GDK_REGION_H__
#define __GDK_REGION_H__
diff --git a/gdk/gdkrgb.h b/gdk/gdkrgb.h
index cc3d515306..2f615865b9 100644
--- a/gdk/gdkrgb.h
+++ b/gdk/gdkrgb.h
@@ -21,9 +21,13 @@
* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
* file for a list of people on the GTK+ Team. See the ChangeLog
* files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
#ifndef __GDK_RGB_H__
#define __GDK_RGB_H__
diff --git a/gdk/gdkscreen.h b/gdk/gdkscreen.h
index c89990335d..b1f3b8e8a7 100644
--- a/gdk/gdkscreen.h
+++ b/gdk/gdkscreen.h
@@ -21,6 +21,10 @@
* Boston, MA 02111-1307, USA.
*/
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
#ifndef __GDK_SCREEN_H__
#define __GDK_SCREEN_H__
diff --git a/gdk/gdkselection.h b/gdk/gdkselection.h
index 1787c8e50f..8b8f008dc0 100644
--- a/gdk/gdkselection.h
+++ b/gdk/gdkselection.h
@@ -21,9 +21,13 @@
* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
* file for a list of people on the GTK+ Team. See the ChangeLog
* files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
#ifndef __GDK_SELECTION_H__
#define __GDK_SELECTION_H__
diff --git a/gdk/gdkspawn.h b/gdk/gdkspawn.h
index 745a1f806b..ff8c1e4c8c 100644
--- a/gdk/gdkspawn.h
+++ b/gdk/gdkspawn.h
@@ -19,6 +19,10 @@
* Authors: Mark McLoughlin <mark@skynet.ie>
*/
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
#ifndef __GDK_SPAWN_H__
#define __GDK_SPAWN_H__
diff --git a/gdk/gdktestutils.h b/gdk/gdktestutils.h
index 647a5dcb13..fb13886ad8 100644
--- a/gdk/gdktestutils.h
+++ b/gdk/gdktestutils.h
@@ -17,6 +17,11 @@
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
+
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
#ifndef __GDK_TEST_UTILS_H__
#define __GDK_TEST_UTILS_H__
@@ -38,6 +43,7 @@ gboolean gdk_test_simulate_button (GdkWindow *window,
guint button, /*1..3*/
GdkModifierType modifiers,
GdkEventType button_pressrelease);
+
G_END_DECLS
#endif /* __GDK_TEST_UTILS_H__ */
diff --git a/gdk/gdktypes.h b/gdk/gdktypes.h
index 648bb40e39..06a7aa0627 100644
--- a/gdk/gdktypes.h
+++ b/gdk/gdktypes.h
@@ -21,9 +21,13 @@
* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
* file for a list of people on the GTK+ Team. See the ChangeLog
* files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
#ifndef __GDK_TYPES_H__
#define __GDK_TYPES_H__
diff --git a/gdk/gdkvisual.h b/gdk/gdkvisual.h
index e49439f45f..d9479a5dcc 100644
--- a/gdk/gdkvisual.h
+++ b/gdk/gdkvisual.h
@@ -21,9 +21,13 @@
* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
* file for a list of people on the GTK+ Team. See the ChangeLog
* files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
#ifndef __GDK_VISUAL_H__
#define __GDK_VISUAL_H__
diff --git a/gdk/gdkwindow.h b/gdk/gdkwindow.h
index b29428a2a3..06ee0181e7 100644
--- a/gdk/gdkwindow.h
+++ b/gdk/gdkwindow.h
@@ -21,9 +21,13 @@
* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
* file for a list of people on the GTK+ Team. See the ChangeLog
* files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
#ifndef __GDK_WINDOW_H__
#define __GDK_WINDOW_H__
diff --git a/gdk/win32/gdkwin32.h b/gdk/win32/gdkwin32.h
index 06ff05596c..c89c90e453 100644
--- a/gdk/win32/gdkwin32.h
+++ b/gdk/win32/gdkwin32.h
@@ -28,7 +28,6 @@
#define __GDK_WIN32_H__
#include <gdk/gdkprivate.h>
-#include <gdk/gdkcursor.h>
#ifndef STRICT
#define STRICT /* We want strict type checks */
diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h
index 64185f8288..baa395d392 100644
--- a/gdk/x11/gdkx.h
+++ b/gdk/x11/gdkx.h
@@ -28,7 +28,6 @@
#define __GDK_X_H__
#include <gdk/gdkprivate.h>
-#include <gdk/gdkcursor.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>