]> err.no Git - libchamplain/commitdiff
Don't allow invalid longitude and latitude
authorPierre-Luc Beaudoin <pierre-luc@pierlux.com>
Fri, 16 Oct 2009 20:42:21 +0000 (16:42 -0400)
committerPierre-Luc Beaudoin <pierre-luc@pierlux.com>
Fri, 16 Oct 2009 20:42:21 +0000 (16:42 -0400)
champlain/champlain-view.c

index cb6f3a770c370f739063d6de0ccf99bc9c9b24be..d6ae74fcb59ee5d43e5f7333c2d680f3d64b2fe7 100644 (file)
@@ -561,10 +561,12 @@ champlain_view_get_property (GObject *object,
   switch (prop_id)
     {
       case PROP_LONGITUDE:
-        g_value_set_double (value, priv->longitude);
+        g_value_set_double (value,
+            CLAMP (priv->longitude, CHAMPLAIN_MIN_LONG, CHAMPLAIN_MAX_LONG));
         break;
       case PROP_LATITUDE:
-        g_value_set_double (value, priv->latitude);
+        g_value_set_double (value, 
+            CLAMP (priv->latitude, CHAMPLAIN_MIN_LAT, CHAMPLAIN_MAX_LAT));
         break;
       case PROP_ZOOM_LEVEL:
         g_value_set_int (value, priv->zoom_level);
@@ -1399,8 +1401,8 @@ champlain_view_center_on (ChamplainView *view,
   gint x, y;
   ChamplainViewPrivate *priv = view->priv;
 
-  priv->longitude = longitude;
-  priv->latitude = latitude;
+  priv->longitude = CLAMP (longitude, CHAMPLAIN_MIN_LONG, CHAMPLAIN_MAX_LONG);
+  priv->latitude = CLAMP (latitude, CHAMPLAIN_MIN_LAT, CHAMPLAIN_MAX_LAT);
 
   if (!priv->map)
     {