Commit Graph

71396 Commits

Author SHA1 Message Date
David Connet
5061a112a4 Define ~wxMSWOwnerDrawnButtonBase() for all compilers
There is no reason to only make it protected for gcc and clang, recent
MSVS versions can also give a warning (C5204, which is disabled by
default, but makes sense to enable) otherwise.

Also remove the comment about obsolete gcc 3.4.5.

Closes #19011.

Co-Authored-By: Vadim Zeitlin <vadim@wxwidgets.org>
2021-01-27 23:46:35 +01:00
Dimitri Schoolwerth
2a4c52a414 Fix recently introduced typo in a variable reference 2021-01-27 19:38:11 +01:00
Vadim Zeitlin
41afe95054 Merge branch 'qt-fixes'
Improvements to wxQt, including the addition of gesture events support.

See https://github.com/wxWidgets/wxWidgets/pull/2195

Closes #19042.
2021-01-27 19:06:43 +01:00
dsr
a3d58dadd9 Implement wxGestureEvent support for wxQt
Do it generically in wxWindow and also provide a special version for
wxGLCanvas for which the standard implementation doesn't work well.
2021-01-27 19:01:50 +01:00
dsr
7cd90e5b82 Reset stored window pointer in wxWindow dtor
This protects against orphan Qt events and signals.
2021-01-27 18:56:21 +01:00
dsr
2cf57fda36 Avoid crashes when destroying wxGLCanvas
Block signals that are not safe to process any more.
2021-01-27 18:42:16 +01:00
Vadim Zeitlin
d046a8fbc6 Remove currently unused wxGLContext::m_glContext
No real changes, just remove unused private field.
2021-01-27 18:41:06 +01:00
dsr
98e4f910a5 Implement setting wxGLCanvas attributes in wxQt
Simply remove the premature "return true" which was somehow added back
in df13791078 (Merge wxQT branch into the trunk., 2014-08-24) and add
WX_GL_MAJOR_VERSION support.
2021-01-27 18:34:54 +01:00
dsr
b692dd8aef Implement wxMenuItem::SetFont() for wxQt 2021-01-27 18:31:49 +01:00
Vadim Zeitlin
bb0f2f9768 Fix endptr output value in android_wcstoxxx()
These functions incorrectly multiplied an increment of wchar_t pointer
by sizeof(wchar_t), which made the result quite wrong, so just don't do
this.

See 744ea8a618 (For Android (wxQT), add private wcstol, wcstoul and
wcstod, 2015-02-11).
2021-01-27 18:29:57 +01:00
Vadim Zeitlin
a3b655fd60 Ensure that HAVE_GETHOSTBYADDR is defined under Android too
This is supposed to always be the same as HAVE_GETHOSTBYNAME, but
wasn't, because the latter was explicitly defined for Android after
defining the former as it.
2021-01-27 18:16:06 +01:00
dsr
7d7c43c4c3 Use localeconv() under Android, it's available there now
As of NDK21d, localeconv() is available under Android and can be used in
wxQt there.
2021-01-27 18:09:43 +01:00
Dimitri Schoolwerth
ddec29c338 Don't check for DrawThemeTextEx availability every DrawItemText()
Check for DrawThemeTextEx availability only once, which also seems to be
what ddceaab001 (Remove MSW wxUxThemeEngine class, 2017-10-27) intended
to do here by already introducing a static function pointer. Simply add
an init guard, also because the repeated check is not a cheap operation
(judging by comparing performance with drawing short texts).

Closes https://github.com/wxWidgets/wxWidgets/pull/2196
2021-01-27 17:57:19 +01:00
Vadim Zeitlin
1fed80f9b1 Merge branch 'webrequest-tests'
Make wxWebRequest CI tests more reliable by using local httpbin
instance.

See https://github.com/wxWidgets/wxWidgets/pull/2183
2021-01-27 17:55:42 +01:00
Vadim Zeitlin
97eecc1cce Merge branch 'sizerflags-center-align'
Fix combining wxSizerFlags alignment and CenterXXX().

See https://github.com/wxWidgets/wxWidgets/pull/2190
2021-01-27 17:55:18 +01:00
Vadim Zeitlin
871b928388 Merge branch 'mac-fixes'
Miscellaneous fixes for wxOSX.

See https://github.com/wxWidgets/wxWidgets/pull/2185
2021-01-27 17:54:45 +01:00
Vadim Zeitlin
78e7a966cc Revert "Fix wxSYS_COLOUR_BTNFACE value under macOS < 10.14"
This reverts commit 8e26b8d54e because it
has been superseded by 17239d5c3d (macOS add fallback for retrieving
color channels from dynamic system colors on pre 10.14 systems,
2021-01-26) in master.

See #18977.
2021-01-27 17:53:42 +01:00
Vadim Zeitlin
8e8a86aed0 Fix return code from testing script in case of error
Using type reset %errorlevel% and the errors were not detected any
longer.
2021-01-27 14:56:29 +01:00
Vadim Zeitlin
04b9cee918 Fix testing for curl success in PowerShell
Of course doing the natural thing doesn't work in PowerShell.
2021-01-27 11:30:18 +01:00
Vadim Zeitlin
d59d51e0f2 Use curl command, not PowerShell alias
Aliasing curl to something completely different (Invoke-WebRequest) is
just evil, yet this is what Powershell 3+ does.
2021-01-27 11:12:15 +01:00
Vadim Zeitlin
99d088eec3 Add Python scripts directory to PATH to avoid pip warnings
They're really too annoying.
2021-01-27 11:11:20 +01:00
Vadim Zeitlin
cf65f47add Revert "Suppress pip warning about installing scripts not in PATH"
This reverts commit 2eaa7a21b0 because the
--no-warn-script-location option only exists in Python 3.9+ apparently
and we don't want to require such a new version just for this.
2021-01-27 10:49:58 +01:00
Vadim Zeitlin
6a170343ae Disable the tests if launching httpbin failed for some reason
This is not ideal, but will have to do for now.
2021-01-27 10:04:31 +01:00
Vadim Zeitlin
4bdbbeca4a Redirect httpbin error output to the log file too
This can be at least as useful as stdout.
2021-01-27 10:04:09 +01:00
Vadim Zeitlin
b394bb1b87 Show httpbin output if the test failed, not if it succeeded
This output is mostly useful for diagnosing errors, so it's not very
useful to show it only after successful test completion in after_test
command.
2021-01-27 10:01:53 +01:00
Vadim Zeitlin
2eaa7a21b0 Suppress pip warning about installing scripts not in PATH
We don't care about it here, as we use full paths anyhow.
2021-01-27 09:49:03 +01:00
Vadim Zeitlin
c625d2c001 Try using Python 3 with httpbin
Use 3.5 which is currently available on all AppVeyor Windows images, see
https://www.appveyor.com/docs/windows-images-software/#python
2021-01-27 09:29:02 +01:00
Andreas Falkenhahn
7555d1b245 Fix expansion of the last column in macOS wxDataViewCtrl
It should always take the rest of the available space.

See #14939.
2021-01-26 22:58:01 +01:00
Vadim Zeitlin
623c4811ab Run httpbin in appveyor.yml to be able to stop it later
There is no way to stop a background task simply and safely with
cmd.exe, but in appveyor.yml we can use PowerShell, so use its job
support to do it instead.

This is important because AppVeyor waits until all jobs launched by the
script terminate, so without stopping the background job all builds
waited for an hour before timing out.
2021-01-26 22:50:43 +01:00
Vadim Zeitlin
d5ebe48d93 Use httpbin for error status with body test too
Although httpbin doesn't return any body for the other 4xx statuses, it
does make an exception for this one, so we can use it for testing
instead of the even less reliable httpstat.us which regularly returns
503 server error instead of the expected 418.

This probably also makes the workaround for Ubuntu 14.04 unnecessary, so
remove it.
2021-01-26 22:24:18 +01:00
Stefan Csomor
17239d5c3d macOS add fallback for retrieving color channels from dynamic system colors on pre 10.14 systems
the channel conversion was only working on systems starting from 10.14, using the CGColor as a fallback
2021-01-26 16:40:41 +01:00
VZ
75b4f5439a Fix setting WX_TEST_WEBREQUEST_URL in AppVeyor builds
Don't use quotes around the value, they're not special for cmd.exe
and remain part of the actual variable value.

Co-authored-by: Maarten <MaartenBent@users.noreply.github.com>
2021-01-25 18:22:40 +01:00
Vadim Zeitlin
56a5512b37 Merge branch 'selstore-insert-fix'
Fix state of multiple items inserted into wxSelectionStore and improve
its tests.

See https://github.com/wxWidgets/wxWidgets/pull/2182
2021-01-25 13:02:34 +01:00
Vadim Zeitlin
867a02e646 Merge branch 'webview-edge-unload'
Simplify and fix wxWebViewEdge initialization.

See https://github.com/wxWidgets/wxWidgets/pull/2188
2021-01-25 13:01:45 +01:00
Vadim Zeitlin
b65799448b Merge branch 'gtk-value'
Use wxGtkValue RAII wrapper in wxGTK code.

See https://github.com/wxWidgets/wxWidgets/pull/2187
2021-01-25 13:01:03 +01:00
Vadim Zeitlin
9130f8bfc6 Don't change orthogonal alignment in wxSizerFlags::CenterXXX()
It was unexpected that using wxSizerFlags().Right().CentreVertical()
didn't right-align the item because CentreVertical() reset the alignment
in the horizontal direction rather than just setting it in the vertical
one, so change this, document the new behaviour explicitly and add a new
unit test checking for it.

Closes #18989.
2021-01-25 12:58:04 +01:00
Vadim Zeitlin
caf5a62fd9 Use different sections for different flags in wxGridSizer test
No real changes, just organize the tests a bit better.
2021-01-25 00:53:24 +01:00
Vadim Zeitlin
fa4339a935 Initialize wxGtkValue in a way not requiring C++11
As we still support C++98, don't use G_VALUE_INIT as the initializer:
it's a braced-init-list, which is only allowed in C++11.

Co-Authored-By: Paul Cornett <paulcor@users.noreply.github.com>
2021-01-25 00:49:27 +01:00
Vadim Zeitlin
08d8d12872 Get rid of CppUnit boilerplate in wxGridSizer unit test
No real changes, just simplify and use CHECK() instead of
CPPUNIT_ASSERT_EQUAL() (which is the same as REQUIRE()).
2021-01-25 00:48:30 +01:00
Vadim Zeitlin
b48c46285c Avoid creating empty bitmap in MSW wxNotebook::OnPaint()
It can apparently happen that the window has 0 size and in this creating
the bitmap is useless and just triggers an assert.

Closes #18879.
2021-01-25 00:32:12 +01:00
Vadim Zeitlin
bde7cfb1a7 Show WX_TEST_WEBREQUEST_URL being used in the test
Make it clear which URL do we actually use.
2021-01-25 00:28:11 +01:00
Vadim Zeitlin
32cdda65bb Use pip for httpbin in Mac Travis CI builds
Docker isn't available under Mac, unfortunately.

Notice that it's still better to use Docker if it is available, rather
than using pip everywhere, as pip has trouble installing httpbin in the
Ubuntu 14.04 build, for example.
2021-01-25 00:25:04 +01:00
Vadim Zeitlin
bc825de1fe Simplify and make more robust wxWebViewEdge initialization
Get rid of ms_isInitialized as it must be kept synchronized with
ms_loaderDll.IsLoaded() anyhow, and it's simpler to not have it at all
rather than ensuring this.

Also ensure that calling Initialize() again, after doing it first
unsuccessfully, doesn't assert because ms_loaderDll is already loaded,
by only leaving it with a valid handle if the initialization succeeded.

Closes #19041.
2021-01-25 00:15:24 +01:00
Vadim Zeitlin
4de8857c85 Add wxDynamicLibrary::Attach()
This is symmetric with Detach() and can be useful and doesn't cost
anything to have.
2021-01-25 00:15:24 +01:00
Vadim Zeitlin
3568a160a9 Use wxGtkValue RAII wrapper in wxGTK code
wxGtkValue class was added back in 3f84cb17ca (Add wxActivityIndicator
control., 2015-03-06), but somehow never used. Start using it now
(better late than never...) as it makes the code simpler, shorter and
more robust.

No real changes.
2021-01-24 23:55:43 +01:00
Julian Smart
678b641950 Fix initial focus problem for hidden windows under Mac
Assume that hidden windows do accept focus because, even if this is
still wrong, in general, it is less harmful than wrongly returning false
from CanFocus() for them.

Closes #18987.
2021-01-24 23:45:24 +01:00
PB
e094734a89 Fix numbered list in wxMenuEvent docs
Just remove the empty line which prevented doxygen from generating a numbered list.
2021-01-24 21:58:59 +01:00
Andreas Falkenhahn
b2675d6a60 Fix sending event when cancelling editing in wxDVC under Mac
Move existing code for sending wxEVT_DATAVIEW_ITEM_EDITING_DONE to a new
sendEditingDoneEvent:isCancelled function and also call it, with true
argument, from cancelOperation: to generate the expected event.

Closes #17835.
2021-01-24 21:16:23 +01:00
Vadim Zeitlin
c714e75555 Generate wxEVT_CHAR_HOOK events before accelerators
This is more consistent with the other ports and allows to use
wxEVT_CHAR_HOOK handler to preempt processing of the accelerators (but
notice that under macOS this only works for accelerators that are part
of wxAcceleratorTable and not those associated with the menu items, as
the latter ones are not handled by this code at all).

Also simplify the code structure a little by getting rid of an
unnecessary and more confusing than helpful "handled" variable.
2021-01-24 21:09:05 +01:00
Vadim Zeitlin
f8d4bba9e7 Fix handling of accelerators in wxOSX
Check accelerator tables when handling wxEVT_CHAR_HOOK, not
wxEVT_KEY_DOWN, as we don't get the latter at all for some events, e.g.
Cmd-Alt-1 doesn't generate wxEVT_KEY_DOWN (which looks like another bug)
but does generate wxEVT_CHAR_HOOK.

Closes #13937.
2021-01-24 20:57:20 +01:00