Document that wxDCClipper currently resets clipping region.

Unlike other similar classes, this one doesn't restore the previous clipping
region but just resets it because there is no way to get the current clipping
region from wxDC now. At least document this limitation until it can be fixed.

See #13834.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71296 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Document the change in wxEVT_SIZE generation for wxDialogs in wxMSW.

These events are now generated earlier and can result in crashes if the
controls they use are not initialized yet.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71297 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix wxBitmapButton best size calculation in wxOSX/Carbon.

wxAnyButton refactoring broke the best size computation for Carbon, fix it to
work as it did before.

Closes #13830.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71298 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Handle kCGImageAlphaNoneSkipFirst correctly in wxOSX wxBitmap code.

The code tested twice for kCGImageAlphaNoneSkipLast which was clearly wrong.
The original intention was probably to check for both it and
kCGImageAlphaNoneSkipFirst, so fix it to this now.

Closes #14019.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71299 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix erasing wxHtmlWindow background in wxUniv.

Prevent the default wxWindow-level wxEVT_ERASE_BACKGROUND handler from being
used in wxUniv for wxHtmlWindow. This is unnecessary as it has its own handler
anyhow and also doesn't work for some reason as erasing wxMemoryDC by drawing
a solid rectangle over it seems to be broken in at least wxX11.

Work around this problem by erasing the background in wxHtmlWindow itself if
no user-defined (as opposed to any, including one defined in wxWindow itself)
handler for this event exists.

Closes #13880.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71300 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't use too big width for wxHtmlHelpWindow navigation panel.

The width of the navigation panel in wxHtmlHelpWindow could become arbitrarily
high if long items used. Avoid this by using a reasonably large but not too
big minimal width instead of determining it automatically from the items width.

Closes #13754.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71301 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix harmless warnings about hiding base class virtual in dialogs sample.

GetTitle() added in r71213 resulted in virtual function warnings from g++, fix
them by renaming it to GetBoxTitle().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71302 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add a gdb pretty-printer for wxFileName objects.

This pretty-printer works by calling the C++ wxFileName::GetFullPath()
directly instead of interpreting the object data from gdb because this is much
simpler to do, so it can only be used when debugging live programs. If this is
a serious restriction, it would need to be changed to use gdb data access only
later.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71303 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't block in wxEventLoopManual::Dispatch() if loop was exited.

If Exit() was called from a handler for one of the pending events we could
reenter Dispatch() and block there indefinitely if no other events were coming
and this was exactly what happened in wxFileSystemWatcher unit test,
preventing it from ever running to completion under Unix.

Fix this by checking m_shouldExit after executing the pending handlers and
before calling Dispatch().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71304 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Recognize wxDefaultDateTime in gdb wxDateTime pretty-printer.

Trying to print an uninitialized/invalid wxDateTime in gdb resulted in an
error (Python exception from datetime module), recognize it specially now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71305 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
No changes, just refactor wxTextCtrl unit test case.

Allow running the same tests for both single and multi-line controls easily.
No real changes yet though, the tests are still ran for the controls with the
same styles as before for now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71306 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Run some wxTextCtrl unit test cases for single and multi-line controls.

Some of the tests that were previously ran for single or multi-line controls
only actually apply to both of them, so run them for both kinds of control to
test that both of them work correctly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71307 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't change wxTextEntry value if it didn't really change.

This is not only unnecessary but also can result in a kind of infinite loop
when wxTextEntry::SetValue() is called from wxEVT_IDLE handler as really
modifying the text results in another wxEVT_IDLE being generated and another
call to SetValue() and so on while not doing it in the first place completely
works around the problem and is also more efficient.

Closes #13936.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71308 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use generic wxAboutBox() in wxUniv/GTK.

The native GTK implementation is not used in wxUniv/GTK, so don't exclude the
generic one as well.

Notice that the same should be done for wxMSW and wxOSX too but we currently
seem to use the native version even in wxUniv there. It would be better to
consistently use the generic version in all wxUniv ports.

Closes #14236.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71309 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Make it possible to forward declare wx{Choice,Tool,Tree}bookEvent again.

Don't use typedef for these classes as it makes it impossible to
forward-declare them, just use #define instead as we already do for
wxListbookEvent and wxNotebookEvent. This allows forward declaration and is
also more consistent.

Closes #12242.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71310 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix crash in wxFileConfig when deleting last entry of the root group.

This resulted in keeping a dangling pointer to the group line in
wxFileConfigGroup and any attempt to use it after this resulted in a crash.
Fix this by explicitly resetting the last line in this case.

Also add a unit test for this scenario.

Closes #14243.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71311 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add missing "flags" argument to wxNotificationMessage ctor in wxMSW.

It was impossible to specify the flags when creating wxNotificationMessage in
wxMSW, cotrary to the other ports and the documentation.

Fix this by adding the missing argument to the ctor and simply passing it to
the base class one, we don't have to do anything else as the existing code
already calls GetFlags() later so it should respect these flags without any
more changes.

Closes #14245.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71312 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Make wxGTK code returning correct focus in popup menu presence more robust.

Replace the changes of r69938 with an alternative and simpler solution:
instead of playing games with gs_pendingFocus, which could break down if its
old value became invalid while the menu was shown as happened if one of the
menu commands resulted in this window being destroyed, just take the currently
shown popup menu into account in DoFindFocus() itself.

This should be safer as there is no danger of any dangling pointers here and
is also simpler and more obviously correct.

Closes #14103.

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