+ /*
+ * We will never see exactly 0.0 because of the error we're
+ * accumulating, so catch the "zero" value and force it to be 0.
+ */
+ v = ((d > (-step / 2)) && (d < (step / 2))) ? 0 : d;
+
+ range[0] = g_variant_new_double(v);
+ range[1] = g_variant_new_double(v);