[maemo-commits] [maemo-commits] r15843 - in projects/haf/trunk/gtk+: . gtk

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Wed Aug 6 18:51:44 EEST 2008
Author: mitch
Date: 2008-08-06 18:51:41 +0300 (Wed, 06 Aug 2008)
New Revision: 15843

Modified:
   projects/haf/trunk/gtk+/ChangeLog
   projects/haf/trunk/gtk+/gtk/gtkselection.c
Log:
2008-08-06  Michael Natterer  <mitch at imendio.com>

	Merged from upstream trunk:

	Fixes: NB84261: dereferencing a NULL-pointer

	* gtk/gtkselection.c: add tons of g_return_if_fail() instead of
	crashing when NULL pointers get passed.



Modified: projects/haf/trunk/gtk+/ChangeLog
===================================================================
--- projects/haf/trunk/gtk+/ChangeLog	2008-08-06 14:18:19 UTC (rev 15842)
+++ projects/haf/trunk/gtk+/ChangeLog	2008-08-06 15:51:41 UTC (rev 15843)
@@ -1,3 +1,12 @@
+2008-08-06  Michael Natterer  <mitch at imendio.com>
+
+	Merged from upstream trunk:
+
+	Fixes: NB84261: dereferencing a NULL-pointer
+
+	* gtk/gtkselection.c: add tons of g_return_if_fail() instead of
+	crashing when NULL pointers get passed.
+
 2008-07-21  Kristian Rietveld  <kris at imendio.com>
 
 	Add support for creating group/row headers to tree and icon view.

Modified: projects/haf/trunk/gtk+/gtk/gtkselection.c
===================================================================
--- projects/haf/trunk/gtk+/gtk/gtkselection.c	2008-08-06 14:18:19 UTC (rev 15842)
+++ projects/haf/trunk/gtk+/gtk/gtkselection.c	2008-08-06 15:51:41 UTC (rev 15843)
@@ -951,7 +951,9 @@
   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;
@@ -1124,6 +1126,8 @@
 			const guchar	 *data,
 			gint		  length)
 {
+  g_return_if_fail (selection_data != NULL);
+
   g_free (selection_data->data);
   
   selection_data->type = type;
@@ -1364,6 +1368,8 @@
 			     const gchar          *str,
 			     gint                  len)
 {
+  g_return_val_if_fail (selection_data != NULL, FALSE);
+
   if (len < 0)
     len = strlen (str);
   
@@ -1414,6 +1420,8 @@
 {
   guchar *result = NULL;
 
+  g_return_val_if_fail (selection_data != NULL, NULL);
+
   init_atoms ();
   
   if (selection_data->length >= 0 &&
@@ -1472,6 +1480,9 @@
   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)
@@ -1530,6 +1541,8 @@
   GdkPixbufLoader *loader;
   GdkPixbuf *result = NULL;
 
+  g_return_val_if_fail (selection_data != NULL, NULL);
+
   if (selection_data->length > 0)
     {
       loader = gdk_pixbuf_loader_new ();
@@ -1568,6 +1581,9 @@
 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)
@@ -1622,6 +1638,8 @@
 {
   gchar **result = NULL;
 
+  g_return_val_if_fail (selection_data != NULL, NULL);
+
   init_atoms ();
   
   if (selection_data->length >= 0 &&
@@ -1664,6 +1682,8 @@
 				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)
@@ -1701,11 +1721,13 @@
  **/
 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()
    */
  
@@ -1753,6 +1775,7 @@
   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 ();
@@ -1796,6 +1819,8 @@
   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))
@@ -1830,6 +1855,7 @@
   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 ();
@@ -1868,6 +1894,8 @@
   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++)
@@ -1910,6 +1938,8 @@
   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))
@@ -1941,6 +1971,8 @@
   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()
    */
 
@@ -1978,6 +2010,8 @@
   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))


More information about the maemo-commits mailing list