std::isnan() is always available when using C++11, so just use it.
Also pout the test for C++11 implementations of both wxIsNaN() and wxFinite()
first, eventually the rest of the checks will become obsolete and will be
removed.
See https://github.com/wxWidgets/wxWidgets/pull/283
(cherry picked from commit bc41cbeb25)
When using the keyboard to select an item by typing the first characters of
its name, we need to make the item visible in addition to selecting it.
See #16336.
(cherry picked from commit 306597c4fa)
Use wxStringCharType with wxS(), not wxChar (which should be used with wxT())
to fix UTF-8 build after a487dc88c1.
Closes#17335.
(cherry picked from commit 884f3c623d)
Unlike other platforms, wxMSW assumes natural text directionality (i.e.
right to left under RTL locales), but absolutely filenames are always
LTR because they begin with a Latin character. It is therefore necessary
to add an explicit directional mark in front of them on Windows.
Toplevel windows use their parent's coordinate system as the reference
frame, not desktop's, so need to be adjusted accordingly if its
mirrored. Without these changes, default-positioned wxDialogs would end
to the right side of the parent window's right border (instead of being
slightly inside the window) and changing their size would move them as
well.
Having CRLF files in the repository with eol=crlf breaks just about
everything, e.g. any rebase/merge involving these files would fail.
Try to fix this by making sure the files use LF in the repository and CRLF is
only used in the working copy.
(analogous to commit c3e5751c36)
Using "r.x + r.width" didn't really make much sense, it just happened to be
close enough to the real value to not create any problems when using LTR
layout, but was wrong in RTL, resulting in visible vertical line being visible
in the notebook client area.
Fix this using the same GetThemeBackgroundExtent() for determining the bitmap
size as is used for drawing over it.
(cherry picked from commit 0487a3d3f1)
To correctly compute the brush origin offset for painting background of a
child in a window using RTL layout, we need to offset it by the child origin
i.e. its _right_ top corner in this case and not the left top corner as we did
before.
Conveniently, although not very explicitly, MapWindowPoints() already takes
care of this for us if we just pass it both the left and right points, but we
wrongly passed it only a single one, so it couldn't work its magic in this
case.
Change this to fix the drawing artefacts which appeared over wxNotebook
children with transparent background (e.g. wxStaticText) due to the use of
wrong origin before.
(cherry picked from commit 169fb2c7f5)
Under wxGTK the default button in wxMessageDialog with style wxOK was set to
"Cancel", whether the wxOK_DEFAULT style was specified or not.
Now it is set to "OK", as expected, and wxCANCEL_DEFAULT needs to be
explicitly specified to focus the "Cancel" one.
See https://github.com/wxWidgets/wxWidgets/pull/267
(cherry picked from commit a374801465)
When running under a RTL locale, checkboxes should not be mirrored, but
should keep the same appearence in both RTL and LTR layouts.
(cherry picked from commit 22f0801378)
Sometimes the file dialog changes the current directory even if it is
cancelled, so restore it in any case, not only after successful return.
See https://github.com/wxWidgets/wxWidgets/pull/263
(cherry picked from commit ceaa840d7b)
Not onlu has Scintilla no support for RTL languages, it is rendered into
a mirrored DC on Windows and so guaranteed unreadable and unsable. Fix
it by explicitly setting the window's layout direction to LTR.
(cherry picked from commit d8a90b4606)
There is nothing we can do about these (harmless) warnings, so just
disable them. Also make sure that the header is included via
wx/msw/wrapshl.h everywhere.
(backported from commit e37f1a84ce)
imagehlp.h from 8.1 SDK contains an extraneous "typedef" in an enum
declaration which results in several warnings when building, avoid them.
(cherry picked from commit fbe7fc85b2)
Compare min/max width with m_width, not m_height, in GTKUpdateDecorSize() for
the logic to work as expected.
See #17455.
(cherry picked from commit 0777bf6b92)
Some compilers, notably MSVC, don't support C99 and C89 doesn't allow this.
Fixes MSVS compilation after 02da4c8b1d.
(cherry picked from commit c7a3785a5c)
This should allow correct sizing of first TLW (when using SetClientSize())
with backends using client-side decorations such as Wayland.
(cherry picked from commit bc4df78421)
If setting sash position to a value that cannot be satisfied due to
minimum size constraints, wxSplitterWindow would continue endlessly
trying and failing to set it, causing constant CPU use on OS X. This was
because delayed sash setting was invoked from idle handler and if it
failed, the code would repeat the same action again and again.
Instead, perform this delayed setting from OnSize handler. If setting
sash position failed in the first place, it must have been due to too
small size of the window. Therefore it's pointless to try again until
the size changes.
(cherry picked from commit 513fca5d4c)
An old check - used for reasons that no longer apply - was preventing
correct rendering of wxToolBar background in wxMSW. Fix this by removing
the obsolete check.
See #9666 for the original reason for the check.
(cherry picked from commit 3a7951db2b)
Use the same GetParentForModalDialog() method as for the normal dialogs to
find the parent to use for this native dialog and ensure that it is shown
modally even if no parent is explicitly specified when constructing it.
See #17384.
(this is a backport of baff0c942b from master)