Document WS_EX_COMPOSITED impact on wxClientDC

This is a big and incompatible change but, arguably, is still worth
making because it makes wxMSW behaviour similar to that of wxOSX and
wxGTK when using Wayland.

Do document it prominently and also document MSWDisableComposited() as
it will probably end up being used in quite a lot of existing code.
This commit is contained in:
Vadim Zeitlin 2022-10-17 17:22:43 +01:00
parent 3a7394fe08
commit b0ed71658d
3 changed files with 49 additions and 6 deletions

View file

@ -11,6 +11,14 @@ INCOMPATIBLE CHANGES SINCE 3.2.x:
Changes in behaviour not resulting in compilation errors
--------------------------------------------------------
- wxMSW now uses double buffering by default, meaning that updating the
windows using wxClientDC doesn't work any longer, which is consistent with
the behaviour of wxGTK with Wayland backend and of wxOSX, but not with the
traditional historic behaviour of wxMSW (or wxGTK/X11). You may call
MSWDisableComposited() to restore the previous behaviour, however it is
strongly recommended to change your redrawing logic to avoid using wxClientDC
instead, as the code using it still won't work with wxGTK/wxOSX.
- As first mentioned in 3.0 release notes, the value of wxTHREAD_WAIT_DEFAULT,
used by wxThread::Delete() and Wait() by default, has changed from
wxTHREAD_WAIT_YIELD to wxTHREAD_WAIT_BLOCK for safety and consistency.