Return the caption from wxMessageDialog::GetTitle().

It was unexpected that wxMessageDialog::GetTitle() returned empty string even
when non-empty caption, which is just another word for title, was specified.

Implement GetTitle() as synonym for GetCaption() and also provide SetTitle()
for consistency.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77741 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Mention the title of the unexpected dialog in wxTestingModalHook.

It's not very helpful to just say that an unexpected dialog was shown, using
its title provides at least some hint as to what dialog it was.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77742 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Allow customizing unexpected dialogs description in wxTestingModalHook.

Extract creation of the message describing an unexpected dialog in a separate
virtual method in order to allow customizing it, notably in order to add more
useful description of custom application dialogs.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77743 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Show the message of unexpected message boxes in wxTestingModalHook.

This is more informative than showing just the title and we can do it for the
message boxes and it's worth handling them specially just because they are so
common.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77744 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't use wxMSW wxAppProgressIndicator if wxUSE_TASKBARBUTTON==0.

This class requires wxTaskBarButton to be really implemented, so there is no
need to even define the MSW-specific version of it if wxUSE_TASKBARBUTTON is 0
anyhow.

This fixes a compilation problem with wxUSE_TASKBARBUTTON==0 but, more
importantly, just makes more sense.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77745 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix harmless g++ warning about "using NULL in arithmetic".

::SetThreadExecutionState() returns a DWORD, which is not a pointer, so
compare its return value with 0, not NULL.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77746 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Make wxTextCtrlOleCallback destructor virtual to avoid g++ warnings.

This class doesn't really need a virtual dtor as it's never used
polymorphically, but add it to avoid g++ warnings about it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77747 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use wxMulDivInt32() instead of multiplying and dividing ints with doubles.

This is mostly done to avoid warnings about converting the result of
multiplying and dividing an int by doubles back to int, but is also more
correct as wxMulDivInt32() rounds the result correctly instead of truncating
the fractional part, and is also a tiny bit more efficient under MSW where the
native ::MulDiv() is available.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77748 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Avoid integer overflow/wraparound in wxString::Mid().

Don't compare nLength with "nFirst + nCount" as this could wrap around.

Compare nCount with maximal allowed count, after ensuring that nFirst itself
is valid first, instead.

Closes #16572.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77749 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix double release in wxGLCanvas code.

The change in r77701 was partially wrong, we shouldn't release Objective-C
object if initializing it failed.

See #16555.

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