Hi, these have been in my patch stack for ages, so I'd think they should be generally safe. None of these should really change any actual functionality (except for fixing Unicode file names on Windows), but I'd really like to drop them from the stack I keep on rebasing onto every new version -- also, not having to patch central header files will speed up my builds considerably.
To summarize: - idf2vrml uses "int main(int, char **)" as main function. This does not work with Unicode file names on Windows, where all non-ANSI characters are replaced with question marks. A patch from Cirilo converts it to use wxAppConsole instead, making it the responsibility of the wx framework. Two additional patches from me go on top of that -- console apps need a different wxIMPLEMENT_APP invocation, and a few header files then go unused. - the known portability fixes: using std::atomic<> instead of gcc intrinsics, adding missing stdlib headers, fixing name lookup for a few definitions, avoiding C99 style compound statements, fixing linkage on Windows, fixing the return type of Pgm() by introducing a separate PgmTop() - a VS2015 workaround. The original code makes no sense, the new code equally doesn't make any sense, but it is more readable and does not trigger a compiler bug, so I'd call it a net improvement. - fine-grained performance measurement primitives on Windows, using the TSC instead of the system clock. - CURL does not necessarily use OpenSSL, so we can avoid a dependency here if we're not going to use it. This is still decided by platform, ideally we'd determine what version of CURL we are linking against (or CURL would fix the problem themselves). Cirilo Bernardo (1): Convert idf2vrml to use wxApp etc for option processing Simon Richter (11): Use std::atomic for portable locale init counting Add missing C++ stdlib headers Open namespace around definitions Avoid C99 style compound statement Avoid conflicting declaration for Pgm() Make sure KIFACE_GETTER linkage is consistent Work around VC++ 2015 bug. windows: provide performance measurement primitives Narrow assumption on OpenSSL use Use wxIMPLEMENT_APP_CONSOLE for console apps Drop <libgen.h> and <unistd.h>, no longer needed bitmap2component/bitmap2cmp_gui.cpp | 2 +- common/common.cpp | 10 +- common/gal/graphics_abstraction_layer.cpp | 2 + common/grid_tricks.cpp | 2 + common/kicad_curl/kicad_curl.cpp | 2 +- common/selcolor.cpp | 2 + common/tool/action_manager.cpp | 1 + eeschema/autoplace_fields.cpp | 5 +- eeschema/class_library.h | 2 + eeschema/dialogs/dialog_lib_edit_pin_table.cpp | 2 + eeschema/sch_sheet_path.h | 2 + gerbview/class_gerber_file_image.cpp | 1 + gerbview/class_gerber_file_image_list.cpp | 2 + include/common.h | 4 +- include/kiway.h | 10 +- include/math/box2.h | 8 +- include/pgm_base.h | 2 - include/profile.h | 32 +++ include/tool/tool_event.h | 1 + include/tool/tool_manager.h | 1 + kicad/files-io.cpp | 2 +- kicad/kicad.cpp | 9 +- kicad/mainframe.cpp | 8 +- kicad/menubar.cpp | 6 +- kicad/pgm_kicad.h | 3 +- kicad/prjconfig.cpp | 8 +- pcb_calculator/transline/transline.cpp | 1 + pcbnew/layer_widget.cpp | 3 + pcbnew/ratsnest_data.h | 2 + pcbnew/ratsnest_viewitem.cpp | 4 +- pcbnew/router/pns_diff_pair.cpp | 1 + pcbnew/router/pns_optimizer.cpp | 2 + pcbnew/router/pns_utils.cpp | 2 + pcbnew/tools/conditional_menu.h | 1 + pcbnew/tools/edit_points.h | 3 + polygon/math_for_graphics.cpp | 1 + utils/idftools/idf2vrml.cpp | 269 ++++++++++++------------- utils/idftools/idf_common.cpp | 1 + 38 files changed, 245 insertions(+), 174 deletions(-) -- 2.1.4
_______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

