← Back to team overview

kicad-developers team mailing list archive

Re: Strange eeschema behavior at zoom 0.7


Le 02/04/2011 20:16, Dick Hollenbeck a écrit :
On 04/02/2011 10:57 AM, jean-pierre charras wrote:
Le 01/04/2011 19:33, Dick Hollenbeck a écrit :
Require a wxWidgets version that works?  Seems especially do-able on MS
Windows, where the builder person can pick what wxWidgets version to compile
(the *required* version.)

So based on my limited information, a path to success on MS Windows is to
fix what else is wrong with wxWidgets 2.9.x, and get THIS zoom fix for free.

Since the MS Windows builder person has to compile the wxWidgets library, it
can be patched before compiling quite easily, as a means of fixing the other

My $ 0.02
If it were easy to do a static link of Kicad to a debug build of the
wxWidgets library, then:

If so, a person could step into the library from Kicad and maybe see what's
up with the floating point comma issue.  That seems like a patch or fix that
needs to happen in any case.


Your fix is the best fix found until now.
So I switch to wxWidgets 2.9.1 (wxWidgets 2.9.2 is expected soon)) at least under Windows.
For me, wxWidgets 2.9.1 works fine.
There is specific value in requiring a specific version of wxWidgets.  It
provides consistency and predictability.

The cost on linux is too high, because package management offers a pre-built

However, the cost on MS Windows is zilch, yielding an attractive
cost/benefit ratio on Windows.

Besides, why hack up Kicad with "work arounds" when the piece with the bug
is already fixed?

Getting the exact version of wxWidgets "required" can be made *very easy* by
using CMake's "external project" support.  But that means spending a half
day embellishing the CMakeLists.txt file specifically for MS Windows developers.
I believe I found what is wrong in wxWidgets 2.9.1:
WxWidgets 2.9.1 seems call setlocale( LC_NUMERIC, "" )
when wxConfig read doubles stored in config, but forget to back to current locale.
So, setlocale( LC_NUMERIC, "" ) remains after this read.

So the fix is easy in kicad:
call SetLocaleTo_Default() after reading a parameter (call to config->Read(..., ...)) if a double is read.

Nice catch!

If you consider this a bug in wxWidgets, maybe someone would be willing to
help by submitting a patch to the wxWidgets folks.

If no one else volunteers, post the patch here to wxWidgets and I'll spend
the time emailing it or whatever.


Because this bug is also in the current wxWidgets version, I sent a bug report to the wxWidgets dev. team.

Jean-Pierre CHARRAS