Fix bug with non-NUL-terminaed inputs in wxMBConvUTF8.

We read beyond the provided maximal length as we didn't update the remaining
length while parsing the remaining bytes of an UTF-8-encoded code point.

Fix this and add a test for it.

Closes #15901.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75733 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Virtualize wxXmlNode methods used by wxAuiToolBarXmlHandler.

This fixes the DLL build of aui library as it can now be linked without
leaving any unresolved dependencies to the code in xml library (where
wxXmlNode is implemented).

Closes #15686.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75734 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix display of bitmaps with alpha in wxStaticBitmap under MSW.

Avoid double alpha pre-multiplication by converting the bitmap into a non
pre-multiplied format before passing it to STM_SETIMAGE.

Closes #2395.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75735 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix wxPrinterDC::DrawIcon() in wxMSW.

Make DrawIcon() work when printing: it previously didn't, as we used
::DrawIconEx() Windows function which wasn't supported when printing.
Work around this by using DrawBitmap() if necessary.

Closes #379.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75736 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix wxClientDC::Clear() for scrolled windows in wxMSW.

Take the DC origin into account when clearing a window DC and not only a
memory one.

Closes #2048.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75737 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix handling of wxSET, wxCLEAR and wxINVERT ROPs in wxMSW.

Avoid passing source HDC to MaskBlt() for these ROPs which only use the
destination HDC as they produce garbage instead of just ignoring the source in
if it's non-NULL.

Closes #2047.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75738 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix a bug which could result in two default buttons in wxMSW dialogs.

Exchange the order of setting/resetting the new/old button as the default one
when focus is lost/gained to avoid the possibility of having two simultaneously
default buttons at once.

Closes #9528.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75739 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't mark wxMSW applications as being DPI aware.

Because they are not, fully. While our standard controls do appear correctly
in any DPI, anything using bitmaps/icons (e.g. toolbars, AUI title bars, ...)
isn't usable at all without scaling at high DPI, so it's better to avoid
pretending that we're DPI aware at all rather than doing it without being it
for 100%.

This reverts the changes of r63990.

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