Commit Graph

70478 Commits

Author SHA1 Message Date
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
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
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