On OpenIndiana (SunOS) the result is different when compiled as C,
and the C++ result is what matters to wxWidgets.
Fixes compilation of src/common/strconv.cpp on OpenIndiana.
In configure moved WX_ARG_FEATURE(regkey outside of if.
Have configure under windows skip linking to X11.
Have configure check for "USE_WIN32" instead of for "wxUSE_MSW".
wxUSE_FSWATCHER
wxUSE_SNGLINST_CHECKER
wxUSE_SOCKETS
wxUSE_DIB
While we have to keep these conversions enabled by default, they are very
dangerous as they can result in silent data loss on any system not using a
locale with UTF-8 encoding, i.e. always under MSW.
Allow mitigating this by defining wxNO_UNSAFE_WXSTRING_CONV when compiling the
application code using the library, which makes these conversions invisible to
the user code, and so can be used without recompiling the library.
Also add wxUSE_UNSAFE_WXSTRING_CONV which can be set to 0 when compiling the
library to disable these conversions globally for all applications using it.
Closes#11830.
Compile accessibility support on Windows by default now that the generic
wxDataViewCtrl control implements accessible interface. After the
changes from 7dab555f71, accessibility
support is much more lightweight and doesn't interfere with normal win32
behavior, so this change shouldn't affect accessibility-unaware code in
any way.
The changes in 065135adcc caused AVKit to be linked even when the deployment target was set to 10.7 or 10.8 which would not be available on the target machine. The deployment target is now checked before using AVKit.
QTKit has been removed from OS X 10.12 SDK.
QTKit has been superseded by AVFoundation since OS X 10.7.
Since wxWidgets >= 3.1 requires 10.7 anyway there is no reason to support the old API.
Additionally the AVFoundation implementation may use AVKit (available since 10.9). It will be used when available and the deployment target is met.
Closes https://github.com/wxWidgets/wxWidgets/pull/337
Since OS X Sierra 10.12 QTKit has been removed. wxMediaCtrl for OS X already had a fallback to AVFoundation implemented. This makes sure this will be used and the correct media Frameworks are used for linking.
Add a new class allowing to store passwords and other sensitive information
using the OS-provided facilities.
Add implementations for all the main platforms, documentation and a new sample
(which contains an ad hoc unit test as the real unit test for this class would
probably be a bad idea as it wouldn't run in non-interactive contexts and
could show OS level dialog boxes if it did).
The implementation using XSendEvent() with classic input events can't work
with GTK+ 3 anyhow because it uses XInput2 which is incompatible with them, so
warn the user about this and don't compile useless code into the library.
The check added in 841af56084 was not good
enough, some MinGW versions do have imagehlp.h, but don't define all the API
functions we need in it. Luckily, we can check for this simply by verifying
that API_VERSION_NUMBER is big enough.
Closes#17451.
AX_CXX_COMPILE_STDCXX() macro does not define HAVE_CXX11 when C++11 is
required (and not optional, as with --enable-cxx11), so the build was broken
when --with-cxx=11 was used under OS X as -stdlib=libc++ was not used.
Fix this and also leave only a single AX_CXX_COMPILE_STDCXX() check for C++11,
this saves us ~1000 lines in configure.
MinGW64 and TDM-GCC come with imagehlp.h and can compile the code using debug
help API too, so enable wxUSE_DBGHELP when using these compilers by default
and also allow enabling it via a configure option.
Update misc/scripts/inc_release script: remove non-existent any more files and
update the version in the MSVS 200x project files not generated by bakefile
any more and MSVS 201x project files which were not previously taken into
account.
Run it and rebake.
Latest versions of CppUnit removed cppunit-config and use pkg-config instead,
so try the latter if the former is not found to detect CppUnit under Fedora 24
for example.
Closes#17387.
There are just too many of these warnings because GTK+ people are extremely
deprecation-happy and like marking functions which need to be used for the
code to work with the older GTK+ versions as deprecated. Because of this, in
many cases we have no choice but to continue to use the now deprecated
functions and the only way to avoid them is to pepper the code with the
pragmas doing this. Disabling the warning globally seems like the lesser evil
because not disabling them at all is worse than useless as the flood of the
unavoidable deprecation warnings hides any real ones that might occur.
Due to recent changes in utils, stdpath and the removal of carbon, building on
OS X was broken by various compiler errors and linker issues.
Closes https://github.com/wxWidgets/wxWidgets/pull/210
The results of the checks for the command line options are not useful to show
as presumably the user already knows which options were used for invoking
configure, and so the results of these checks are known as well (with the only
exception of --with-xxx options when configure detects whether to use the
system or the built-in version of the library on its own, but we already
summarize the results of these checks at the end anyhow).
Just don't flood the user with all the messages about checking this and do our
job silently.
Cocoa has been the default toolkit in wxWidgets for a long time. There is really no good reason to use Carbon in 2016 and this removes a lot of unused and unmaintained code.
It doesn't make much sense to have dependencies on the system libraries when
using a built-in library as this makes the binaries using wxWidgets unportable
to the systems without the matching versions of these libraries which was
probably the goal if the built-in library is used.
We need these options in both CXXFLAGS and OBJCXXFLAGS, otherwise
Objective-C++ code would fail to compile when including C++11 headers such as
<type_traits>.
Make it simpler to enable C++11 support when building wxWidgets, in particular
take care of using the correct standard library under OS X in this case.
Notice that currently we still build the library using C++98 if no C++11
compiler is available, even with this option. We may want to change this to
give an error in such case later instead.
Also skip the check for <type_traits> in configure when C++11 is used, we know
that it's available in this case, so don't waste time checking for it (there
are probably several more checks that could be skipped in C++11 mode too...).
This symbol was wrongly added to include/wx/msw/setup0.h directly in
075ef6551e, so it didn't work when
cross-compiling from Unix (which doesn't use this file) and would have been
lost after any future modification of include/wx/setup_inc.h where it should
have been added in the first place.
Do this now and also make the check for this symbol in wx/progdlg.h a bit more
readable.
There doesn't seem to be any need for it, the library compiles fine without it
and the few warnings generated with -Wstrict-aliasing=2 are harmless (i.e. the
strict aliasing rule is not really broken).
This constant wasn't very useful as it contained the description of the OS on
the machine where the library was built, not the one on which the application
using it was running. It also wasn't used anywhere in wxWidgets and apparently
wasn't meant to be used outside of it.
Finally, putting the output of `uname -r` into it created problems with
creating reproducible builds as just a change in the kernel version changed
the build results.
Closes#17002.
This is a simple animated control indicating some program activity.
Provide native GTK+ (for > 2.20) and OS X implementations as well as a generic
one used under MSW.
Update the sample and the documentation.
Use AC_CACHE_CHECK() to avoid recompiling the test program(s) every time
configure runs and also simplify the checks. This required renaming
ac_wxgtkXXX to wx_cv_gtkXXX (cached variables must have "cv" in them).
Also make the checks more logical, by simply setting wx_cv_gtkXXX if
wx_cv_gtkYYY is set with XXX < YYY.
Finally, and the real reason for these changes, add test for __WXGTK220__
which will be used by the upcoming commits to check whether GtkSpinner is
available.
This is a simple high level helper combining an arbitrary control showing
multiple items with the buttons allowing to add items to and remove items from
this control, but using the buttons and the layout appropriate for the current
platform.
Add the implementation itself, an example of using it to the dialogs sample
and the documentation.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78462 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The output of "checking for backtrace()" was interspersed with the output of
"checking for library containing backtrace", which was ugly and potentially
confusing, so move AC_SEARCH_LIBS() out of AC_CACHE_CHECK() to fix it.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78430 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This avoids
WARNING: libnotify not found, wxNotificationMessage will use generic implementation.
followed by
Which GUI toolkit should wxWidgets use? GTK+ 2 with support for libnotify
at the end.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78421 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This option, which is on by default unless the use of STL is disabled,
provides better interoperability with the standard library when it can be done
without breaking backwards compatibility.
The first example of its use is to allow passing std::vector<> of any string
compatible type to wxItemContainer::Append(), Insert() and Set(), allowing to
directly initialize various wxControls deriving from it such as wxChoice,
wxComboBox, wxListBox from a std::vector<> of strings.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78066 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add EXTRALIBS_WEBVIEW similar to the existing EXTRALIBS_MEDIA and such and set
it in configure instead of adding libwebkitgtk and dependent libraries
directly to GUI_TK_LIBRARY.
This ensure that the core library doesn't have any dependencies on
libwebkitgtk which it doesn't need.
Closes#16624.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78026 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add functions to acquire/release power resources, preventing/allowing back the
system to go to sleep or turn off the screen and a class wrapping them in a
safe way.
This patch implements the functions for MSW and OSX, adds documentation and
updates the sample to demonstrate the new functionality.
Closes#16413.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77511 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This merges in the latest sources from GSoC 2014 wxQt project with just a few
minor corrections, mostly undoing wrong changes to common files in that branch
(results of a previous bad merge?) and getting rid of whitespace-only changes.
Also remove debug logging from wxGrid.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This partially reverts the changes of r77029 and r77039: now functions such as
Set/GetLayout(), AlphaBlend() and GradientFill() are still called (almost)
directly when using MSVC but pass by dynamic loading with the other compilers,
which don't have #pragma comment(lib) and, in MinGW case, also lack some of
these functions in their libraries even if we do link with them.
Closes#16411.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77068 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Implicitly link msimg32.lib in when using MSVC and add it to MinGW (and
Borland) makefiles.
This should have been part of r77029.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77039 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This allows to disable the use of all system libraries with a single option
instead of having to use --with-{lib{png,jpeg,tiff},regex,zlib,expat}=builtin
or similar.
This is especially useful under OS X where we want to avoid the dependencies
on any locally installed homebrew or similar libraries.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76948 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Get rid of the rest of __WXCOCOA__ tests in the sources.
Drop configure option for using it.
Also remove the documentation for this port.
This should have also been part of r76735.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76815 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Amend the changes of r76800 to only avoid QuickTime framework when using
Cocoa, under Carbon it's needed by wxSound too, and not only wxMediaCtrl, and
there is no real reason to avoid it in the first place anyhow.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76814 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
OpenGL framework is, in fact, always needed because of the code in
src/osx/core/glgrab.cpp which is currently used to implement
wxScreenDC::GetAsBitmap().
This reverts r76799.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76807 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This means `wx-config --libs` doesn't include webview in its output by default
any longer, it must be explicitly requested.
Closes#16291.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76616 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Most importantly, this allows us to remove all MSLU-related stuff.
Some functions which were previously loaded dynamically can now be just used
directly, too.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76535 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This port is not used and is not being worked on, so remove it to reduce the
amount of the code which needs to be updated for every global change.
Also remove tests for VisualAge compiler which isn't used since ages.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76533 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Detect its support in the code by testing __cplusplus value and using specific
checks for MSVC and Clang as configure detects it as being available when
using recent g++ versions in non-C++11 mode, which do support this keyword but
warn when it is used without -std={gnu,c}++11 option, which makes actually
using it a bad idea in this case.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76174 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Make overriding virtual methods more explicit and enable additional checks
provided by C++11 compilers when "override" is used.
Closes#16100.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use dladdr() under Unix, if available, to provide the same functionality as we
get from GetModuleHandleEx() under MSW and export it in a new public function.
Closes#15248.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76114 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This fix only helps with building wxWidgets itself but doesn't help when
building user code using it, so revert it as we need another solution to this
problem anyhow.
This reverts r75536, see #15805.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75553 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Under Windows we already define _UNICODE which gets picked up and translated
to wxUSE_UNICODE by wx/platform.h, but under Unix we didn't do it until now.
Do it both for consistency and to fix the build breakage since r75520 which
moved the tests for wxUSE_UNICODE being defined before wx/setup.h.
This seems like the simplest solution because otherwise there doesn't seem to
be any single header order which would work under both Windows and Unix: under
Windows we need to include wx/compiler.h, and hence _mingw.h included from it,
before wx/setup.h, which implies that wxUSE_UNICODE must be set before doing
it, but under Unix wxUSE_UNICODE was only defined in wx/setup.h and so
couldn't be tested before including wx/compiler.h.
And just the explanation above should convincingly show that defining
wxUSE_UNICODE in CPPFLAGS makes things simpler.
Closes#15805.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75536 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Under this system vsscanf() is declared as taking a non-const char* as first
argument which prevented our code using it from compiling. Wrap it in
wxCRT_VsscanfA() adding the necessary const_cast<> to fix this.
Closes#15638.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75340 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
It wasn't up to date (e.g. aui, ribbon, propgrid, richtext were not included
in it) and wasn't used anywhere anyhow.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75282 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The test for setEventCallout() was added in r34541 to work around some problem
with OS X 10.1 SDK. As we don't support this version of OS X since a very long
time, it shouldn't be needed any longer.
See #15692.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75255 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775