No description
Find a file
Vadim Zeitlin ef1bf6df1f Disable fast unwind on malloc in ASAN builds
This makes things much, much slower, but unfortunately seems to be the
only way to avoid memory leak reports when running the tests as without
it the suppression is not used because the stack is truncated, i.e. we
only see

Direct leak of 24 byte(s) in 1 object(s) allocated from:
    #0 0x7f0968253bc8 in malloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10dbc8)
    #1 0x7f09675aacb8 in g_malloc ../../../glib/gmem.c:102

in the output when the actual stack, seen with fast_unwind_on_malloc=0, is

Direct leak of 24 byte(s) in 1 object(s) allocated from:
    #0 0x7f12b913bbc8 in malloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10dbc8)
    #1 0x7f12b8496cd8 in g_malloc ../../../glib/gmem.c:102
    #2 0x7f12b84b0f93 in g_strdup ../../../glib/gstrfuncs.c:363
    #3 0x7f12b49adb2a in atk_bridge_adaptor_init ../atk-adaptor/bridge.c:1039
    #4 0x7f12b566d753 in _gtk_accessibility_init ../../../../gtk/a11y/gtkaccessibility.c:992
    #5 0x7f12b5821cfc in default_display_notify_cb ../../../../gtk/gtkmain.c:714
    #6 0x7f12b5589801 in g_closure_invoke ../../../gobject/gclosure.c:810
    #7 0x7f12b559d813 in signal_emit_unlocked_R ../../../gobject/gsignal.c:3742
    #8 0x7f12b55a8b9d in g_signal_emit_valist ../../../gobject/gsignal.c:3498
    #9 0x7f12b55a90d2 in g_signal_emit ../../../gobject/gsignal.c:3554
    #10 0x7f12b558e283 in g_object_dispatch_properties_changed ../../../gobject/gobject.c:1206
    #11 0x7f12b55906f1 in g_object_notify_by_spec_internal ../../../gobject/gobject.c:1299
    #12 0x7f12b55906f1 in g_object_notify ../../../gobject/gobject.c:1347
    #13 0x7f12b5dbf54f in _gdk_display_manager_add_display ../../../../gdk/gdkdisplaymanager.c:479
    #14 0x7f12b5589a55 in _g_closure_invoke_va ../../../gobject/gclosure.c:873
    #15 0x7f12b55a8b27 in g_signal_emit_valist ../../../gobject/gsignal.c:3407
    #16 0x7f12b55a9b7b in g_signal_emit_by_name ../../../gobject/gsignal.c:3594
    #17 0x7f12b5ded21a in _gdk_x11_display_open ../../../../../gdk/x11/gdkdisplay-x11.c:1803
    #18 0x7f12b5dbf377 in gdk_display_manager_open_display ../../../../gdk/gdkdisplaymanager.c:462
    #19 0x7f12b5822f6a in gtk_init_check ../../../../gtk/gtkmain.c:1109
    #20 0x7f12b5822f6a in gtk_init_check ../../../../gtk/gtkmain.c:1101
    #21 0x7f12b6fd1dad in wxApp::Initialize(int&, wchar_t**)
    ...
2021-01-31 17:33:13 +01:00
.github Disable fast unwind on malloc in ASAN builds 2021-01-31 17:33:13 +01:00
3rdparty Update Catch submodule to use correct ARM break instruction 2020-07-01 22:39:13 +02:00
art Replace images in wxRendererMac::DrawTitleBarBitmap() with drawing code. 2016-01-05 14:51:04 +01:00
build Ignore leak from atk_bridge_adaptor_init() when using ASAN 2021-01-31 17:33:04 +01:00
demos Remove HAVE_W32API_H definition and checks 2020-10-20 01:47:47 +02:00
distrib Remove BCC-specific hdrstop pragma from everywhere 2020-10-12 21:58:37 +02:00
docs Use Markdown formatting in the translation HOWTO 2021-01-21 15:56:18 +01:00
include Show full text in single line MSW wxTextCtrl if possible 2021-01-30 20:43:14 +01:00
interface Document when wxColour::IsSolid() was added 2021-01-28 07:31:36 -08:00
lib Link tiff library as shareable image on OpenVMS 2019-03-12 08:20:16 +01:00
locale Turkish translation update 2021-01-22 02:19:06 +03:00
misc Ignore leak from atk_bridge_adaptor_init() when using ASAN 2021-01-31 17:33:04 +01:00
samples Merge branch 'web-request' 2021-01-17 18:19:47 +01:00
src Show full text in single line MSW wxTextCtrl if possible 2021-01-30 20:43:14 +01:00
tests Simplify WaitForPaint::YieldUntilPainted() 2021-01-31 01:33:30 +01:00
utils Remove HAVE_W32API_H definition and checks 2020-10-20 01:47:47 +02:00
.editorconfig Revert changes in Editor Config file made by mistake in 5fbe3cab 2018-11-01 18:37:34 +01:00
.gitattributes Exclude some files from release tar balls 2017-11-16 18:44:27 +01:00
.gitignore Remove redundant patterns from .gitignore 2020-04-21 22:39:07 +02:00
.gitmodules Remove "update = checkout" option for submodules 2018-02-04 00:33:08 +01:00
.mailmap Use consistent name for Konstantin S. Matveyev in git log 2020-05-25 01:48:43 +02:00
.travis.yml Travis CI: Use default target for CMake iOS build 2021-01-08 13:03:24 +01:00
acinclude.m4 Remove obsolete wxUSE_IOSTREAMH option 2019-10-21 20:46:21 +02:00
aclocal.m4 Pass options needed by it to libtiff configure only 2020-07-18 16:59:48 +02:00
appveyor.yml Fix testing for curl success in PowerShell 2021-01-27 11:30:18 +01:00
autoconf_inc.m4 Merge branch 'master' into web-request 2020-12-12 18:12:25 +01:00
autogen.sh
CMakeLists.txt CMake: Fix out of sync iOS/macOS deployment target 2021-01-08 13:02:30 +01:00
config.guess Update various GNU configuration scripts to latest versions 2019-08-07 09:00:09 -07:00
config.sub Update various GNU configuration scripts to latest versions 2019-08-07 09:00:09 -07:00
configure Merge branch 'web-request' 2021-01-17 18:19:47 +01:00
configure.in Merge branch 'web-request' 2021-01-17 18:19:47 +01:00
descrip.mms workaround for which is probably a compiler-bug on OpenVMS-AXP 2021-01-07 09:47:46 +01:00
install-sh
Makefile.in Merge branch 'web-request' 2021-01-17 18:19:47 +01:00
mkinstalldirs Remove all lines containing cvs/svn "$Id$" keyword. 2013-07-26 16:02:46 +00:00
README-GIT.md Correct wx/msw/setup.h instructions in the documentation 2020-03-24 03:19:38 +01:00
README.md Drop gcc 3.4 from the requirements in the README 2020-07-19 13:14:18 +02:00
regen Remove all lines containing cvs/svn "$Id$" keyword. 2013-07-26 16:02:46 +00:00
setup.h.in Simplify wxUSE_WEBREQUEST_XXX logic 2020-12-13 16:34:47 +01:00
setup.h_vms update OpenVMS makefiles for credential dialog 2021-01-29 08:51:11 +01:00
version-script.in Remove all lines containing cvs/svn "$Id$" keyword. 2013-07-26 16:02:46 +00:00
wx-config-inplace.in Remove all lines containing cvs/svn "$Id$" keyword. 2013-07-26 16:02:46 +00:00
wx-config.in Replace hard TABs in wx-config with spaces 2020-10-06 02:14:27 +02:00
wxwidgets.props Really close the <Import> tag in the comment in wxwidgets.props 2020-05-25 19:12:53 +02:00
wxwin.m4 Allow specifying optional libraries with WX_CONFIG_CHECK 2019-03-11 00:44:10 +01:00

About

wxWidgets is a free and open source cross-platform C++ framework for writing advanced GUI applications using native controls.

wxWidgets Logo

wxWidgets allows you to write native-looking GUI applications for all the major desktop platforms and also helps with abstracting the differences in the non-GUI aspects between them. It is free for the use in both open source and commercial applications, comes with the full, easy to read and modify, source and extensive documentation and a collection of more than a hundred examples. You can learn more about wxWidgets at https://www.wxwidgets.org/ and read its documentation online at https://docs.wxwidgets.org/

Platforms

AppVeyor Travis OSS-Fuzz

This version of wxWidgets supports the following primary platforms:

  • Windows XP, Vista, 7, 8 and 10 (32/64 bits).
  • Most Unix variants using the GTK+ toolkit (version 2.6 or newer or 3.x).
  • macOS (10.10 or newer) using Cocoa under both amd64 and ARM platforms.

Most popular C++ compilers are supported including but not limited to:

  • Microsoft Visual C++ 2003 or later (up to 2019).
  • g++ 4 or later, including MinGW/MinGW-64/TDM under Windows.
  • Clang under macOS and Linux.
  • Intel icc compiler.
  • Oracle (ex-Sun) CC.

Licence

wxWidgets licence is a modified version of LGPL explicitly allowing not distributing the sources of an application using the library even in the case of static linking.

Building

For building the library, please see platform-specific documentation under docs/<port> directory, e.g. here are the instructions for wxGTK, wxMSW and wxOSX.

If you're building the sources checked out from Git, and not from a released version, please see these additional Git-specific notes.

Further information

If you are looking for community support, you can get it from

Commercial support is also available.

Finally, keep in mind that wxWidgets is an open source project collaboratively developed by its users and your contributions to it are always welcome. Please check our guidelines if you'd like to do it.

Have fun!

The wxWidgets Team.