summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/reference/gtk/tmpl/.gitignore1
-rw-r--r--docs/reference/gtk/tmpl/gtkselection.sgml542
-rw-r--r--gtk/gtkmain.c2
-rw-r--r--gtk/gtkselection.c26
-rw-r--r--gtk/gtkselection.h156
-rw-r--r--gtk/gtkselectionprivate.h37
-rw-r--r--gtk/gtktextview.c1
-rw-r--r--gtk/gtkwidget.c2
8 files changed, 138 insertions, 629 deletions
diff --git a/docs/reference/gtk/tmpl/.gitignore b/docs/reference/gtk/tmpl/.gitignore
index 9f143317e7..dc9c131e6f 100644
--- a/docs/reference/gtk/tmpl/.gitignore
+++ b/docs/reference/gtk/tmpl/.gitignore
@@ -60,6 +60,7 @@ gtkscale.sgml
gtkscalebutton.sgml
gtkscrollbar.sgml
gtkscrolledwindow.sgml
+gtkselection.sgml
gtkseparator.sgml
gtkseparatormenuitem.sgml
gtkseparatortoolitem.sgml
diff --git a/docs/reference/gtk/tmpl/gtkselection.sgml b/docs/reference/gtk/tmpl/gtkselection.sgml
deleted file mode 100644
index 4d6542d720..0000000000
--- a/docs/reference/gtk/tmpl/gtkselection.sgml
+++ /dev/null
@@ -1,542 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-Selections
-
-<!-- ##### SECTION Short_Description ##### -->
-Functions for handling inter-process communication via selections
-
-<!-- ##### SECTION Long_Description ##### -->
-
-<para>
-The selection mechanism provides the basis for different types
-of communication between processes. In particular, drag and drop and
-#GtkClipboard work via selections. You will very seldom or
-never need to use most of the functions in this section directly;
-#GtkClipboard provides a nicer interface to the same functionality.
-</para>
-<para>
-Some of the datatypes defined this section are used in
-the #GtkClipboard and drag-and-drop API's as well. The
-#GtkTargetEntry structure and #GtkTargetList objects represent
-lists of data types that are supported when sending or
-receiving data. The #GtkSelectionData object is used to
-store a chunk of data along with the data type and other
-associated information.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<variablelist>
-
-<varlistentry>
-<term>#GtkWidget</term>
-<listitem><para>Much of the operation of selections happens via
- signals for #GtkWidget. In particular, if you are
- using the functions in this section, you may need
- to pay attention to ::selection_get,
- ::selection_received, and :selection_clear_event
- signals.</para></listitem>
-</varlistentry>
-
-</variablelist>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### STRUCT GtkTargetEntry ##### -->
-<para>
-A #GtkTargetEntry structure represents a single type of
-data than can be supplied for by a widget for a selection
-or for supplied or received during drag-and-drop. It
-contains a string representing the drag type, a flags
-field (used only for drag and drop - see #GtkTargetFlags),
-and an application assigned integer ID. The integer
-ID will later be passed as a signal parameter for signals
-like "selection_get". It allows the application to identify
-the target type without extensive string compares.
-</para>
-
-@target:
-@flags:
-@info:
-
-<!-- ##### STRUCT GtkTargetList ##### -->
-<para>
-A #GtkTargetList structure is a reference counted list
-of #GtkTargetPair. It is used to represent the same
-information as a table of #GtkTargetEntry, but in
-an efficient form. This structure should be treated as
-opaque.
-</para>
-
-@list:
-@ref_count:
-
-<!-- ##### STRUCT GtkTargetPair ##### -->
-<para>
-Internally used structure in the drag-and-drop and
-selection handling code.
-</para>
-
-@target:
-@flags:
-@info:
-
-<!-- ##### FUNCTION gtk_target_entry_new ##### -->
-<para>
-
-</para>
-
-@target:
-@flags:
-@info:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_target_entry_copy ##### -->
-<para>
-
-</para>
-
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_target_entry_free ##### -->
-<para>
-
-</para>
-
-@data:
-
-
-<!-- ##### FUNCTION gtk_target_list_new ##### -->
-<para>
-</para>
-
-@targets:
-@ntargets:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_target_list_ref ##### -->
-<para>
-</para>
-
-@list:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_target_list_unref ##### -->
-<para>
-</para>
-
-@list:
-
-
-<!-- ##### FUNCTION gtk_target_list_add ##### -->
-<para>
-</para>
-
-@list:
-@target:
-@flags:
-@info:
-
-
-<!-- ##### FUNCTION gtk_target_list_add_table ##### -->
-<para>
-</para>
-
-@list:
-@targets:
-@ntargets:
-
-
-<!-- ##### FUNCTION gtk_target_list_add_text_targets ##### -->
-<para>
-
-</para>
-
-@list:
-@info:
-
-
-<!-- ##### FUNCTION gtk_target_list_add_image_targets ##### -->
-<para>
-
-</para>
-
-@list:
-@info:
-@writable:
-
-
-<!-- ##### FUNCTION gtk_target_list_add_uri_targets ##### -->
-<para>
-
-</para>
-
-@list:
-@info:
-
-
-<!-- ##### FUNCTION gtk_target_list_add_rich_text_targets ##### -->
-<para>
-
-</para>
-
-@list:
-@info:
-@deserializable:
-@buffer:
-
-
-<!-- ##### FUNCTION gtk_target_list_remove ##### -->
-<para>
-</para>
-
-@list:
-@target:
-
-
-<!-- ##### FUNCTION gtk_target_list_find ##### -->
-<para>
-</para>
-
-@list:
-@target:
-@info:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_target_table_free ##### -->
-<para>
-
-</para>
-
-@targets:
-@n_targets:
-
-
-<!-- ##### FUNCTION gtk_target_table_new_from_list ##### -->
-<para>
-
-</para>
-
-@list:
-@n_targets:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_selection_owner_set ##### -->
-<para>
-</para>
-
-@widget:
-@selection:
-@time_:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_selection_owner_set_for_display ##### -->
-<para>
-
-</para>
-
-@display:
-@widget:
-@selection:
-@time_:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_selection_add_target ##### -->
-<para>
-</para>
-
-@widget:
-@selection:
-@target:
-@info:
-
-
-<!-- ##### FUNCTION gtk_selection_add_targets ##### -->
-<para>
-</para>
-
-@widget:
-@selection:
-@targets:
-@ntargets:
-
-
-<!-- ##### FUNCTION gtk_selection_clear_targets ##### -->
-<para>
-
-</para>
-
-@widget:
-@selection:
-
-
-<!-- ##### FUNCTION gtk_selection_convert ##### -->
-<para>
-</para>
-
-@widget:
-@selection:
-@target:
-@time_:
-@Returns: x
-
-
-<!-- ##### FUNCTION gtk_selection_data_set ##### -->
-<para>
-</para>
-
-@selection_data:
-@type:
-@format:
-@data:
-@length:
-
-
-<!-- ##### FUNCTION gtk_selection_data_set_text ##### -->
-<para>
-
-</para>
-
-@selection_data:
-@str:
-@len:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_selection_data_get_text ##### -->
-<para>
-
-</para>
-
-@selection_data:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_selection_data_set_pixbuf ##### -->
-<para>
-
-</para>
-
-@selection_data:
-@pixbuf:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_selection_data_get_pixbuf ##### -->
-<para>
-
-</para>
-
-@selection_data:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_selection_data_set_uris ##### -->
-<para>
-
-</para>
-
-@selection_data:
-@uris:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_selection_data_get_uris ##### -->
-<para>
-
-</para>
-
-@selection_data:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_selection_data_get_targets ##### -->
-<para>
-
-</para>
-
-@selection_data:
-@targets:
-@n_atoms:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_selection_data_targets_include_image ##### -->
-<para>
-
-</para>
-
-@selection_data:
-@writable:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_selection_data_targets_include_text ##### -->
-<para>
-
-</para>
-
-@selection_data:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_selection_data_targets_include_uri ##### -->
-<para>
-
-</para>
-
-@selection_data:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_selection_data_targets_include_rich_text ##### -->
-<para>
-
-</para>
-
-@selection_data:
-@buffer:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_selection_data_get_selection ##### -->
-<para>
-
-</para>
-
-@selection_data:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_selection_data_get_data ##### -->
-<para>
-
-</para>
-
-@selection_data:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_selection_data_get_length ##### -->
-<para>
-
-</para>
-
-@selection_data:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_selection_data_get_data_type ##### -->
-<para>
-
-</para>
-
-@selection_data:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_selection_data_get_display ##### -->
-<para>
-
-</para>
-
-@selection_data:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_selection_data_get_format ##### -->
-<para>
-
-</para>
-
-@selection_data:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_selection_data_get_target ##### -->
-<para>
-
-</para>
-
-@selection_data:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_targets_include_image ##### -->
-<para>
-
-</para>
-
-@targets:
-@n_targets:
-@writable:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_targets_include_text ##### -->
-<para>
-
-</para>
-
-@targets:
-@n_targets:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_targets_include_uri ##### -->
-<para>
-
-</para>
-
-@targets:
-@n_targets:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_targets_include_rich_text ##### -->
-<para>
-
-</para>
-
-@targets:
-@n_targets:
-@buffer:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_selection_remove_all ##### -->
-<para>
-</para>
-
-@widget:
-
-
-<!-- ##### FUNCTION gtk_selection_data_copy ##### -->
-<para>
-</para>
-
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION gtk_selection_data_free ##### -->
-<para>
-</para>
-
-@data:
-
-
diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c
index 9a3b0314fa..799db27935 100644
--- a/gtk/gtkmain.c
+++ b/gtk/gtkmain.c
@@ -122,7 +122,7 @@
#include "gtkmodules.h"
#include "gtkrc.h"
#include "gtkrecentmanager.h"
-#include "gtkselection.h"
+#include "gtkselectionprivate.h"
#include "gtksettingsprivate.h"
#include "gtkwidgetprivate.h"
#include "gtkwindowprivate.h"
diff --git a/gtk/gtkselection.c b/gtk/gtkselection.c
index 06aa14678a..4063bb2d05 100644
--- a/gtk/gtkselection.c
+++ b/gtk/gtkselection.c
@@ -51,6 +51,32 @@
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
+/**
+ * SECTION:gtkselection
+ * @Title: Selections
+ * @Short_description: Functions for handling inter-process communication
+ * via selections
+ * @See_also: #GtkWidget - Much of the operation of selections happens via
+ * signals for #GtkWidget. In particular, if you are using the functions
+ * in this section, you may need to pay attention to
+ * #GtkWidget::selection-get, #GtkWidget::selection-received and
+ * #GtkWidget::selection-clear-event signals
+ *
+ * The selection mechanism provides the basis for different types
+ * of communication between processes. In particular, drag and drop and
+ * #GtkClipboard work via selections. You will very seldom or
+ * never need to use most of the functions in this section directly;
+ * #GtkClipboard provides a nicer interface to the same functionality.
+ *
+ * Some of the datatypes defined this section are used in
+ * the #GtkClipboard and drag-and-drop API's as well. The
+ * #GtkTargetEntry structure and #GtkTargetList objects represent
+ * lists of data types that are supported when sending or
+ * receiving data. The #GtkSelectionData object is used to
+ * store a chunk of data along with the data type and other
+ * associated information.
+ */
+
#include "config.h"
#include "gtkselection.h"
diff --git a/gtk/gtkselection.h b/gtk/gtkselection.h
index 6b409bb8a0..bb3337da35 100644
--- a/gtk/gtkselection.h
+++ b/gtk/gtkselection.h
@@ -31,19 +31,39 @@
#ifndef __GTK_SELECTION_H__
#define __GTK_SELECTION_H__
-
#include <gtk/gtkwidget.h>
#include <gtk/gtktextiter.h>
-
G_BEGIN_DECLS
-typedef struct _GtkTargetList GtkTargetList;
-typedef struct _GtkTargetEntry GtkTargetEntry;
+/**
+ * GtkTargetList:
+ *
+ * A #GtkTargetList structure is a reference counted list
+ * of #GtkTargetPair. It is used to represent the same
+ * information as a table of #GtkTargetEntry, but in
+ * an efficient form. This structure should be treated as
+ * opaque.
+ */
+typedef struct _GtkTargetList GtkTargetList;
+typedef struct _GtkTargetEntry GtkTargetEntry;
#define GTK_TYPE_SELECTION_DATA (gtk_selection_data_get_type ())
#define GTK_TYPE_TARGET_LIST (gtk_target_list_get_type ())
+/**
+ * GtkTargetEntry:
+ * @target: a string representation of the target type
+ * @flags: #GtkTargetFlags for DND
+ * @info: an application-assigned integer ID which will
+ * get passed as a parater to e.g the #GtkWiget::selection-get
+ * signal. It allows the application to identify the target
+ * type without extensive string compares.
+ *
+ * A #GtkTargetEntry structure represents a single type of
+ * data than can be supplied for by a widget for a selection
+ * or for supplied or received during drag-and-drop.
+ */
struct _GtkTargetEntry
{
gchar *target;
@@ -51,32 +71,15 @@ struct _GtkTargetEntry
guint info;
};
-/* These structures not public, and are here only for the convenience of
- * gtkdnd.c
- */
-
-typedef struct _GtkTargetPair GtkTargetPair;
-
-/* This structure is a list of destinations, and associated guint id's */
-struct _GtkTargetList {
- GList *list;
- guint ref_count;
-};
-
-struct _GtkTargetPair {
- GdkAtom target;
- guint flags;
- guint info;
-};
-
+GType gtk_target_list_get_type (void) G_GNUC_CONST;
GtkTargetList *gtk_target_list_new (const GtkTargetEntry *targets,
- guint ntargets);
+ guint ntargets);
GtkTargetList *gtk_target_list_ref (GtkTargetList *list);
void gtk_target_list_unref (GtkTargetList *list);
void gtk_target_list_add (GtkTargetList *list,
- GdkAtom target,
- guint flags,
- guint info);
+ GdkAtom target,
+ guint flags,
+ guint info);
void gtk_target_list_add_text_targets (GtkTargetList *list,
guint info);
void gtk_target_list_add_rich_text_targets (GtkTargetList *list,
@@ -89,43 +92,42 @@ void gtk_target_list_add_image_targets (GtkTargetList *list,
void gtk_target_list_add_uri_targets (GtkTargetList *list,
guint info);
void gtk_target_list_add_table (GtkTargetList *list,
- const GtkTargetEntry *targets,
- guint ntargets);
+ const GtkTargetEntry *targets,
+ guint ntargets);
void gtk_target_list_remove (GtkTargetList *list,
- GdkAtom target);
+ GdkAtom target);
gboolean gtk_target_list_find (GtkTargetList *list,
- GdkAtom target,
- guint *info);
+ GdkAtom target,
+ guint *info);
GtkTargetEntry * gtk_target_table_new_from_list (GtkTargetList *list,
gint *n_targets);
void gtk_target_table_free (GtkTargetEntry *targets,
gint n_targets);
-/* Public interface */
-
gboolean gtk_selection_owner_set (GtkWidget *widget,
- GdkAtom selection,
- guint32 time_);
+ GdkAtom selection,
+ guint32 time_);
gboolean gtk_selection_owner_set_for_display (GdkDisplay *display,
- GtkWidget *widget,
- GdkAtom selection,
- guint32 time_);
+ GtkWidget *widget,
+ GdkAtom selection,
+ guint32 time_);
void gtk_selection_add_target (GtkWidget *widget,
- GdkAtom selection,
- GdkAtom target,
- guint info);
+ GdkAtom selection,
+ GdkAtom target,
+ guint info);
void gtk_selection_add_targets (GtkWidget *widget,
- GdkAtom selection,
- const GtkTargetEntry *targets,
- guint ntargets);
+ GdkAtom selection,
+ const GtkTargetEntry *targets,
+ guint ntargets);
void gtk_selection_clear_targets (GtkWidget *widget,
- GdkAtom selection);
+ GdkAtom selection);
gboolean gtk_selection_convert (GtkWidget *widget,
- GdkAtom selection,
- GdkAtom target,
- guint32 time_);
+ GdkAtom selection,
+ GdkAtom target,
+ guint32 time_);
+void gtk_selection_remove_all (GtkWidget *widget);
GdkAtom gtk_selection_data_get_selection (const GtkSelectionData *selection_data);
GdkAtom gtk_selection_data_get_target (const GtkSelectionData *selection_data);
@@ -140,68 +142,52 @@ const guchar *gtk_selection_data_get_data_with_length
GdkDisplay *gtk_selection_data_get_display (const GtkSelectionData *selection_data);
void gtk_selection_data_set (GtkSelectionData *selection_data,
- GdkAtom type,
- gint format,
- const guchar *data,
- gint length);
+ GdkAtom type,
+ gint format,
+ const guchar *data,
+ gint length);
gboolean gtk_selection_data_set_text (GtkSelectionData *selection_data,
- const gchar *str,
- gint len);
+ const gchar *str,
+ gint len);
guchar * gtk_selection_data_get_text (const GtkSelectionData *selection_data);
gboolean gtk_selection_data_set_pixbuf (GtkSelectionData *selection_data,
- GdkPixbuf *pixbuf);
+ GdkPixbuf *pixbuf);
GdkPixbuf *gtk_selection_data_get_pixbuf (const GtkSelectionData *selection_data);
gboolean gtk_selection_data_set_uris (GtkSelectionData *selection_data,
- gchar **uris);
+ gchar **uris);
gchar **gtk_selection_data_get_uris (const GtkSelectionData *selection_data);
gboolean gtk_selection_data_get_targets (const GtkSelectionData *selection_data,
- GdkAtom **targets,
- gint *n_atoms);
+ GdkAtom **targets,
+ gint *n_atoms);
gboolean gtk_selection_data_targets_include_text (const GtkSelectionData *selection_data);
gboolean gtk_selection_data_targets_include_rich_text (const GtkSelectionData *selection_data,
GtkTextBuffer *buffer);
gboolean gtk_selection_data_targets_include_image (const GtkSelectionData *selection_data,
- gboolean writable);
+ gboolean writable);
gboolean gtk_selection_data_targets_include_uri (const GtkSelectionData *selection_data);
gboolean gtk_targets_include_text (GdkAtom *targets,
- gint n_targets);
+ gint n_targets);
gboolean gtk_targets_include_rich_text (GdkAtom *targets,
- gint n_targets,
+ gint n_targets,
GtkTextBuffer *buffer);
gboolean gtk_targets_include_image (GdkAtom *targets,
- gint n_targets,
- gboolean writable);
+ gint n_targets,
+ gboolean writable);
gboolean gtk_targets_include_uri (GdkAtom *targets,
- gint n_targets);
+ gint n_targets);
-/* Called when a widget is destroyed */
-
-void gtk_selection_remove_all (GtkWidget *widget);
-
-/* Event handlers */
-gboolean _gtk_selection_clear (GtkWidget *widget,
- GdkEventSelection *event);
-gboolean _gtk_selection_request (GtkWidget *widget,
- GdkEventSelection *event);
-gboolean _gtk_selection_incr_event (GdkWindow *window,
- GdkEventProperty *event);
-gboolean _gtk_selection_notify (GtkWidget *widget,
- GdkEventSelection *event);
-gboolean _gtk_selection_property_notify (GtkWidget *widget,
- GdkEventProperty *event);
GType gtk_selection_data_get_type (void) G_GNUC_CONST;
GtkSelectionData *gtk_selection_data_copy (const GtkSelectionData *data);
-void gtk_selection_data_free (GtkSelectionData *data);
+void gtk_selection_data_free (GtkSelectionData *data);
GType gtk_target_entry_get_type (void) G_GNUC_CONST;
-
-GtkTargetEntry *gtk_target_entry_new (const char *target, guint flags, guint info);
+GtkTargetEntry *gtk_target_entry_new (const gchar *target,
+ guint flags,
+ guint info);
GtkTargetEntry *gtk_target_entry_copy (GtkTargetEntry *data);
-void gtk_target_entry_free (GtkTargetEntry *data);
-
-GType gtk_target_list_get_type (void) G_GNUC_CONST;
+void gtk_target_entry_free (GtkTargetEntry *data);
G_END_DECLS
diff --git a/gtk/gtkselectionprivate.h b/gtk/gtkselectionprivate.h
index 831753fd33..0b965f508e 100644
--- a/gtk/gtkselectionprivate.h
+++ b/gtk/gtkselectionprivate.h
@@ -28,6 +28,13 @@
* sent.
*/
+#ifndef __GTK_SELECTIONPRIVATE_H__
+#define __GTK_SELECTIONPRIVATE_H__
+
+#include "gtkselection.h"
+
+G_BEGIN_DECLS
+
struct _GtkSelectionData
{
GdkAtom selection;
@@ -38,3 +45,33 @@ struct _GtkSelectionData
gint length;
GdkDisplay *display;
};
+
+struct _GtkTargetList
+{
+ GList *list;
+ guint ref_count;
+ };
+
+typedef struct _GtkTargetPair GtkTargetPair;
+struct _GtkTargetPair
+{
+ GdkAtom target;
+ guint flags;
+ guint info;
+};
+
+
+gboolean _gtk_selection_clear (GtkWidget *widget,
+ GdkEventSelection *event);
+gboolean _gtk_selection_request (GtkWidget *widget,
+ GdkEventSelection *event);
+gboolean _gtk_selection_incr_event (GdkWindow *window,
+ GdkEventProperty *event);
+gboolean _gtk_selection_notify (GtkWidget *widget,
+ GdkEventSelection *event);
+gboolean _gtk_selection_property_notify (GtkWidget *widget,
+ GdkEventProperty *event);
+
+G_END_DECLS
+
+#endif /* __GTK_SELECTIONPRIVATE_H__ */
diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c
index 5bbd28c3a2..f06250c406 100644
--- a/gtk/gtktextview.c
+++ b/gtk/gtktextview.c
@@ -40,6 +40,7 @@
#include "gtkmenuitem.h"
#include "gtkseparatormenuitem.h"
#include "gtksettings.h"
+#include "gtkselectionprivate.h"
#include "gtkstock.h"
#include "gtktextbufferrichtext.h"
#include "gtktextdisplay.h"
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index 45b548a054..7be064828a 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -42,7 +42,7 @@
#include "gtkmainprivate.h"
#include "gtkmarshalers.h"
#include "gtkrc.h"
-#include "gtkselection.h"
+#include "gtkselectionprivate.h"
#include "gtksettingsprivate.h"
#include "gtksizegroup-private.h"
#include "gtkwidget.h"