For some applications turning off double buffering for individual windows may be infeasible, so allow doing it globally using this system option. Note that wxAutoBufferedPaintDC still does no buffering in wxMSW now, even when this option is set, so setting it will result in flickering in any code using it. The solution is to use wxBufferedPaintDC directly in the programs that use this option. Closes #22953.
90 lines
3.8 KiB
Text
90 lines
3.8 KiB
Text
-------------------------------------------------------------------------------
|
|
wxWidgets Change Log
|
|
-------------------------------------------------------------------------------
|
|
|
|
Note: This file contains the list of changes since wxWidgets 3.2, please see
|
|
docs/changes_32.txt for the earlier changes.
|
|
|
|
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.
|
|
|
|
You may also choose to globally set the new msw.window.no-composited system
|
|
option to disable the use of double buffering, but please consider doing it
|
|
only as a last resort and/or temporary solution, as this _will_ result in
|
|
flicker and won't be supported at all in the future wxWidgets versions.
|
|
|
|
- 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.
|
|
|
|
- wxDocument::OnCloseDocument() was called twice in previous versions when
|
|
closing the document from the menu. Now it is only called once and after
|
|
destroying all the existing document views. If you overrode this function,
|
|
please check that you don't rely on any views existing when it's called.
|
|
|
|
- wxGrid::FreezeTo() now asserts when passed invalid (out of range) number of
|
|
rows or columns to freeze. But it also does freeze the requested rows/columns
|
|
even if the grid is currently too small to show all of them or if there are
|
|
no unfrozen rows/columns remaining.
|
|
|
|
|
|
Changes in behaviour which may result in build errors
|
|
-----------------------------------------------------
|
|
|
|
- Symbols deprecated in 3.0 are still available in this version but disabled by
|
|
default, you need to set WXWIN_COMPATIBILITY_3_0 to 1 to enable them. Symbols
|
|
deprecated in 2.8 are not available any longer.
|
|
|
|
- Building with wxUSE_UNICODE=0 is not supported any longer.
|
|
|
|
- wxMotif and wxGTK1 ports have been removed, please use wxWidgets 3.2 if you
|
|
still need them.
|
|
|
|
- wxOnAssert() overload taking wide character file name was removed. If you
|
|
call it for any reason, please use one of the other overloads instead.
|
|
|
|
|
|
3.3.0: (released 2022-??-??)
|
|
----------------------------
|
|
|
|
NOTE: In addition to the note below, also incorporate (either by
|
|
copy or by reference) all the changes in the 3.2 branch (i.e.
|
|
everything in this file after 3.2.0 in that branch).
|
|
|
|
NOTE: This file is updated only before the release, please use
|
|
|
|
$ git log --notes=changelog --format='%N' v3.2.0..|grep .
|
|
|
|
to see all the change log entries since the last release.
|
|
|
|
To update the notes, fetch them first:
|
|
|
|
$ git fetch origin refs/notes/changelog:refs/notes/changelog
|
|
|
|
then use the following command to update them locally
|
|
|
|
$ git notes --ref=changelog add -m 'wxPort: description.'
|
|
|
|
and finally push it to the server.
|
|
|
|
$ git push origin refs/notes/changelog:refs/notes/changelog
|
|
|
|
If this fails due to a conflict because you had forgotten to
|
|
run git-fetch first, you can always reset your local notes
|
|
(LOSING YOUR CHANGES TO THEM, so make sure to make a copy)
|
|
|
|
$ git fetch origin refs/notes/changelog
|
|
$ git update-ref refs/notes/changelog FETCH_HEAD
|
|
|
|
and then redo "git-notes add" and git-push.
|