Fix typo in a comment in wxSpinCtrlGenericBase::Create().

s/satisfy/specify/ to give some sense to this comment.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78020 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't end converting prematurely on encountering consecutive NULs.

Don't stop converting subsequent chunks just because the length of one of them
was 0: this can happen if the first character of a string is a NUL or if there
are two (or more) NULs in it later.

Simply remove the check for this and continue as usual even in this case.

Also add a unit test verifying that we do translate NULs in input into NULs in
output.

Closes #16620.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78021 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Disable surrogate-related unit test for MSW.

This test can't work when the in-memory representation is UTF-16, as we can't
convert surrogates to anything else in this case.

This fixes the unit tests broken since r76622, see #16298.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78022 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
update code to match 3.0 branch after r78023

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78024 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't calculate refresh optimizations if we're not going to use them


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78025 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Only link webview library with libwebkitgtk in wxGTK, not the core one.

Add EXTRALIBS_WEBVIEW similar to the existing EXTRALIBS_MEDIA and such and set
it in configure instead of adding libwebkitgtk and dependent libraries
directly to GUI_TK_LIBRARY.

This ensure that the core library doesn't have any dependencies on
libwebkitgtk which it doesn't need.

Closes #16624.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78026 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Accept only real idle events in wxPropertyGrid::OnIdle()

Fake idle events generated e.g. by calling wxYield from within the event handler should be skipped to avoid problems.

See #16617

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78028 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Prevent renaming already renamed wxPG property waiting for deferred deletion.

Name of the property to be deleted with delay is changed to the some meaningless name in order to avoid conflict with other active properties.
It is enough to do this only once.

See #16617

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78029 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix deleting editor controls associated with wxPG properties from within event handler.

Editor controls (and their event handlers) deleted from within wxPG event handler shouldn't by deleted in global idle event handler but only in local wxPG event handler because global idle events can be generated also by calling e.g. wxYield when wxPG is not in the real idle state.

Closes #16617

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78030 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix deleting pending editor controls if wxPG is destructed from within its own event handler.

If wxPG dtor is invoked from within event handler then deleting its pending editor controls should be delegated to the global idle event handler.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78031 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add drawing cursor images for wxCursorProperty under wxGTK.

Closes #16637

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78032 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
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