They were wrongly declared as taking (which is not very important) and
returning (which was very bad as it resulted to interpreting the return
values incorrectly in optimized builds) Win32 4-byte BOOL instead of the
C++ 1-byte bool that they actually use.
Closes#23169.
See #23186.
An additional call to wxWebViewHandlerRequest::GetDataString() would
return an empty string because the underlying memory stream wasn't
reset.
Closes#23181.
Move "alpha" initialization inside the conditional to ensure that it's
calculated correctly, as it was apparently hoisted out of the loop due
to an optimizer bug otherwise.
This commit is best viewed with Git --color-moved option.
Closes#23164.
This avoids some spurious -Wmaybe_unitialized warning when using
`std::optional<wxString>` with gcc and is also generally better practice
as it ensures that the fields are always initialized correctly.
Closes#23167.
This allows to avoid including <memory> from the public header as user
code shouldn't pay for including the headers used only in wxXmlResource
implementation.
No real changes.
Don't use heap-allocated pointers needlessly, when we can just use the
values directly.
Also remove the useless Find() and FindRangeForItem() functions as it's
just as simple to iterate over all items than to call them.
We may want to use a map instead of a vector here later, but for now
this is already a simplification (and a micro optimization).
This fixes CVE-2022-37434 (which shouldn't normally affect the use of
zlib in wxWidgets but it still seems better to not have it than to
have).
Closes#22919.
As no catastrophic problems with using PCRE have been discovered (or, at
least, reported), it should be safe to completely remove all the remains
of the non-PCRE version now.
See #22924.
They were not used anyhow and could conflict with the other packages
defining them.
We also don't need to update the version in this file now.
See #23162.
This architecture doesn't exist and is not supported since a very long
time, so stop testing for it and defining __ALPHA__ which was never used
anyhow.
It may still be supported for wxGTK, but we don't need to do anything
special for it, so we don't need to define __POWERPC__, which was never
used anyhow, neither.
The change of 7899850496 (Do use host-specific pkg-config when
cross-compiling, 2022-12-15) should have been done in addition to the
previous logic instead of replacing it, as it has resulted in not using
pkg-config any more when targeting Linux systems, which wasn't the
intention.
So re-apply the changes of d6ddfe87e1 (Disable build system pkg-config
when cross-compiling to non-Linux, 2022-11-30) to handle cross-compiling
to Linux specially.
This makes the logic even uglier than before, but it still seems like
the most pragmatic solution and the original intention was always to do
this and not the wrongly simplified version that was actually applied.
See #22886, #23037, #23171.
Draw on a wxPanel, there is no need for a wxScrolledWindow.
Remove unused constructor arguments.
Use wxID_EXIT instead of JOYTEST_QUIT.
Show in the statusbar which buttons are pressed.
Remove wxClientDC and draw in the paint handler instead.
Use different colours for the first 4 buttons.
Fix size and drawing coordinates when using high DPI.
Calculate the last visible item based on item position instead of the
first visible row when using variable line heights.
Also extend the sample for testing EnsureVisible with item and column.
Closes#23102.
Closes#23128.
Avoid the warning and actually behave correctly when
WXWIN_COMPATIBILITY_3_2==0 by replacing the wrong "#ifdef" added in
c216744f78 (Deprecate MSW-specific wxRadioBox::Set{Label,Button}Font(),
2022-12-24) with the correct "#if".
Closes#23161.
Exclude Git-specific .mailmap and the config files for the other CI
services for consistency with the already excluded ones for GitHub
Actions and AppVeyor CI.
This results in less clatter at the top level for the source archives.
This could be a noticeable optimization as it should be much more
efficient to store many lines in a single block of memory instead of
using pointers to them and it also simplifies the code as we don't need
to delete the pointers any more.
Don't manage the pointer lifetime manually but use a smart pointer for
it: this is simpler and allows to make this class default-movable.
Also make it non-copyable as it never actually was (copying it would
have resulted in a double free of the owned pointer).
This simplifies the code and avoids unnecessary heap allocations as we
can store the objects in the vectors directly instead of storing
pointers to them.