Using "pushd tests && test-command && popd" loses the exit code of the
test command, as it's not taken into account by "set -e" when the
command is part of a "&&" list.
Fix this by simply splitting such lists in their individual commands.
We need to set the new owner for the TLW, instead of using the new
parent as the actual parent, in the MSW sense, as this results in a
weird situation in which the TLW becomes a child (i.e. non-TLW) window.
Closes#18785.
Limit the changes of d06e97e8d9 (Make sure toplevel is active in
SetFocus(), 2020-07-08) to GTK 3 only as they break GTK 2 GUI test
suite, resulting in many CI failures.
See #18783.
Add a new string fragment type for whitespace and punctuation which needs
to be assessed separately from letters and symbols.
Use wxUint64 instead of long for storing the value for numeric fragment.
Use collate instead of compare for non-numeric fragments.
Change names for the public comparison functions: wxWidgets provided function
is now named wxCmpGenericNatural() and for common public use is wxCmpNatural()
which calls a native function in wxMSW and wxCmpGenericNatural() elsewhere.
Try harder in wxCmpNaturalGeneric() if wxRegEx is unavailable: do not
just make a simple string comparison, but perform a case-insensitive
collation.
Make some other changes to simplify and possibly speed up the code.
Use "#pragma message" instead of "#warning" with this compiler to fix
the build after the recent changes of 589e043358 (Add an explicit
warning about missing OpenGL support in wxQt, 2020-07-06).
It's not implemented anyhow and results in warnings about
GK_GLEXT_VERSION redefinition due to include both the standard
GL/glext.h and Qt QtGui/qopenglext.h (which seems to be a slightly
different version of the same file).
This probably should be fixed by not including GL/gl.h at all, but for
now just disable it.
Use arrays to simplify passing CXXFLAGS and LDFLAGS, both of them may
contain spaces, separately on make command line.
Simpler solution of just using individual variable doesn't work because
of bash/POSIX word splitting behaviour (zsh should be blamed for
spoiling me with its much more reasonable behaviour and allowing me
to forget about this insanity in the first place). In principle, we
could work around this by temporarily resetting IFS, but using arrays is
arguably more clear and this script already uses bashisms, in spite of
its shebang line.
Mostly there are warnings about unused parameters because of
unimplemented functionality, but we don't have a simple way to disable
just those, so just don't use -Werror with this build at all.
Setting CXXFLAGS=-Werror in the environment wasn't enough, it was still
overridden by the empty CXXFLAGS in the makefile.
Ideal would be to get rid of the empty flags there, but for now override
them on make command line explicitly.
This doesn't really change anything right now, as Ubuntu Xenial is used
by default anyhow, but removes the last message from the validator at
https://config.travis-ci.com/explore so still worth having.
Use of -Werror results in failures of configure tests that should
normally succeed, e.g. testing for va_copy() when cross-compiling for
iOS, so don't do it and just enable -Werror for building our own code.
Don't convert wxString::c_str() to decltype(wxT("*")), which is
non-const "wchar_t *". Just pass wxString to Printf() directly instead,
this is simpler and more efficient anyhow.
Add wxALLOW_WARNINGS which can be set to prevent this from happening for
the ports where we don't want to avoids warnings anyhow because they
indicate real problems in the code, such as wxDFB.
This warning can't really be avoided in this case, unless we decided not
to return any fonts at all if we can't test whether they're monospaced
or not, but this would probably be even less useful.
Replace manual calls to setlocale() with the existing helper class.
This makes the code slightly simpler and avoids -Wnoexcept-type warnings
due to using setlocale as template argument as a welcome side effect.