Some versions consist of four parts with the last part being called the
revision or build number. wxVersionInfo is now able to save such a
fourth number.
We need to pass the physical size, not scaled by DPI, as the "size"
parameter of GetBitmapBundle(), so that a user-defined art provider
could use it to select one of the available bitmap sizes (which will
then be scaled, if necessary, by wxBitmapBundle itself).
This change is not 100% backwards-compatible because, in theory, bitmap
sizes could be specified using dialog units previously, but this is not
supported any more. However in practice this never happened because it
simply doesn't make sense to use dialog units for the bitmap sizes and
it doesn't seem worth complicating the code by adding another XRC type
of "DPI-independent pixels that can be expressed in dialog units",
especially considering that DUs are DPI-dependent by definition.
See #22584.
Installing this package directly fails because of a conflict between one
of its dependencies and the already installed libc++-dev which depends
on another, incompatible, version of the same library.
Work around this by installing libunwind-dev directly, which is enough
to make apt uninstall libc++-dev and libunwind-14-dev that it depends on
instead of just stopping with an error.
It's not really clear how are we supposed to use clang with libc++ in
this environment, but this at least allows to build with gcc.
Use existing path for libc.so on Linux/x86_64 platforms to prevent the
test from just exiting without doing anything.
Also don't give a compilation error for unknown platforms, just a
run-time warning is sufficient.
Restrict the GitHub token permissions only to the required ones, i.e.
just read-only access to the code.
This is done in order to reduce the potential harm in case of a
malicious pull request, see GitHub blog post at
https://securitylab.github.com/research/github-actions-preventing-pwn-requests/
Signed-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com>
Closes#22574.
GNOME session manager currently returns "gnome-session", but we only
checked for "GnomeSM" value, which was apparently used in GNOME 2 or
maybe even earlier.
Check for the presence of "GNOME" substring anywhere in the session
manager name (ignoring case) to cover both values and also do the same
for KDE for consistency.
We probably could change inc_release to do this too, but considering the
frequency of our minor (let alone major) releases, it doesn't seem to be
worth it.
Use wxRect::Inflate(), which preserves the position of the center of the
rectangle, instead of just changing its size, which could the position
of the center and result in the window snapping back to the previous
display (and, even more catastrophically, then being moved back to the
new one when handling the resulting WM_DPICHANGED and so on forever).
We need to account for the origin shift manually here since the changes
of 4f9186f1a1 (Increase usable scrolling range in wxMSW by a factor of
10,000, 2022-04-30).
This notably fixes drawing icons in wxGenericListCtrl, which uses
wxImageList.
Closes#22570.
Add another compatibility implicit constructor to allow the existing
code, directly passing XPM data to various functions that used to take
wxBitmap or wxIcon and now taking wxBitmapBundle, to work.
Closes#22566.
Don't change the window size automatically if the application handled
wxEVT_DPI_CHANGED event to allow it to choose a better size than what is
suggested by MSW itself.
Closes#19152.
Update the TLW decoration size as soon as DPI changes to ensure that
GetBestSize() returns correct value: previously it was too small when
moving the window from normal to high DPI, for example, because
GetBestSize() added the smaller, old decoration size to the best
computed client size.
And now that it works correctly, ensure that we never set the window
size to a size smaller than its best size to prevent window elements
from not fitting into the window after the DPI change.
See #18649.
We seem to be only getting WM_DPICHANGED if the DPI did really change,
so remove the check for this.
This commit is best viewed ignoring whitespace-only changes.
The situation with Python under FreeBSD is pretty weird, with system
Python being 3.7, but pip only available as py38-pip package and,
unsurprisingly, not working with python3.
This could probably be resolved somehow, but for now I just don't have
enough energy to fight with Python again, so simply don't use it.
This file was removed back in 961a1c2b39 (Remove unused Java class files
without sources from help sample, 2017-10-04) but was left in the bake-
and make-files.
Somehow this didn't create any problems with GNU make, where cp exited
with an error, but make recipe succeeded nevertheless, but it results in
a build error with BSD make.
At least under FreeBSD, vsnprintf() doesn't work with Unicode strings in
non-UTF-8 locales (but just returns EILSEQ), so set such locale before
using it.
Fix another bug in wxFileName::ReplaceHomeDir(): only replace the first
occurrence of the home directory, not all of them (or even the first one
if it appears in the middle of the string).