]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkselection.c
Include "config.h" instead of <config.h> Command used: find -name
[~andy/gtk] / gtk / gtkselection.c
index 5a419bcad9c3ea4b87f710a0ee01cf8438413cdc..56c14473fcb66d489e3148cf60b9b3c22ca8b912 100644 (file)
@@ -51,7 +51,7 @@
  * GTK+ at ftp://ftp.gtk.org/pub/gtk/. 
  */
 
-#include <config.h>
+#include "config.h"
 #include <stdarg.h>
 #include <string.h>
 #include "gdk.h"
@@ -338,7 +338,8 @@ gtk_target_list_add_text_targets (GtkTargetList *list,
   gtk_target_list_add (list, text_atom, 0, info);  
   gtk_target_list_add (list, GDK_TARGET_STRING, 0, info);  
   gtk_target_list_add (list, text_plain_utf8_atom, 0, info);  
-  gtk_target_list_add (list, text_plain_locale_atom, 0, info);  
+  if (!g_get_charset (NULL))
+    gtk_target_list_add (list, text_plain_locale_atom, 0, info);  
   gtk_target_list_add (list, text_plain_atom, 0, info);  
 }
 
@@ -951,7 +952,9 @@ gtk_selection_remove_all (GtkWidget *widget)
   GList *tmp_list;
   GList *next;
   GtkSelectionInfo *selection_info;
-  
+
+  g_return_if_fail (GTK_IS_WIDGET (widget));
+
   /* Remove pending requests/incrs for this widget */
   
   tmp_list = current_retrievals;
@@ -1106,6 +1109,92 @@ gtk_selection_convert (GtkWidget *widget,
   return TRUE;
 }
 
+/**
+ * gtk_selection_data_get_target:
+ * @selection_data: a pointer to a #GtkSelectionData structure.
+ *
+ * Retrieves the target of the selection.
+ *
+ * Since: 2.14
+ **/
+GdkAtom
+gtk_selection_data_get_target (GtkSelectionData *selection_data)
+{
+  g_return_val_if_fail (selection_data != NULL, 0);
+
+  return selection_data->target;
+}
+
+/**
+ * gtk_selection_data_get_data_type:
+ * @selection_data: a pointer to a #GtkSelectionData structure.
+ *
+ * Retrieves the data type of the selection.
+ *
+ * Since: 2.14
+ **/
+GdkAtom
+gtk_selection_data_get_data_type (GtkSelectionData *selection_data)
+{
+  g_return_val_if_fail (selection_data != NULL, 0);
+
+  return selection_data->type;
+}
+
+/**
+ * gtk_selection_data_get_format:
+ * @selection_data: a pointer to a #GtkSelectionData structure.
+ *
+ * Retrieves the format of the selection.
+ *
+ * Since: 2.14
+ **/
+gint
+gtk_selection_data_get_format (GtkSelectionData *selection_data)
+{
+  g_return_val_if_fail (selection_data != NULL, 0);
+
+  return selection_data->format;
+}
+
+/**
+ * gtk_selection_data_get_data:
+ * @selection_data: a pointer to a #GtkSelectionData structure.
+ * @length: an integer to be filled in, or %NULL
+ *
+ * Retrieves the raw data of the selection.
+ *
+ * If @length is not %NULL it is filled with the length of data.
+ *
+ * Since: 2.14
+ **/
+const guchar*
+gtk_selection_data_get_data (GtkSelectionData *selection_data,
+                             guint           *length)
+{
+  g_return_val_if_fail (selection_data != NULL, NULL);
+
+  if (length)
+      *length = selection_data->length;
+
+  return selection_data->data;
+}
+
+/**
+ * gtk_selection_data_get_display:
+ * @selection_data: a pointer to a #GtkSelectionData structure.
+ *
+ * Retrieves the display of the selection.
+ *
+ * Since: 2.14
+ **/
+GdkDisplay *
+gtk_selection_data_get_display (GtkSelectionData *selection_data)
+{
+  g_return_val_if_fail (selection_data != NULL, NULL);
+
+  return selection_data->display;
+}
 
 /**
  * gtk_selection_data_set:
@@ -1126,6 +1215,8 @@ gtk_selection_data_set (GtkSelectionData *selection_data,
                        const guchar     *data,
                        gint              length)
 {
+  g_return_if_fail (selection_data != NULL);
+
   g_free (selection_data->data);
   
   selection_data->type = type;
@@ -1366,6 +1457,8 @@ gtk_selection_data_set_text (GtkSelectionData     *selection_data,
                             const gchar          *str,
                             gint                  len)
 {
+  g_return_val_if_fail (selection_data != NULL, FALSE);
+
   if (len < 0)
     len = strlen (str);
   
@@ -1416,6 +1509,8 @@ gtk_selection_data_get_text (GtkSelectionData *selection_data)
 {
   guchar *result = NULL;
 
+  g_return_val_if_fail (selection_data != NULL, NULL);
+
   init_atoms ();
   
   if (selection_data->length >= 0 &&
@@ -1474,6 +1569,9 @@ gtk_selection_data_set_pixbuf (GtkSelectionData *selection_data,
   gchar *str, *type;
   gsize len;
 
+  g_return_val_if_fail (selection_data != NULL, FALSE);
+  g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), FALSE);
+
   formats = gdk_pixbuf_get_formats ();
 
   for (f = formats; f; f = f->next)
@@ -1532,6 +1630,8 @@ gtk_selection_data_get_pixbuf (GtkSelectionData *selection_data)
   GdkPixbufLoader *loader;
   GdkPixbuf *result = NULL;
 
+  g_return_val_if_fail (selection_data != NULL, NULL);
+
   if (selection_data->length > 0)
     {
       loader = gdk_pixbuf_loader_new ();
@@ -1570,6 +1670,9 @@ gboolean
 gtk_selection_data_set_uris (GtkSelectionData  *selection_data,
                             gchar            **uris)
 {
+  g_return_val_if_fail (selection_data != NULL, FALSE);
+  g_return_val_if_fail (uris != NULL, FALSE);
+
   init_atoms ();
 
   if (selection_data->target == text_uri_list_atom)
@@ -1624,6 +1727,8 @@ gtk_selection_data_get_uris (GtkSelectionData *selection_data)
 {
   gchar **result = NULL;
 
+  g_return_val_if_fail (selection_data != NULL, NULL);
+
   init_atoms ();
   
   if (selection_data->length >= 0 &&
@@ -1666,6 +1771,8 @@ gtk_selection_data_get_targets (GtkSelectionData  *selection_data,
                                GdkAtom          **targets,
                                gint              *n_atoms)
 {
+  g_return_val_if_fail (selection_data != NULL, FALSE);
+
   if (selection_data->length >= 0 &&
       selection_data->format == 32 &&
       selection_data->type == GDK_SELECTION_TYPE_ATOM)
@@ -1703,11 +1810,13 @@ gtk_selection_data_get_targets (GtkSelectionData  *selection_data,
  **/
 gboolean 
 gtk_targets_include_text (GdkAtom *targets,
-                          gint     n_targets)
+                          gint     n_targets)
 {
   gint i;
   gboolean result = FALSE;
 
+  g_return_val_if_fail (targets != NULL || n_targets == 0, FALSE);
+
   /* Keep in sync with gtk_target_list_add_text_targets()
    */
  
@@ -1755,6 +1864,7 @@ gtk_targets_include_rich_text (GdkAtom       *targets,
   gint i, j;
   gboolean result = FALSE;
 
+  g_return_val_if_fail (targets != NULL || n_targets == 0, FALSE);
   g_return_val_if_fail (GTK_IS_TEXT_BUFFER (buffer), FALSE);
 
   init_atoms ();
@@ -1798,6 +1908,8 @@ gtk_selection_data_targets_include_text (GtkSelectionData *selection_data)
   gint n_targets;
   gboolean result = FALSE;
 
+  g_return_val_if_fail (selection_data != NULL, FALSE);
+
   init_atoms ();
 
   if (gtk_selection_data_get_targets (selection_data, &targets, &n_targets))
@@ -1832,6 +1944,7 @@ gtk_selection_data_targets_include_rich_text (GtkSelectionData *selection_data,
   gint n_targets;
   gboolean result = FALSE;
 
+  g_return_val_if_fail (selection_data != NULL, FALSE);
   g_return_val_if_fail (GTK_IS_TEXT_BUFFER (buffer), FALSE);
 
   init_atoms ();
@@ -1870,6 +1983,8 @@ gtk_targets_include_image (GdkAtom *targets,
   gint i;
   gboolean result = FALSE;
 
+  g_return_val_if_fail (targets != NULL || n_targets == 0, FALSE);
+
   list = gtk_target_list_new (NULL, 0);
   gtk_target_list_add_image_targets (list, 0, writable);
   for (i = 0; i < n_targets && !result; i++)
@@ -1912,6 +2027,8 @@ gtk_selection_data_targets_include_image (GtkSelectionData *selection_data,
   gint n_targets;
   gboolean result = FALSE;
 
+  g_return_val_if_fail (selection_data != NULL, FALSE);
+
   init_atoms ();
 
   if (gtk_selection_data_get_targets (selection_data, &targets, &n_targets))
@@ -1943,6 +2060,8 @@ gtk_targets_include_uri (GdkAtom *targets,
   gint i;
   gboolean result = FALSE;
 
+  g_return_val_if_fail (targets != NULL || n_targets == 0, FALSE);
+
   /* Keep in sync with gtk_target_list_add_uri_targets()
    */
 
@@ -1969,7 +2088,7 @@ gtk_targets_include_uri (GdkAtom *targets,
  * provide a list or URIs.
  * 
  * Return value: %TRUE if @selection_data holds a list of targets,
- *   and a suitable target for text is included, otherwise %FALSE.
+ *   and a suitable target for URI lists is included, otherwise %FALSE.
  *
  * Since: 2.10
  **/
@@ -1980,6 +2099,8 @@ gtk_selection_data_targets_include_uri (GtkSelectionData *selection_data)
   gint n_targets;
   gboolean result = FALSE;
 
+  g_return_val_if_fail (selection_data != NULL, FALSE);
+
   init_atoms ();
 
   if (gtk_selection_data_get_targets (selection_data, &targets, &n_targets))