Commit Graph

70716 Commits

Author SHA1 Message Date
Vadim Zeitlin
776c3e5b73 Don't make wxConfig::Do{Read,Write}LongLong() pure virtual
These functions, added in the recent fce8780297 (Add 64-bit integers
support to wxConfig, 2021-03-09) break compilation of existing code
defining classes inheriting from wxConfig, and we can avoid it by using
strings for storing long long values by default -- as this is what
wxFileConfig is doing, and wxRegConfig provides its own overridden
version anyhow.
2021-03-25 14:06:12 +01:00
Vadim Zeitlin
85b944d164 Merge branch 'webrequest-keep-alive'
Ensure that wxWebRequest objects stay alive as long as the request is in
progress.

See https://github.com/wxWidgets/wxWidgets/pull/2292
2021-03-25 14:04:24 +01:00
Vadim Zeitlin
0959cdb4e0 Check for memory allocation failure in all wxImage::ResampleXXX()
This was previously done in ResampleNearest() but not in all the other
variants, so add the checks there too to avoid crashing when trying to
use too big image sizes.

Closes #19119.
2021-03-25 14:03:06 +01:00
Paul Cornett
024d1543f1 Fix conditional-uninitialized warning in a different way
Rather than dummy initializations, reorganize the code so
there is no way the variables can appear to be uninitialized
2021-03-24 11:35:38 -07:00
Paul Cornett
0a28e3267c Remove unused macro definition 2021-03-24 11:25:15 -07:00
Paul Cornett
0995797158 Remove run-time dependencies on X11 backend with GTK3
As with Wayland, the X11 backend may not be available at run-time,
so types defined in it can't be used
2021-03-24 11:25:01 -07:00
Vadim Zeitlin
afc3aa773a Don't try scaling wxHtmlImageCell if it has 0 size
This just results in assertion failures from wxImage and nothing useful.
2021-03-24 19:14:47 +01:00
Vadim Zeitlin
43d359f96d Merge branch 'xrc-load-url'
Fix loading XRC from URLs.

See https://github.com/wxWidgets/wxWidgets/pull/2288
2021-03-24 18:24:12 +01:00
Vadim Zeitlin
360268ee25 Extend life time of wxWebRequest while it is in process
We already did it just before processing the state change event, but
this was too late, as the object could have been already deleted by then
and this actually happened with the example from wxWebRequest
documentation.

Do it earlier now, as soon as the request becomes active, which normally
happens when Start() is called, and keep the reference until the event
is processed after the request reaches one of the final states
(completed, failed or cancelled).

Add a unit test checking that deleting the wxWebRequest object doesn't
prevent the request from running to the completion any more.
2021-03-24 17:45:01 +01:00
Vadim Zeitlin
d7235ebb05 Show states using names, not ordinals, in trace message
This is much more readable.
2021-03-24 17:45:01 +01:00
Vadim Zeitlin
0548a06905 Check the values from wxWebRequestEvent in the unit test too
In addition to checking that wxWebRequest itself is filled with the
expected values, verify that the same values are returned via
wxWebRequestEvent.
2021-03-24 16:33:05 +01:00
Vadim Zeitlin
c0f8c0e0f2 Be stricter about changing to the same state in wxWebRequest
This shouldn't happen, and doesn't, but if it ever does we'd better
return immediately rather than doing something that will almost surely
be wrong.
2021-03-24 16:04:02 +01:00
Vadim Zeitlin
ce91a5d0ff Fix a typo in wxWebRequest use example
s/IsOK/IsOk/ and also make the example slightly more verbose.
2021-03-24 15:29:43 +01:00
Vadim Zeitlin
7d9b01afd9 Disable SSL certificate validation for pip in Trusty CI build
Trusty Python is too old to support SNI, so the new certificate used by
files.pythonhosted.org doesn't validate. Just disable checking it there.
2021-03-23 23:23:29 +01:00
Vadim Zeitlin
dd23d7dcd2 Merge branch 'safe-show-message'
Show message box from wxSafeShowMessage() in the other ports too, if
possible.

Currently this is done using wxMessageBox() if it can be sure that it's
safe to call and only MSW uses native function which is always safe to
call. Ideal would be to also use a native function under Mac, where it
should also be the case, but this doesn't seem to work for whichever
reason.

See https://github.com/wxWidgets/wxWidgets/pull/2270
2021-03-23 18:59:51 +01:00
Vadim Zeitlin
8528addefb Do not ignore changes to before_install.sh script in CI workflow
This script is used by this file, so changes to it definitely affect it.
2021-03-23 17:45:19 +01:00
Vadim Zeitlin
9b4852eef6 Install gdb for the CI builds
We can need it to get the backtrace in case of a crash.
2021-03-23 16:15:00 +01:00
Vadim Zeitlin
4c9b986121 Try getting backtrace from gdb if the test crashes
Run gdb on the core file, if one was generated.

Also remove any limits on core file size to try to ensure that it is
generated in the first place.
2021-03-23 15:40:52 +01:00
Vadim Zeitlin
0d962fbe66 Set working directory for the GUI test build step too
This is more consistent with the non-GUI tests and avoids the need for
pushd/popd (the latter one was not needed anyhow, actually).
2021-03-23 15:33:51 +01:00
Vadim Zeitlin
b4d37c88bd Another fix for rerunning the tests after LeakSanitizer crash
Don't forget to unset "rc" if we're rerunning the test to avoid still
giving an error even if succeeds the second time.
2021-03-23 15:32:38 +01:00
Vadim Zeitlin
73f5b0e7b7 Disable fast unwind in ASAN when running non-GUI tests too
This might help with LeakSanitizer crashes.
2021-03-23 15:00:41 +01:00
Vadim Zeitlin
d15b76ad92 Get rid of separate "Launching httpbin" step in the CI builds
Just do it as part of "Testing".
2021-03-23 14:59:53 +01:00
Vadim Zeitlin
478720c18e Fix rerunning the tests in case of LeakSanitizer crash
The changes of 211cde11d4 (Rerun the test if LeakSanitizer crashed while
running it, 2021-02-05) didn't work because the script is executed with
"-e" shell option and so none of the commands added there was actually
run.

Fix this by using the usual "|| rc=$?" construct instead.
2021-03-23 14:56:45 +01:00
Vadim Zeitlin
9ee85c7386 Merge branch 'ubuntu-dbgsym'
Make ASAN CI job work again under Ubuntu Focal, disabling leak detection
if we fail to install the required dbgsym packages (as happens right
now).

Closes https://github.com/wxWidgets/wxWidgets/pull/2290
2021-03-23 14:17:38 +01:00
Vadim Zeitlin
e442d90b0d Merge branch 'webrequest-build-fixes' of https://github.com/MaartenBent/wxWidgets
wxWebRequest-related build fixes for MinGW.

See https://github.com/wxWidgets/wxWidgets/pull/2283
2021-03-23 14:16:07 +01:00
Vadim Zeitlin
a47bb47165 Disable leak detection if debug symbols are unavailable
There just doesn't seem to be any way to make this work right now, so
handle dbgsym packages installation failure and disable leak detection
in this case.

Hopefully ddebs.ubuntu.com repository will be updated in the future,
allowing this to work again.
2021-03-23 14:09:05 +01:00
Vadim Zeitlin
c471699187 Show apt sources and preferences used in the CI builds
This may be useful to understand where do the packages come from.
2021-03-23 14:09:05 +01:00
Vadim Zeitlin
51d796b88b Exit on first error in the before_install script
Any errors here are really fatal.
2021-03-23 14:09:05 +01:00
Vadim Zeitlin
9cb28353e7 Add a helper function to run apt-get
This simplifies the script and allows to log the commands in the build
log.
2021-03-23 14:09:05 +01:00
Vadim Zeitlin
d61719edde Show packages not being installed in the build log 2021-03-23 14:09:05 +01:00
Vadim Zeitlin
bc7a7b0c2d Hide confusing output from "tee --append"
This is used to just append to the file, not actually to see the output
of our own echo commands.
2021-03-23 14:09:05 +01:00
Vadim Zeitlin
4900c5e5b8 Don't use release-proposed repository for debug symbols
This seems to be unnecessary, as -proposed is not used for the actual
packages.
2021-03-23 14:09:05 +01:00
Vadim Zeitlin
899a5251fb Run apt-get more quietly
Avoid unnecessary progress messages about reading the database.
2021-03-23 14:09:05 +01:00
Vadim Zeitlin
ce1d6162f7 Run apt-get install only once and not twice
Add -dbgsym packages to extra_deps and pass them to the same apt-get
command we use for installing all the other dependencies.

This is slightly faster and also makes it simpler to pass extra options
to apt-get, as we're going to do in the next commit.
2021-03-23 14:09:05 +01:00
Vadim Zeitlin
4dae461183 Move ASAN-specific packages installation
No changes yet, just reorganize things to make upcoming changes simpler.
2021-03-23 14:09:05 +01:00
Vadim Zeitlin
9e96ff972b Fix wxXmlResource::Load() with HTTP URLs
Make the code in this function work even with wxFileSystemHandlers that
don't implement FindFirst() at all: we can, and should, still try
loading the passed in path with them, rather than not doing anything at
all.

This makes Load() works with HTTP URLs again, as it apparently used to
do a long time ago, but didn't do any more.

Add a unit test, even if only a semi-manual one, to try to help with
this not getting broken again (ideal would be to launch our own HTTP
server inside the test, but this is a bit more complicated).

Closes #19109.
2021-03-23 13:43:20 +01:00
Maarten Bent
1f36582d87 Initialize wxWinHTTP when wxWebSessionFactoryWinHTTP is created 2021-03-23 00:42:46 +01:00
Maarten Bent
953b71196b Fix extra semi warning in wxWebSessionCURL implementation 2021-03-23 00:42:06 +01:00
Maarten Bent
c4343ed2d4 Load winhttp functions dynamically
winhttp cannot be added to the makefiles, because some MinGW distributions
(MinGW 5.3) do not have this library.
2021-03-23 00:42:02 +01:00
Maarten Bent
3cc48e2e56 Fix checking __MINGW64_VERSION_MAJOR for wxUSE_WEBREQUEST_WINHTTP
It is not yet defined for setup.h, so check it in chkconf.h.
Fixes #19105
2021-03-23 00:39:16 +01:00
Vadim Zeitlin
c24193f299 Merge branch 'stl-fixes'
Minor fixes to STL build.

See https://github.com/wxWidgets/wxWidgets/pull/2289
2021-03-22 23:24:13 +01:00
Vadim Zeitlin
b5f7ed2169 Manually update expired key for ddebs.ubuntu.com repository
Retrieve the latest key, which was extended for another year.

See https://bugs.launchpad.net/ubuntu/+source/ubuntu-keyring/+bug/1920640
2021-03-22 23:23:56 +01:00
Vadim Zeitlin
aad3bfdd52 Test clang using libc++ in GitHub Actions CI build
This is more useful than testing clang with libstdc++ which we also use
in the other CI builds with gcc.
2021-03-22 18:44:34 +01:00
Vadim Zeitlin
f0398d1267 Remove useless wxIntegerHash assignment operator
This doesn't seem to be doing anything useful but does result in
-Wdeprecated-copy from clang 10, as normally a custom copy ctor should
be defined as well, if the assignment operator is defined.
2021-03-22 18:43:00 +01:00
Vadim Zeitlin
1cdf59ff92 Remove "basic STL functionality" configure and CMake checks
This check didn't work in configure when using C++17 or later, as
std::bind2nd() is removed in C++17 and so was worse than useless as it
actually prevented --enable-stl from working.

And while it was only done when using C++98 in CMake, it still seems
pretty useless there too as there should be no environments in which
basic stuff like std::vector<> or std::find_if() is not available.

So just remove it entirely.
2021-03-22 18:38:10 +01:00
Vadim Zeitlin
71eff92873 Remove CppUnit boilerplate from XRC unit test
No real changes, just simplify by using CATCH macros and a simple
fixture instead of CppUnit::TestCase.
2021-03-22 15:31:51 +01:00
Paul Cornett
91bb265e90 Fix build with wxNO_RTTI
wxWidgets RTTI can be used instead
2021-03-21 12:16:12 -07:00
Paul Cornett
ef5076f852 Fix build with wxUSE_PALETTE==0 2021-03-21 12:16:01 -07:00
Artur Wieczorek
dc11bb18cf Use new CoreGraphics API to reset clipping region
Since 10.13 there is available a dedicated CGContextResetClip()
API to reset a clipping region so we don't need to use current
workaround anymore.
2021-03-21 18:44:06 +01:00
Stefan Csomor
d1c0d3b18c keeping the OSX specific use of origin for non-native borders
fixes #19108
2021-03-20 22:09:31 +01:00