--== notes about wxWidgets problems ==--
Last Revised: 28-Feb-2010


Kicad needs wxWidgets, the multi platform G.U.I.
Known problems:
wxMSW:
*DO NOT* use wxMSW.2.8.1

wxMSW and wxGTK
Use wxWidgets 2.8.10 or later

Linux and macOSX
- Printing problems (all version).
Note old versions of wxWidgets give *very ugly results*
(poor printing resolution set to 72ppi)

So use a very recent version (>= 2.8.10 (that also solve other bugs)

wxWidgets patch:


wxMSW, version 2.8.x
Some zoom values smaller than 3 to 5 create artifacts on screen, mainly values < 1.
(corresponding to draw scale factor > 1 )

See http://trac.wxwidgets.org/ticket/9554 (and 11669).

This is fixed in version 2.9.x

This is a workaround that is not a full fix, but remaining artifacts are acceptable
edit file  edit file <wxWidgets>/src/msw/dc.cpp
 >> search for line
    static const int VIEWPORT_EXTENT = 1000;
 >> and replace by
    static const int VIEWPORT_EXTENT = 10000;


wxWidgets 2.9.1 (all platforms)
Has a problem when using the built in string to double conversion:
In countries using a comm instead of a point as floating number separator
after calling this conversion function, the comma is changed in point.
(Happens after reading a parameter stored in a wxConfig structure, if this
parameter is a double)
Workaround:
Use a version > 2.9.2

Currently ( 2011, april 12 ) the 2.9.2 is not yet finalized
(and can be found only on the wxWidgets snv server)
can be fixed by replacing the file <wxWidgets-2.9.1>/src/common/xlocale.cpp
by the corresponding file from the 2.9.2 version (from wxWidgets svn server)


*************************************************************************************
wxGTK version: All
*************************************************************************************
Patch for printing wide traces that were shown with missing rounded end caps.
Without this patch, printing boards and schematics under Linux, and perhaps OSX
gives ugly drawings.

wxGTK-2.8.11/src/generic/dcpsg.cpp
serach for:
line 1636
    PsPrint( "%%EndProlog\n" );

Add after this line:
    PsPrint("%%BeginSetup\n");
    PsPrint( "1 setlinecap\n" );
    PsPrint("%%EndSetup\n");

