Bug 647873 [1/2] - Fix comparison of URI in e_cal_new_from_uri().
authorDavid Woodhouse <David.Woodhouse@intel.com>
Fri, 15 Apr 2011 11:20:04 +0000 (12:20 +0100)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Fri, 15 Apr 2011 15:11:00 +0000 (16:11 +0100)
If the URI only had a relative_uri property, we should build the full URI
for comparison rather than just skipping it. Otherwise we get false
mismatches.

calendar/libecal/e-cal.c

index e1162f5..d9a813d 100644 (file)
@@ -987,8 +987,17 @@ check_uri (ESource *source, gpointer uri)
        g_return_val_if_fail (uri != NULL, FALSE);
 
        suri = e_source_peek_absolute_uri (source);
+       if (suri)
+               return !g_ascii_strcasecmp (suri, uri);
+       else {
+               gboolean ret;
+               gchar *suri2;
 
-       return suri && g_ascii_strcasecmp (suri, uri) == 0;
+               suri2 = e_source_get_uri (source);
+               ret = !g_ascii_strcasecmp (suri2, uri);
+               g_free (suri2);
+               return ret;
+       }
 }
 
 /**