Fix ClientToScreen()/ScreenToClient() when used immediately after window creation.
And whenever window does not have an up-to-date GTK size allocation.
Closes #16061


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78033 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use TLW parent for wxMessageDialog in all ports.

This avoids problems with deleting child windows which are parents of
wxMessageDialog before the dialog itself is destroyed and was already done in
wxGTK, but not in wxMSW nor wxOSX. Do it in all ports now by calling
GetParentForModalDialog() from wxMessageDialogBase ctor itself instead of
depending on the port-specific wxMessageDialog to do it.

Closes #16631.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78034 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Work around unavailability of std::exception_ptr with some g++ versions.

g++ headers only provide std::exception_ptr when __GCC_ATOMIC_INT_LOCK_FREE is
2, indicating that atomic operations on int are available, so check for this
before setting HAS_EXCEPTION_PTR as in some MinGW builds (TDM gcc 4.7) this
symbol is not defined as 2.

Closes #16634.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78035 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Handle taskbar button recreation better in wxMSW.

Store the various parameters in wxTaskBarButton itself and reapply them when
the button is (re)created. This fixes problems with getting the "taskbar
button created" message twice, e.g. because Explorer was restarted, or getting
it too late, as now wxTaskBarButton can be configured both before and after
receiving this message.

Closes #16566.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78036 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix memory leak in richtext sample.

Destroy the children of wxRichTextFieldTypeCompositeTest when updating it
instead of just clearing the list and leaking the objects in it.

Closes #14324.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78037 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix creating wxBitmap from monochrome icon or cursor in wxMSW.

Handle the "AND" and "XOR" masks inside monochrome icons/cursors correctly
instead of simply copying the monochrome data which didn't work at all.

See #16512.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78038 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't replace bitmap transparency with black when converting to icon in wxMSW.

This was a wrong workaround for incorrect drawing of the icons elsewhere and
isn't needed if the destination is first AND-ed with the mask, as it should be.

See #16512.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78039 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use MaskBlt() with the correct ROP when drawing bitmaps with mask.

We need to AND the destination with the mask first and then XOR it with the
bitmap data to achieve the correct results.

Closes #16512.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78040 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Make main thread wake up code more efficient and less error-prone in wxMSW.

Use a kernel event object to signal the thread wake up instead of sending
WM_NULL to one of its windows. This is simpler as we don't need to look for
any windows and doesn't suffer from the problem of overflowing the Windows
message queue if we do it too many times as signalling an already signalled
event simply doesn't do anything.

Closes #9053.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78041 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Update the bundled Scintilla version to 3.4.1.

There are relatively few changes, see Scintilla changelog at
http://www.scintilla.org/ScintillaHistory.html

Closes #16182.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78042 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Only select the first radio button if there is one in wxMSW wxRadioBox.

Don't call SetSelection(0) if the radio box is empty.

See #16630.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78043 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't leave wxSubwindows::m_ids uninitialized.

Normally it's initialized by calling Create(), but don't crash deleting an
invalid pointer in the dtor if Create() hadn't been called.

See #16630.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78044 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix handling of spurious wake ups in GetNextMessageTimeout() in wxMSW.

It didn't take long to realize that changes of r78041 did break something
(see #9053), as MsgWaitForMultipleObjects() can return indicating the message
availability even if no message is actually available in the queue. This
notably happens when the application is activated.

Fix this by calling MsgWaitForMultipleObjects() in a loop until we do get a
message. Notice that this only works correctly with the infinite timeout as we
don't update the remaining time to wait after a spurious wake-up, but this
shouldn't be a problem in practice as no such wake-ups should happen anyhow
during a small timeout duration -- and nobody typically uses long ones.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78047 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Avoid spurious errors from wxFileType::GetCommand() under Windows XP too.

This problem was already fixed in r77649 for Windows 7 (and hopefully all the
other supported Windows versions), but it turns out that XP returns a
different error when the association is not found in the registry, so the
debug error message was still given under it.

Fix this by checking for both ERROR_NO_ASSOCIATION and ERROR_FILE_NOT_FOUND.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78048 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix for PCH-less build after wake up changes.

Include wx/msw/private.h when not using PCH to get wxZeroMemory() (this makes
it unnecessary to include wx/msw/wrapwin.h as it's already included by the
other header).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78049 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Merge branch 'master' of https://github.com/wxWidgets/wxWidgets