Add support for wxNO_IMPLICIT_WXSTRING_CONV_TO_PTR to wxString This symbol is similar to the existing wxNO_IMPLICIT_WXSTRING_ENCODING and can be defined when building the application (as opposed to when building the library) to disable implicit wxString conversions to pointer types, i.e. char*, wchat_t* and void*. (partially cherry-picked from 889845fbc4a89e2fba62c96e04d26b0cf5639cd1) See #26307.
Cache the Go installer in AppVeyor CI No need to download it every time. See #26132. (cherry picked from commit 7ba5acc72c22d5cf36f33ac927b4b11f0ffa477e)
Decrease clone depth for AppVeyor There doesn't seem to be any need to get anything but the latest commit. (cherry picked from commit ab689f0ade05f268c781dc423b43b9365e544c31)
Use go-httpbin v2.20.0 in AppVeyor CI The next 2.21 version requires Go version newer than the one available there and installing it takes extra time and fails completely when using (too old?) Visual Studio 2015 image. (cherry picked from commit 3e3ccab35c6cf37b989c1f1e3340a3eb731317e8)
| ... | ... | @@ -64,7 +64,10 @@ environment: |
| 64 | 64 | SHARED: ON
|
| 65 | 65 | CONFIGURATION: Release
|
| 66 | 66 | |
| 67 | -clone_depth: 50
|
|
| 67 | +cache:
|
|
| 68 | + - '%USERPROFILE%\go%GOVERSION%.windows-amd64.msi'
|
|
| 69 | + |
|
| 70 | +clone_depth: 1
|
|
| 68 | 71 | |
| 69 | 72 | install: git submodule update --init
|
| 70 | 73 | |
| ... | ... | @@ -95,10 +98,12 @@ before_test: |
| 95 | 98 | echo Getting and launching httpbin.
|
| 96 | 99 | rmdir %GOROOT% /s /q
|
| 97 | 100 | mkdir %GOROOT%
|
| 98 | - appveyor DownloadFile https://go.dev/dl/go%GOVERSION%.windows-amd64.msi
|
|
| 99 | - msiexec /i go%GOVERSION%.windows-amd64.msi INSTALLDIR="%GOROOT%" /q
|
|
| 101 | + cd %USERPROFILE%
|
|
| 102 | + set go_exe=go%GOVERSION%.windows-amd64.msi
|
|
| 103 | + if not exist "%go_exe%" appveyor DownloadFile https://go.dev/dl/%go_exe%
|
|
| 104 | + msiexec /i %go_exe% INSTALLDIR="%GOROOT%" /q
|
|
| 100 | 105 | go version
|
| 101 | - go install github.com/mccutchen/go-httpbin/v2/cmd/go-httpbin@v2
|
|
| 106 | + go install github.com/mccutchen/go-httpbin/v2/cmd/go-httpbin@v2.20.0
|
|
| 102 | 107 | set PATH=%PATH%;%GOPATH%\bin
|
| 103 | 108 | - ps: |
|
| 104 | 109 | Start-Job -Name wx_httpbin { go-httpbin -host 127.0.0.1 -port 8081 2>&1 > c:\projects\wxwidgets\httpbin.log }
|
| ... | ... | @@ -252,6 +252,13 @@ Changes in behaviour which may result in build errors |
| 252 | 252 | minimum required version is now 2005.
|
| 253 | 253 | |
| 254 | 254 | |
| 255 | +3.2.11: (released 2026-??-??)
|
|
| 256 | + |
|
| 257 | +All:
|
|
| 258 | + |
|
| 259 | +- Support defining wxNO_IMPLICIT_WXSTRING_CONV_TO_PTR in wxString (#26307).
|
|
| 260 | + |
|
| 261 | + |
|
| 255 | 262 | 3.2.10: (released 2026-03-03)
|
| 256 | 263 | -----------------------------
|
| 257 | 264 |
| ... | ... | @@ -248,7 +248,7 @@ is not appropriate for the current software and platform. The macro @c |
| 248 | 248 | wxNO_IMPLICIT_WXSTRING_ENCODING disables all implicit conversions, and
|
| 249 | 249 | forces the code to explicitly indicate the encoding of all C strings.
|
| 250 | 250 | |
| 251 | -Finally note that encodings, either implicitly or explicitly selected,
|
|
| 251 | +Note that encodings, either implicitly or explicitly selected,
|
|
| 252 | 252 | may not be able to represent all the string's characters. The result
|
| 253 | 253 | in this case is undefined: the string may be empty, or the
|
| 254 | 254 | unrepresentable characters may be missing or wrong.
|
| ... | ... | @@ -271,6 +271,12 @@ c = s.utf8_str(); // Alias for the above |
| 271 | 271 | c = s.mb_str(wxConvLibc); // Always compiles, explicit encoding
|
| 272 | 272 | @endcode
|
| 273 | 273 | |
| 274 | +Finally, please note that implicit conversion to both `const char*` (which
|
|
| 275 | +is unsafe for the reasons explained above) and to `const wchar_t*` (which
|
|
| 276 | +is safe from this point of view, but may still be considered dangerous, as
|
|
| 277 | +any implicit conversion) may be entirely disabled by defining
|
|
| 278 | +`wxNO_IMPLICIT_WXSTRING_CONV_TO_PTR` when building the application.
|
|
| 279 | + |
|
| 274 | 280 | @subsection overview_string_iterating Iterating wxString Characters
|
| 275 | 281 | |
| 276 | 282 | As previously described, when <tt>wxUSE_UNICODE_UTF8==1</tt>, wxString internally
|
| ... | ... | @@ -1631,7 +1631,7 @@ public: |
| 1631 | 1631 | // and not defining it in STL build also helps us to get more clear error
|
| 1632 | 1632 | // messages for the code which relies on implicit conversion to char* in
|
| 1633 | 1633 | // STL build
|
| 1634 | -#if !wxUSE_STD_STRING_CONV_IN_WXSTRING
|
|
| 1634 | +#if !wxUSE_STD_STRING_CONV_IN_WXSTRING && !defined(wxNO_IMPLICIT_WXSTRING_CONV_TO_PTR)
|
|
| 1635 | 1635 | operator const wchar_t*() const { return c_str(); }
|
| 1636 | 1636 | |
| 1637 | 1637 | #if wxUSE_UNSAFE_WXSTRING_CONV && !defined(wxNO_UNSAFE_WXSTRING_CONV)
|
| ... | ... | @@ -1642,7 +1642,7 @@ public: |
| 1642 | 1642 | operator const void*() const { return c_str(); }
|
| 1643 | 1643 | #endif // wxUSE_UNSAFE_WXSTRING_CONV && !defined(wxNO_UNSAFE_WXSTRING_CONV)
|
| 1644 | 1644 | |
| 1645 | -#endif // !wxUSE_STD_STRING_CONV_IN_WXSTRING
|
|
| 1645 | +#endif // !wxUSE_STD_STRING_CONV_IN_WXSTRING && !defined(wxNO_IMPLICIT_WXSTRING_CONV_TO_PTR)
|
|
| 1646 | 1646 | |
| 1647 | 1647 | // identical to c_str(), for MFC compatibility
|
| 1648 | 1648 | const wxCStrData GetData() const { return c_str(); }
|
—
View it on GitLab.
You're receiving this email because of your account on gitlab.com. Manage all notifications · Help