Index: trunk/src_plugins/lib_gtk_common/wt_coord_entry.c =================================================================== --- trunk/src_plugins/lib_gtk_common/wt_coord_entry.c (revision 20963) +++ trunk/src_plugins/lib_gtk_common/wt_coord_entry.c (revision 20964) @@ -113,20 +113,23 @@ static gboolean ghid_coord_entry_output_cb(pcb_gtk_coord_entry_t * ce, gpointer data) { GtkAdjustment *adj = ce->adj; - double value = gtk_adjustment_get_value(adj); + double ovdbl, value = gtk_adjustment_get_value(adj); const char *orig; char text[128], *suffix = NULL; const pcb_unit_t *orig_unit; + pcb_coord_t orig_val; orig = gtk_entry_get_text(GTK_ENTRY(ce)); - strtod(orig, &suffix); + ovdbl = strtod(orig, &suffix); orig_unit = get_unit_struct(suffix); if ((suffix != NULL) && (*suffix != '\0') && (orig_unit != NULL) && (ce->unit != orig_unit)) pcb_gtk_coord_entry_set_unit(ce, orig_unit); - pcb_snprintf(text, sizeof(text), "%.*f %s", ce->unit->default_prec, value, ce->unit->suffix); - gtk_entry_set_text(GTK_ENTRY(ce), text); + if (value != ovdbl) { + pcb_snprintf(text, sizeof(text), "%.*f %s", ce->unit->default_prec, value, ce->unit->suffix); + gtk_entry_set_text(GTK_ENTRY(ce), text); + } return TRUE; }