When wxTR_FULL_ROW_HIGHLIGHT is used, the item visually takes up the entire
breadth of the window so clicking both to the left or to the right of the item
should have the same effect as clicking on it.
So add a MSWIsOnItem() helper which tests for whether a point is above the
item correctly and use it in order to:
1. In multi selection mode, allow clicking anywhere to select the item(s)
when Ctrl or Shift is pressed (Closes#11598).
2. Generate activation event when clicking to the right of the item too
(Closes#11602).
3. Detect item bounds correctly in WM_LBUTTONUP handler (although it's
not really clear what does this code do and hence what problem does this
fix...).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63089 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Forgetting to pop custom event handlers pushed onto the window before it is
destroyed will result in a crash later on, so try to detect this immediately
with an assert.
We might want to forcefully pop them off too, this could result in memory
leaks but would be still better than crashing.
Closes#11533.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63065 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxConvAuto implicitly supposed that the chunk of data passed to it for
translation was big enough to allow it to at least detect the BOM from it.
However this isn't necessarily the case and never is with wxTextInputStream
which reads the bytes one by one.
Fix this by waiting until we have enough data to be able to detect the BOM.
This still doesn't fix the problem with streams without BOM and the
corresponding unit test still fails -- it will need to be fixed at the level
of wxTextInputStream itself later but handling correctly the cases when a BOM
is present is already better than before.
See #11570.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63064 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Although using wxLog during statics initialization is not recommended, it may
still happen, possibly indirectly so make it work correctly by using an
accessor function for the array of trace masks which ensures that this array
is always correctly initialized before being used.
Closes#11592.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63063 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This was always supposed to work but never did because of a typo in the "24
hour format without seconds" format specification. Fix this by removing the
extra "%S" from it and add a test for this case.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63061 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
If the string passed to this method contained only spaces (possibly 0 of them,
i.e. was empty) we would dereference the end string iterator. Fix this by
adding an explicit test for "p != pEnd".
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63060 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Replaced them with standard VariantInit() and VariantClear() functions
respectively. They appear to be just reimplementations of these.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63044 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
These are declared in oleutils.h, so that's where they should be. More
importantly, they are used by wxActiveXContainer and so are required
even if wxUSE_OLE_AUTOMATION is off.
Also added "wx" prefix to (Clear|Release)Variant, because they cannot be
static any longer.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63043 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This is more of a replacement than an update but apparently the old
translation had a lot of problems. The new translation is undoubtedly more
complete (1523 translated messages against 230 for the old one).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63041 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This replaces WX_DECLARE_AUTOOLE with easier-to-debug version. The
macro is still preserved for backward compatibility.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63038 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Also correct wxWinVersion_2003 definition, it should have the same value as
wxWinVersion_XP. And add wxWinVersion_XP_SP2 == wxWinVersion_2003_SP1.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63030 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775