It doesn't seem right that the system zlib (installed by e.g. MacPorts)
can be picked up by configure even when --disable-sys-libs is specified,
so disable its use under Mac, as libcurl is optional there.
Still use the system libcurl under Linux in the same case, however, as
it's required to have wxWebRequest at all there and dependency on it is
not really a problem in practice.
This commit is best viewed with Git --color-moved
--color-moved-ws=ignore-all-space -w options.
New version of Doxygen interprets __foo__ as Markdown markup and
consumes the underscores, which mangles the identifier.
Prevent this from happening by escaping the leading underscore for all
occurrences of "__" outside of the code blocks, this seems to be the
least intrusive fix.
See #22671.
Use wxSYS_COLOUR_GRAYTEXT, as wxSYS_COLOUR_3DLIGHT is not visible at all
on the default white background under macOS and is barely visible with
the default GTK theme.
On the flip side, it's too bright in the dark themes, but this is,
arguably, better than not being visible at all.
See #22664.
Prepend $ENV{DESTDIR}, sufficiently escaped to delay its expansion until
the execution of "cmake -E create_symlink" command, to the command path
arguments.
Closes#22653.
See #22610.
Because wxStaticText can contain arbitrary combinations of both
alignment and border flags, we need to allow using "|" on them, just as
it was done for a few other enums in 3d278ee75f (Avoid warnings about
operations on different enums in C++20 mode, 2021-04-25).
See #22656.
Closes#22657.
Linux (until recently) defined dlopen() in libdl, but some other
operating systems (such as NetBSD) have it in libc.
Use CMake-provided variable for the name of the library to use for
dlopen() to fix NetBSD build.
See #22644.
This POSIX function should be preferred to Linux/BSD-specific statfs()
if it's available (as should always be the case nowadays).
This commit is best viewed with Git --color-moved
--color-moved-ws=ignore-all-space -w options.
Replace them with std::string-like equivalents when possible (i.e.
replace Length() with length(), IsNull() with empty()) or, at least,
with wx 2 functions if not (e.g. Remove() with Truncate(), First() with
Find(), LowerCase() with MakeLower() etc).
Closes#22638.
It's a bit wasteful to also mention these changes in the Git notes, so
don't do it and just leave a reminder to copy the existing change log
entries from 3.2 branch instead when it's time to release 3.3.0.
The previous implementation included the fullscreen API with and without
the webkit prefix. Safari itself only provides the prefixed version.
This improves compatiblity at least with popular JS library video.js
and should also improve the situation in general as it closer to native
safari functionality (which is not available through WKWebView).
Try to detect the errors in them sooner, as things can break in rather
unexpected ways later, e.g. if we end up with a negative number of rows
or columns, as could happen if you simply exchanged the parameters of a
DELETED message by mistake.
There is no need to cast already int variables to int before negating
them (this was probably a left over from 25 year old initial version
where these variables might have been unsigned).
Assert if the second parameter is used for this message as it may
indicate that the first parameter doesn't have the correct value neither
(e.g. it could be due to the confusion between INSERTED and APPENDED
parameters, that are interpreted differently).
It's quite non obvious that the "FileDescription" field of the version
information defined in the resource file is used for this, so explain
it.
Co-Authored-By: Mark Roszko <mark.roszko@gmail.com>
When inheriting from std::streambuf, as is the case by default, and
creating wxTextCtrl in the application (as is common) and destroying it
in the library (as is even more so, as it's typically done when the
parent window is destroyed), having inline constructor but not inline
destructor apparently results in std::locale, which is part of
std::streambuf, to be allocated and destroyed using different heaps or
something similar when using TDM-GCC libstdc++, as destroying
std::locale inside the library corrupts the heap and results in crashes
when the next std::locale object is destroyed -- i.e. creating, and then
destroying, more than one wxTextCtrl results in a crash.
Work around this by moving the constructors out of line, as this is
sufficient to avoid the problem, even if it's exact causes are not
exactly clear.
This commit is best viewed with Git --color-moved option.
See #22639.
Flags are not supported as GTK doesn't allow defining the order of the
shortcuts, at least not without removing all the existing ones, which
looks like an overkill.
This allows to add application-specific directories to the file dialog.
This commit only contains the implementation for wxMSW and a change
showing the new function in the sample.
Convert slashes to backslashes when using SHCreateItemFromParsingName()
as it doesn't support the former and returns E_INVALIDARG for the
strings containing them.
This fixes a regression in wxFileDialog::SetDirectory() since the switch
to using IFileDialog in wxMSW, as it didn't set the initial directory
correctly if it contained slashes, unlike before (because we already
replaced slashes with backslashes manually when using common file
dialogs).
Fix backward compatibility regression where native NSImage bitmaps, such
as those loaded via wxArtProvider on macOS, would loose their isTemplate
property when implicitly converted to wxBitmap and back. This resulted
in broken rendering of templates.
This is a common situation in pre-wxBitmapBundle code. wxArtProvider
returns wxBitmapBundle, which is then implicitly converted to a single
wxBitmap in wxArtProvider::GetBitmap() and when its later passed to a
function that takes wxBitmapBundle, it is converted back using the
wxBitmapBundleImplSet implementation.
wxBitmapBundleImplSet serves dual role: it is used both for manually
assembling bitmap bundles and to implicitly faciliate the backward
compatiblity mechanism described above. To make the latter truly
transparent, we need to special-case it and preserve NSImage as is, and
this commit does exactly that.
See #22623.