Commit Graph

70687 Commits

Author SHA1 Message Date
Vadim Zeitlin
78b272c1df Merge branch 'fix-httpbin-travis'
Fix Travis CI failures due to httpbin dependency update.

Closes https://github.com/wxWidgets/wxWidgets/pull/2301
2021-04-03 20:01:35 +02:00
Vadim Zeitlin
b78508615a Explicitly install decorator 4.4.2 as httpbin dependency
The latest version doesn't work with Python 2 any more and installing it
breaks Travis CI builds still using Python 2.
2021-04-03 19:41:55 +02:00
Vadim Zeitlin
6aac8fcf1f Don't use lsb_release under non-Linux platforms in Travis script
Avoid the error about command not being found.
2021-04-03 19:36:44 +02:00
Artur Wieczorek
ba588fd072 Take into account scale actor while resizing the image in generic wxImageList
Too small image needs to be resized to the required physical size first
and next converted to wxBitmap with actual scale factor.
2021-04-03 18:56:29 +02:00
Artur Wieczorek
b6d305e4f2 Assure that all images in the generic wxImageList have the same scale factor
Mixing images with various scale factors could be misleading and error
prone.
2021-04-03 18:54:32 +02:00
Daniel Kulp
eb52e86553 Take into account scale factor of images added to wxImageList
Closes #19114.
2021-04-03 18:54:32 +02:00
Stefan Csomor
767de514c1 fixing update area being to big
see #19111
2021-04-03 18:30:57 +02:00
Ian McInerney
ae902a88ef Add doc section on wxFileName symlink behavior 2021-04-01 20:32:55 +01:00
Ian McInerney
53bd1391f4 Add a new wxFileName function to resolve symlinks to absolute paths 2021-04-01 20:32:08 +01:00
PB
152a2079b4 Fix example code in wxArtProvider docs
Add a missing ampersand to the third parameter of overridden
CreateBitmap(), to make it clear it is a reference.

Also add semicolons after methods declarations.

Closes https://github.com/wxWidgets/wxWidgets/pull/2299

Closes #19125.
2021-03-31 03:04:49 +02:00
PB
b9f22fc633 Replace wxEvtHandler::Connect() with Bind() in the docs
In the docs, replace mentions of wxEvtHandler::Connect() with
wxEvtHandler::Bind(), mostly to match the actual code but also
because Bind() is the recommended way to dynamically bind events.

Closes https://github.com/wxWidgets/wxWidgets/pull/2298
2021-03-31 03:04:49 +02:00
Gérard DURAND
41d36f7011 Update French translations
Closes #19123.
2021-03-28 03:30:17 +02:00
Vadim Zeitlin
a244059934 Avoid using DTM_GETIDEALSIZE with DTS_SHOWNONE
This message is completely broken when DTS_SHOWNONE is used, it returns
wrong result (less than the size without DTS_SHOWNONE) initially and
completely wrong results after a DPI change.

Create a temporary date time picker control without DTS_SHOWNONE and
call DTM_GETIDEALSIZE for it instead. This is wasteful, but at least
returns correct results.

This commit is best viewed ignoring whitespace-only changes.
2021-03-28 03:22:17 +02:00
Ian McInerney
da8c851949 Don't document wxSysColourChangedEvent as being MSW-only
The docs mentioned this event as being Windows only, but it is also
generated on macOS and GTK now.

Closes https://github.com/wxWidgets/wxWidgets/pull/2296
2021-03-28 03:06:28 +02:00
Vadim Zeitlin
aa50c6d829 Further improve best size of wxDatePickerCtrl with wxDP_ALLOWNONE
Compute the best size more precisely to be exactly compatible with the
control appearance when not using wxDP_ALLOWNONE. This unfortunately
requires hardcoding an arbitrary constant in DoGetBestSize().

Patch used for testing this code for future reference:

diff --git a/samples/minimal/minimal.cpp b/samples/minimal/minimal.cpp
index 470e765423..a1d5fb9938 100644
--- a/samples/minimal/minimal.cpp
+++ b/samples/minimal/minimal.cpp
@@ -26,6 +26,8 @@
     #include "wx/wx.h"
 #endif

+#include "wx/datectrl.h"
+
 // ----------------------------------------------------------------------------
 // resources
 // ----------------------------------------------------------------------------
@@ -175,6 +177,28 @@ bool MyApp::OnInit()
     CreateStatusBar(2);
     SetStatusText("Welcome to wxWidgets!");
 #endif // wxUSE_STATUSBAR
+
+    auto sz = new wxBoxSizer(wxVERTICAL);
+    auto addDPC = [this, sz](int style)
+    {
+        sz->Add(new wxDatePickerCtrl(this, wxID_ANY, wxDefaultDateTime,
+                                     wxDefaultPosition, wxDefaultSize, style),
+                wxSizerFlags().Right());
+    };
+
+    addDPC(wxDP_DROPDOWN | wxDP_ALLOWNONE | wxDP_SHOWCENTURY);
+    addDPC(wxDP_DROPDOWN | wxDP_SHOWCENTURY);
+    addDPC(wxDP_DROPDOWN | wxDP_ALLOWNONE);
+    addDPC(wxDP_DROPDOWN);
+
+    sz->AddSpacer(10);
+
+    addDPC(wxDP_SPIN | wxDP_ALLOWNONE | wxDP_SHOWCENTURY);
+    addDPC(wxDP_SPIN | wxDP_SHOWCENTURY);
+    addDPC(wxDP_SPIN | wxDP_ALLOWNONE);
+    addDPC(wxDP_SPIN);
+
+    SetSizerAndFit(sz);
 }
2021-03-27 21:55:13 +01:00
Vadim Zeitlin
8ceca69064 Always handle wxDP_ALLOWNONE ourselves in best size computation
DTM_GETIDEALSIZE doesn't seem to account for it, so we need to do it
ourselves even when using it.

Closes #19120.
2021-03-27 21:52:04 +01:00
Tobias Taschner
e63fd03611
macOS: Improve wxWebView::Paste()
The default (javascript) implementation presents the user with a popup
menu containing a single 'Paste' menu item.
Send this action to directly paste as expected.
2021-03-26 10:28:48 +01:00
Tobias Taschner
b4de7358b5
macOS: Implement keyboard shortcuts in webview
Enable usage of standard editing keys Cmd+A/C/V/X
2021-03-26 10:11:37 +01:00
Dummy
e180baa6df Correct German translation of 'A5 sheet'
Fix typo in the format name.

Closes #19121.
2021-03-25 16:19:28 +01:00
Vadim Zeitlin
4f6cf6da5b Don't call GetTextExtent() if we don't use its result
It's unnecessary to call GetTextExtent() just to discard/overwrite its
result immediately with the value returned from DTM_GETIDEALSIZE, so
don't do it.

This reverts another part of a98d8448fa (Fix size of
wxDateTimePickerCtrl after DPI change, 2019-01-13) which wasn't done in
7de85d7470 (Restore correct best width of wxDatePickerCtrl in MSW,
2020-05-24).included

This commit is best viewed ignoring whitespace-only changes.
2021-03-25 14:49:54 +01:00
Vadim Zeitlin
67e9829b55 Remove unneeded wxClientDC wxDateTimePickerCtrl::DoGetBestSize()
Just call GetTextExtent() on the window itself, it does the same thing
anyhow.

No real changes, just a tiny simplification.
2021-03-25 14:46:37 +01:00
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