deps: update to wxwidgets 3.3.3
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled

This commit is contained in:
Crementif
2026-07-11 02:06:12 +02:00
parent 2b9938d48a
commit 145ad1e9d5
7 changed files with 34 additions and 123 deletions

View File

@@ -1,40 +0,0 @@
diff --git a/src/msw/listctrl.cpp b/src/msw/listctrl.cpp
index 5e1cd98a8b..169ab7847d 100644
--- a/src/msw/listctrl.cpp
+++ b/src/msw/listctrl.cpp
@@ -1385,20 +1385,29 @@ bool wxListCtrl::GetSubItemRect(long item, long subItem, wxRect& rect, int code)
wxCopyRECTToRect(rectWin, rect);
- // We can't use wxGetListCtrlSubItemRect() for the 0th subitem as 0 means
- // the entire row for this function, so we need to calculate it ourselves.
- if ( subItem == 0 && code == wxLIST_RECT_BOUNDS )
+ // We can't trust the native LVM_GETSUBITEMRECT for LVIR_BOUNDS because:
+ // - subitem 0 returns the entire row bounds, not just column 0
+ // - when column 0 is narrower than the icon, the native control clamps
+ // all subitems' left edge to at least the icon width, misaligning them
+ //
+ // So for all subitems we calculate x and width from GetColumnWidth() in
+ // visual (column order) order, which always reflects the real column sizes.
+ if ( subItem != wxLIST_GETSUBITEMRECT_WHOLEITEM && code == wxLIST_RECT_BOUNDS )
{
- // Because the columns can be reordered, we need to sum the widths of
- // all preceding columns to get the correct x position.
+ // Start from the row's left edge (which accounts for scrolling).
+ RECT rowRect;
+ wxGetListCtrlItemRect(GetHwnd(), item, LVIR_BOUNDS, rowRect);
+ int x = rowRect.left;
+
for ( auto col : GetColumnsOrder() )
{
if ( col == subItem )
break;
- rect.x += GetColumnWidth(col);
+ x += GetColumnWidth(col);
}
+ rect.x = x;
rect.width = GetColumnWidth(subItem);
}

View File

@@ -1,10 +1,8 @@
diff --git a/build/cmake/init.cmake b/build/cmake/init.cmake
index 4ed7b264ef..195d776aeb 100644
index f044d22d4d..a78b9aa1e9 100644
--- a/build/cmake/init.cmake
+++ b/build/cmake/init.cmake
@@ -201,11 +201,11 @@ endif()
wx_get_install_dir(include)
if(WIN32_MSVC_NAMING)
@@ -203,7 +203,7 @@
if(wxBUILD_SHARED)
- set(lib_suffix "_dll")
+ # set(lib_suffix "_dll")
@@ -15,31 +13,3 @@ index 4ed7b264ef..195d776aeb 100644
- set(wxPLATFORM_LIB_DIR "${wxCOMPILER_PREFIX}${wxARCH_SUFFIX}${lib_suffix}")
+ # set(wxPLATFORM_LIB_DIR "${wxCOMPILER_PREFIX}${wxARCH_SUFFIX}${lib_suffix}")
set(wxINSTALL_INCLUDE_DIR "${include_dir}")
else()
wx_get_flavour(lib_flavour "-")
diff --git a/build/cmake/install.cmake b/build/cmake/install.cmake
index cbbefdebe9..8f2759d5ad 100644
--- a/build/cmake/install.cmake
+++ b/build/cmake/install.cmake
@@ -66,7 +66,7 @@ else()
wx_get_install_platform_dir(runtime)
install(DIRECTORY DESTINATION "${runtime_dir}")
install(CODE "execute_process( \
- COMMAND ${CMAKE_COMMAND} -E create_symlink \
+ COMMAND ${CMAKE_COMMAND} -E copy \
\"${CMAKE_INSTALL_PREFIX}/${library_dir}/wx/config/${wxBUILD_FILE_ID}\" \
\"\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${runtime_dir}/wx-config\" \
)"
diff --git a/build/cmake/utils/CMakeLists.txt b/build/cmake/utils/CMakeLists.txt
index 608351ac42..d8110f9148 100644
--- a/build/cmake/utils/CMakeLists.txt
+++ b/build/cmake/utils/CMakeLists.txt
@@ -40,7 +40,7 @@ if(wxUSE_XRC)
# Don't use wx_install() here to preserve escaping.
install(CODE "execute_process( \
- COMMAND ${CMAKE_COMMAND} -E create_symlink \
+ COMMAND ${CMAKE_COMMAND} -E copy \
\"${CMAKE_INSTALL_PREFIX}/${runtime_dir}/${wxrc_output_name}${EXE_SUFFIX}\" \
\"\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${runtime_dir}/wxrc${EXE_SUFFIX}\" \
)"

View File

@@ -1,12 +1,13 @@
diff --git a/build/cmake/wxWidgetsConfig.cmake.in b/build/cmake/wxWidgetsConfig.cmake.in
index 2f3a735d92..c134900764 100644
index b251109..60cf762 100644
--- a/build/cmake/wxWidgetsConfig.cmake.in
+++ b/build/cmake/wxWidgetsConfig.cmake.in
@@ -155,6 +155,7 @@ foreach(libname @wxLIB_TARGETS@)
endforeach()
@@ -1,5 +1,8 @@
@PACKAGE_INIT@
include(CMakeFindDependencyMacro)
+include(CMakeFindDependencyMacro)
+find_dependency(NanoSVG CONFIG)
if(TARGET wx::wxnet AND @wxUSE_WEBREQUEST_CURL@)
# make sure CURL targets are available:
+
cmake_policy(PUSH)
# Set policies to prevent warnings
if(POLICY CMP0057)

View File

@@ -2,7 +2,7 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO wxWidgets/wxWidgets
REF "v${VERSION}"
SHA512 c47460c8bc150445e7774a287a79bd70b6d96b91ea46b51f238a317f068e466d570c5a94e2204d112e42da781a5cef98236718efff4b7f539d61a12ceaf65eb7
SHA512 c497d6642d6f9fb7f190ab725e3c5ee0e67e96c883eebbe2d7fa7e0b3dec9847871010e53e23c5d46b9158b8a045f162592d0c25f524daedeaca8c1caa555a5a
HEAD_REF master
PATCHES
install-layout.patch
@@ -12,15 +12,14 @@ vcpkg_from_github(
fix-pcre2.patch
gtk3-link-libraries.patch
sdl2.patch
fix-listctrl-layout.patch
)
# Submodule dependencies
vcpkg_from_github(
OUT_SOURCE_PATH lexilla_SOURCE_PATH
REPO wxWidgets/lexilla
REF "0dbce0b418b8b3d2ef30304d0bf53ff58c07ed84"
SHA512 61f7b0217f4518121ecad32f015b53600e565bdd499d4020468cf6c8a533d516c6881115aa5e640afca5ea428535f47680cde426fa3dbabe9e4423b4526853fd
REF "bf6ad20062b98808ffa21419263942a427c150a9"
SHA512 08360fcd29e6c021857928375509ea48b9c8a02407bcb3c01865f57734c449fc6ff24afbe011f218b7145116e1805f8c9b4a2e3ec26f4a6298dca9453f610887
HEAD_REF wx
)
file(COPY "${lexilla_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/src/stc/lexilla")
@@ -41,9 +40,13 @@ vcpkg_check_features(
secretstore wxUSE_SECRETSTORE
sound wxUSE_SOUND
webview wxUSE_WEBVIEW
webview wxUSE_WEBVIEW_EDGE
)
# Only use wxUSE_WEBVIEW_EDGE on Windows (webview2)
if(VCPKG_TARGET_IS_WINDOWS AND "webview" IN_LIST FEATURES)
list(APPEND FEATURE_OPTIONS "-DwxUSE_WEBVIEW_EDGE=ON")
endif()
set(OPTIONS_RELEASE "")
if(NOT "debug-support" IN_LIST FEATURES)
list(APPEND OPTIONS_RELEASE "-DwxBUILD_DEBUG_LEVEL=0")
@@ -70,8 +73,8 @@ if(VCPKG_TARGET_IS_WINDOWS)
endif()
endif()
if("webview" IN_LIST FEATURES AND VCPKG_LIBRARY_LINKAGE STREQUAL "static")
list(APPEND OPTIONS -DwxUSE_WEBVIEW_EDGE_STATIC=ON)
if(VCPKG_TARGET_IS_WINDOWS AND "webview" IN_LIST FEATURES AND VCPKG_LIBRARY_LINKAGE STREQUAL "static")
list(APPEND OPTIONS -DwxUSE_WEBVIEW_EDGE_STATIC=ON)
endif()
vcpkg_find_acquire_program(PKGCONFIG)
@@ -94,6 +97,7 @@ vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
${FEATURE_OPTIONS}
-DwxBUILD_INSTALL_USE_SYMLINK=OFF
-DwxUSE_REGEX=sys
-DwxUSE_ZLIB=sys
-DwxUSE_EXPAT=sys
@@ -219,30 +223,12 @@ endif()
if("example" IN_LIST FEATURES)
file(INSTALL
"${CMAKE_CURRENT_LIST_DIR}/minimal_example/CMakeLists.txt"
"${SOURCE_PATH}/samples/minimal/minimal.cpp"
"${SOURCE_PATH}/samples/sample.xpm"
"${SOURCE_PATH}/samples/sample.rc"
DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/minimal_example"
)
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/minimal_example/minimal.cpp" "../sample.xpm" "sample.xpm")
endif()
if("example" IN_LIST FEATURES)
file(INSTALL
"${CMAKE_CURRENT_LIST_DIR}/listctrl_example/CMakeLists.txt"
"${SOURCE_PATH}/samples/listctrl/listtest.cpp"
"${SOURCE_PATH}/samples/listctrl/listtest.h"
"${SOURCE_PATH}/samples/listctrl/listtest.rc"
"${CMAKE_CURRENT_LIST_DIR}/example/CMakeLists.txt"
"${SOURCE_PATH}/samples/popup/popup.cpp"
"${SOURCE_PATH}/samples/sample.xpm"
"${SOURCE_PATH}/samples/sample.rc"
"${SOURCE_PATH}/samples/listctrl/bitmaps"
DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/listctrl_example"
DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/example"
)
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/listctrl_example/listtest.cpp" "../sample.xpm" "sample.xpm")
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/listctrl_example/listtest.rc" "../sample.rc" "sample.rc")
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/example/popup.cpp" "../sample.xpm" "sample.xpm")
endif()
configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY)

View File

@@ -1,29 +1,20 @@
diff --git a/build/cmake/init.cmake b/build/cmake/init.cmake
index 4ed7b264ef..9abf7c9d5d 100644
index 5447d33..f5440b4 100644
--- a/build/cmake/init.cmake
+++ b/build/cmake/init.cmake
@@ -667,7 +667,9 @@ if(wxUSE_GUI)
endif()
@@ -693,3 +693,5 @@
if(wxUSE_SOUND AND wxUSE_LIBSDL AND UNIX AND NOT APPLE)
- find_package(SDL2)
+ find_package(SDL2 CONFIG REQUIRED)
+ set(SDL2_INCLUDE_DIR "" CACHE INTERNAL "")
+ set(SDL2_LIBRARY SDL2::SDL2 CACHE INTERNAL "")
if(NOT SDL2_FOUND)
find_package(SDL)
mark_as_advanced(SDL_INCLUDE_DIR SDLMAIN_LIBRARY)
diff --git a/build/cmake/wxWidgetsConfig.cmake.in b/build/cmake/wxWidgetsConfig.cmake.in
index c134900764..7bcb691074 100644
--- a/build/cmake/wxWidgetsConfig.cmake.in
+++ b/build/cmake/wxWidgetsConfig.cmake.in
@@ -156,6 +156,9 @@ endforeach()
@@ -179,2 +179,5 @@ include(CMakeFindDependencyMacro)
include(CMakeFindDependencyMacro)
find_dependency(NanoSVG CONFIG)
+if("@wxUSE_LIBSDL@")
+ find_dependency(SDL2 CONFIG)
+endif()
if(TARGET wx::wxnet AND @wxUSE_WEBREQUEST_CURL@)
# make sure CURL targets are available:

View File

@@ -1,6 +1,6 @@
{
"name": "wxwidgets",
"version": "3.3.2",
"version": "3.3.3",
"description": [
"Widget toolkit and tools library for creating graphical user interfaces (GUIs) for cross-platform applications. ",
"Set WXWIDGETS_USE_STL in a custom triplet to build with the wxUSE_STL build option.",
@@ -102,7 +102,10 @@
"webview": {
"description": "The Edge backend uses Microsoft's Edge WebView2",
"dependencies": [
"webview2"
{
"name": "webview2",
"platform": "windows"
}
]
}
}

View File

@@ -80,7 +80,7 @@
},
{
"name": "wxwidgets",
"version": "3.3.1"
"version": "3.3.3"
}
]
}