Fix incorrect code sorting pages by their widths in wxRibbon.

The "sneaky obj array trickery" wasn't very sneaky but was just plain wrong
and misused object array of pages in a way that was invalid and didn't crash
just because of sheer luck.

Rewrite this code to use a temporary wxVector of pages that can be sorted
independently of the main m_pages array. This is 100% safe and also more
clear.

Closes #14625.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72516 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add wxStyledTextCtrl::SelectNone() to the template header file too.

This method was only added to the generated include/wx/stc/stc.h but not to
src/stc/stc.h.in from which it is created in r72490, do update the latter file
too now.

See #12960.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72517 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add wxStyledTextCtrl::AnnotationClearLine().

Simply set NULL annotation text for the given line.

Closes #12960.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72518 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
backport wxspinctrl::get/setbase form gtk ->gtk1

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72519 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Quote wxExecute() arguments in wxDebugReportUpload when using curl.

Quote the argument to curl as it might contain spaces.

Closes #14677.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72520 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Better documentation for wxRect::Set{Left,Top}().

These functions also change the rectangle right/bottom position, unlike
Set{Right,Bottom}() that change its width/height respectively. This is not
very logical but impossible to change for compatibility reasons, so at least
document it clearly.

Closes #14678.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72521 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
No real changes, just remove an unnecessary variable assignment.

Initialize m_gtk_model with its correct value immediately, without setting it
to NULL first.

Closes #14673.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72522 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Make it possible to TAB-navigate among wxStaticBox children.

As wxStaticBox can now contain child windows, derive it from
wxNavigationEnabled<> to allow TAB-navigating among them. Without this, it was
impossible to switch focus from keyboard to any of the controls inside
wxStaticBox.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72523 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Document ShowWithoutActivating

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72524 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix alpha handling in Scintilla when not using wxGraphicsContext.

When using raw bitmap data access classes such as wxAlphaPixelData we must
destroy them to ensure that the changes done via them are committed to the
bitmap before drawing the bitmap.

Just add an extra block (the diff should be viewed ignoring white space to see
the only significant change) to ensure that wxAlphaPixelData is destroyed
before DrawBitmap() is called.

Closes #14680.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72525 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add wxRibbonButtonBar::GetItem(), GetItemById() and GetItemId().

Allow accessing the ribbon bar buttons either by index or ID.

See #14630.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72526 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add wxRibbonButtonBar::GetActiveItem() and GetHoveredItem().

Add accessors for the button being currently clicked or hovered over.

See #14630.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72527 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add wxRibbonButtonBarEvent::GetButton().

Allow to retrieve the button associated with the given button bar event.

See #14630.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72528 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix and enhance support for client data in wxRibbonButtonBar.

Add the possibility to retrieve the client data associated with a button and
not only set it (which wasn't very useful on its own).

Also allow having both typed (owned) and untyped (not owned) client data, as
in the other wxWidgets controls.

To avoid confusion between two different kinds of data, remove "client_data"
argument from the functions adding buttons and provide separate methods with
distinct names for setting and getting client data.

Closes #14630.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72529 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add public (but not documented) wxCheckBox::MSWMakeOwnerDrawn().

It can be useful to explicitly make a check box owner drawn, so make the
private MakeOwnerDrawn() public and add "MSW" prefix to it to allow doing this
from the user code.

Closes #14679.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72530 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Rethrow abi::__forced_unwind in wxThread code under Unix.

We must always rethrow the special abi::__forced_unwind exception when
handling exception in threads under Linux as the NPTL simply terminates the
process at first opportunity if this exception is not rethrown.

See http://udrepper.livejournal.com/21541.html for more details.

Closes #14626.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72531 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix wrong configure test for abi::__forced_unwind in previous commit.

The previous commit was accidental and contained an initial version of the
patch which didn't test for NPTL abi::__forced_unwind correctly and just
tested whether cxxabi.h header was available.

Tighten the check to work on the other systems and check for __forced_unwind
existence itself.

Also check for cxxabi.h before testing for __cxa_demangle as there is no need
to try to compile another test program if we already know that this entire
header is unavailable anyhow.

See #14626.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix wxPluginLibrary wxClassInfo pointers initialization.

The values of m_ourFirst and m_ourLast were inversed in wxPluginLibrary ctor.
Fix this and explain in a comment that "first" and "last" here refer to the
order in the linked list and not the chronological order.

Closes #14483.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72533 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix crash on wxMediaCtrl creation in wxMSW.

A valid RECT pointer must be passed to DoVerb(OLEIVERB_INPLACEACTIVATE) but
r72027 (see #14209) broke this and passed it NULL resulting in an instant
crash.

Revert this part of the change and do pass out window client area.

Closes #14682.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72534 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Credit "sodev" with correct full name.

Amend the change log entry of r71701.

See #14380.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72535 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775