[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

gEDA-user: Zoom bug on Windows



I have an idea what might be the root cause of the zoom bug...

I will take bets that all the locales where this was reported - Dutch,
Finish, German - use "," as a decimal separator rather than ".".

The action we execute on zoom is "Zoom(+1.2)" or "Zoom(-1.2)" which
would not work if those numbers were miss-interpreted.

Perhaps we are failing to set the appropriate LC_NUMERIC (or equivalent)
on Win32. I recall a similar bug in gschem or gerbv which required us to
use "C" not "POSIX" when setting the locale.

A quick grep shows:

src/hid/gtk/gui-top-window.c:  setlocale (LC_NUMERIC, "POSIX");	/* use decimal point instead of comma */
                                                 FAIL ___^


The gschem commit in question was this:


commit a78d166a1b57b80ff46e2ac98a14989b8af77c3e
Author: Peter Clifton <pcjc2@xxxxxxxxx>
Date:   Tue Jan 19 23:11:36 2010 +0000

    Set the LC_NUMERIC locale to "C" rather than "POSIX"
    
    This value is supported on Win32 platforms, whereas "POSIX" doesn't
    appear to have any effect.
    
    This is required in order to get correct postscript output in locales
    where "," is used as the decimal point separator. It also affects the
    font strings passed to Pango, causing broken text rendering in gschem.
    
    Thanks to Cesar for testing this change indeed fixes the issue.
    
    Tested-by: Cesar Strauss <cestrauss@xxxxxxxxx>
    (cherry picked from commit 5d130060e694cfd3b3be177f1fae4a576728ff25)


A better solution would be to use locale agnostic string processing
routines here.


-- 
Peter Clifton

Electrical Engineering Division,
Engineering Department,
University of Cambridge,
9, JJ Thomson Avenue,
Cambridge
CB3 0FA

Tel: +44 (0)7729 980173 - (No signal in the lab!)
Tel: +44 (0)1223 748328 - (Shared lab phone, ask for me)

Attachment: signature.asc
Description: This is a digitally signed message part


_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user