]> git.0d.be Git - empathy.git/commitdiff
Display user textual location even if it doesn't include a lat,lon
authorPierre-Luc Beaudoin <pierre-luc@pierlux.com>
Wed, 20 May 2009 18:17:35 +0000 (14:17 -0400)
committerPierre-Luc Beaudoin <pierre-luc@pierlux.com>
Wed, 27 May 2009 16:52:07 +0000 (12:52 -0400)
libempathy-gtk/empathy-contact-widget.c

index d95904d11faf00f5e96533d8f406a4935ce6cd8d..255a68297b8e6c22fe67cad1a296ca2f918e6df8 100644 (file)
@@ -1238,9 +1238,10 @@ contact_widget_location_update (EmpathyContactWidget *information)
   GHashTable *location;
   GValue *value;
   gdouble lat, lon;
+  gboolean has_position = TRUE;
 
   location = empathy_contact_get_location (information->contact);
-  if (location == NULL)
+  if (location == NULL || g_hash_table_size (location) == 0)
     {
       gtk_widget_hide (information->vbox_location);
       return;
@@ -1248,19 +1249,15 @@ contact_widget_location_update (EmpathyContactWidget *information)
 
   value = g_hash_table_lookup (location, EMPATHY_LOCATION_LAT);
   if (value == NULL)
-    {
-      gtk_widget_hide (information->vbox_location);
-      return;
-    }
-  lat = g_value_get_double (value);
+      has_position = FALSE;
+  else
+      lat = g_value_get_double (value);
 
   value = g_hash_table_lookup (location, EMPATHY_LOCATION_LON);
   if (value == NULL)
-    {
-      gtk_widget_hide (information->vbox_location);
-      return;
-    }
-  lon = g_value_get_double (value);
+      has_position = FALSE;
+  else
+      lon = g_value_get_double (value);
 
   value = g_hash_table_lookup (location, EMPATHY_LOCATION_TIMESTAMP);
   if (value == NULL)
@@ -1348,7 +1345,10 @@ contact_widget_location_update (EmpathyContactWidget *information)
     }
 
 #if HAVE_LIBCHAMPLAIN
-  if (/* information->flags & EMPATHY_CONTACT_WIDGET_FOR_TOOLTIP || */
+  /* Cannot be displayed in tooltips until Clutter-Gtk can deal with such
+   * windows
+   */
+  if (has_position &&
       information->flags & EMPATHY_CONTACT_WIDGET_SHOW_LOCATION)
     {
       ClutterActor *marker;