[wxWidgets] update to 3.1.5 (#17527)

* [wxWidgets] update to 3.1.5

* update version
This commit is contained in:
JonLiu1993 2021-05-18 08:42:11 +08:00 committed by GitHub
parent b369b110b1
commit e120407c0f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 10 additions and 209 deletions

View File

@ -1,202 +0,0 @@
From 590e32c60b1dfb32b34632f3d1b0b5cf7c8e4b84 Mon Sep 17 00:00:00 2001
From: Maarten Bent <MaartenBent@users.noreply.github.com>
Date: Sat, 1 Aug 2020 11:54:26 +0200
Subject: [PATCH] Fix building with wxUSE_STL enabled in VS2019 16.6
Exporting standard C++ library types is not allowed any more, see
https://developercommunity.visualstudio.com/content/problem/1042081/142628801includexhash201332-error-c2338-this-funct.html
so don't use DLL export declarations for wxHash{Map,Set} classes, which
derive from std::{map,set}.
Since the classes are header-only, this should have no direct
consequences. Only classes that extend wxHashMap or wxHashSet, like
wxImageHistogram, have to be made header only as well.
Remove the wxLogError message in wxImageHistogram::FindFirstUnusedColour, so
log.h and translation.h do not have to be included in the header.
Closes https://github.com/wxWidgets/wxWidgets/pull/2009
---
include/wx/hashmap.h | 9 ++++++---
include/wx/hashset.h | 6 ++++--
include/wx/image.h | 42 ++++++++++++++++++++++++++++++++++++++----
src/common/image.cpp | 43 -------------------------------------------
4 files changed, 48 insertions(+), 52 deletions(-)
diff --git a/include/wx/hashmap.h b/include/wx/hashmap.h
index df9092a3823..86700f40ca9 100644
--- a/include/wx/hashmap.h
+++ b/include/wx/hashmap.h
@@ -678,24 +678,27 @@ public: \
// and these do exactly the same thing but should be used inside the
// library
+// note: DECL is not used since the class is inline
#define WX_DECLARE_HASH_MAP_WITH_DECL( KEY_T, VALUE_T, HASH_T, KEY_EQ_T, CLASSNAME, DECL) \
- _WX_DECLARE_HASH_MAP( KEY_T, VALUE_T, HASH_T, KEY_EQ_T, CLASSNAME, DECL )
+ _WX_DECLARE_HASH_MAP( KEY_T, VALUE_T, HASH_T, KEY_EQ_T, CLASSNAME, class )
#define WX_DECLARE_EXPORTED_HASH_MAP( KEY_T, VALUE_T, HASH_T, KEY_EQ_T, CLASSNAME) \
WX_DECLARE_HASH_MAP_WITH_DECL( KEY_T, VALUE_T, HASH_T, KEY_EQ_T, \
CLASSNAME, class WXDLLIMPEXP_CORE )
+// note: DECL is not used since the class is inline
#define WX_DECLARE_STRING_HASH_MAP_WITH_DECL( VALUE_T, CLASSNAME, DECL ) \
_WX_DECLARE_HASH_MAP( wxString, VALUE_T, wxStringHash, wxStringEqual, \
- CLASSNAME, DECL )
+ CLASSNAME, class )
#define WX_DECLARE_EXPORTED_STRING_HASH_MAP( VALUE_T, CLASSNAME ) \
WX_DECLARE_STRING_HASH_MAP_WITH_DECL( VALUE_T, CLASSNAME, \
class WXDLLIMPEXP_CORE )
+// note: DECL is not used since the class is inline
#define WX_DECLARE_VOIDPTR_HASH_MAP_WITH_DECL( VALUE_T, CLASSNAME, DECL ) \
_WX_DECLARE_HASH_MAP( void*, VALUE_T, wxPointerHash, wxPointerEqual, \
- CLASSNAME, DECL )
+ CLASSNAME, class )
#define WX_DECLARE_EXPORTED_VOIDPTR_HASH_MAP( VALUE_T, CLASSNAME ) \
WX_DECLARE_VOIDPTR_HASH_MAP_WITH_DECL( VALUE_T, CLASSNAME, \
diff --git a/include/wx/hashset.h b/include/wx/hashset.h
index bb713b87f4f..311aeca9a6e 100644
--- a/include/wx/hashset.h
+++ b/include/wx/hashset.h
@@ -159,8 +159,9 @@ public: \
// and these do exactly the same thing but should be used inside the
// library
+// note: DECL is not used since the class is inline
#define WX_DECLARE_HASH_SET_WITH_DECL( KEY_T, HASH_T, KEY_EQ_T, CLASSNAME, DECL) \
- _WX_DECLARE_HASH_SET( KEY_T, HASH_T, KEY_EQ_T, wxPTROP_NORMAL, CLASSNAME, DECL )
+ _WX_DECLARE_HASH_SET( KEY_T, HASH_T, KEY_EQ_T, wxPTROP_NORMAL, CLASSNAME, class )
#define WX_DECLARE_EXPORTED_HASH_SET( KEY_T, HASH_T, KEY_EQ_T, CLASSNAME) \
WX_DECLARE_HASH_SET_WITH_DECL( KEY_T, HASH_T, KEY_EQ_T, \
@@ -173,8 +174,9 @@ public: \
// common compilers (notably Sun CC).
#define WX_DECLARE_HASH_SET_PTR( KEY_T, HASH_T, KEY_EQ_T, CLASSNAME) \
_WX_DECLARE_HASH_SET( KEY_T, HASH_T, KEY_EQ_T, wxPTROP_NOP, CLASSNAME, class )
+// note: DECL is not used since the class is inline
#define WX_DECLARE_HASH_SET_WITH_DECL_PTR( KEY_T, HASH_T, KEY_EQ_T, CLASSNAME, DECL) \
- _WX_DECLARE_HASH_SET( KEY_T, HASH_T, KEY_EQ_T, wxPTROP_NOP, CLASSNAME, DECL )
+ _WX_DECLARE_HASH_SET( KEY_T, HASH_T, KEY_EQ_T, wxPTROP_NOP, CLASSNAME, class )
// delete all hash elements
//
diff --git a/include/wx/image.h b/include/wx/image.h
index f2b5866d2d7..d53ff0b1165 100644
--- a/include/wx/image.h
+++ b/include/wx/image.h
@@ -190,7 +190,7 @@ WX_DECLARE_EXPORTED_HASH_MAP(unsigned long, wxImageHistogramEntry,
wxIntegerHash, wxIntegerEqual,
wxImageHistogramBase);
-class WXDLLIMPEXP_CORE wxImageHistogram : public wxImageHistogramBase
+class wxImageHistogram : public wxImageHistogramBase
{
public:
wxImageHistogram() : wxImageHistogramBase(256) { }
@@ -211,9 +211,43 @@ class WXDLLIMPEXP_CORE wxImageHistogram : public wxImageHistogramBase
bool FindFirstUnusedColour(unsigned char *r,
unsigned char *g,
unsigned char *b,
- unsigned char startR = 1,
- unsigned char startG = 0,
- unsigned char startB = 0 ) const;
+ unsigned char r2 = 1,
+ unsigned char g2 = 0,
+ unsigned char b2 = 0 ) const
+ {
+ unsigned long key = MakeKey(r2, g2, b2);
+
+ while ( find(key) != end() )
+ {
+ // color already used
+ r2++;
+ if ( r2 >= 255 )
+ {
+ r2 = 0;
+ g2++;
+ if ( g2 >= 255 )
+ {
+ g2 = 0;
+ b2++;
+ if ( b2 >= 255 )
+ {
+ return false;
+ }
+ }
+ }
+
+ key = MakeKey(r2, g2, b2);
+ }
+
+ if ( r )
+ *r = r2;
+ if ( g )
+ *g = g2;
+ if ( b )
+ *b = b2;
+
+ return true;
+ }
};
//-----------------------------------------------------------------------------
diff --git a/src/common/image.cpp b/src/common/image.cpp
index 096f823f0c1..880c1c4ea74 100644
--- a/src/common/image.cpp
+++ b/src/common/image.cpp
@@ -3381,49 +3381,6 @@ wxImageHandler::GetResolutionFromOptions(const wxImage& image, int *x, int *y)
// image histogram stuff
// ----------------------------------------------------------------------------
-bool
-wxImageHistogram::FindFirstUnusedColour(unsigned char *r,
- unsigned char *g,
- unsigned char *b,
- unsigned char r2,
- unsigned char g2,
- unsigned char b2) const
-{
- unsigned long key = MakeKey(r2, g2, b2);
-
- while ( find(key) != end() )
- {
- // color already used
- r2++;
- if ( r2 >= 255 )
- {
- r2 = 0;
- g2++;
- if ( g2 >= 255 )
- {
- g2 = 0;
- b2++;
- if ( b2 >= 255 )
- {
- wxLogError(_("No unused colour in image.") );
- return false;
- }
- }
- }
-
- key = MakeKey(r2, g2, b2);
- }
-
- if ( r )
- *r = r2;
- if ( g )
- *g = g2;
- if ( b )
- *b = b2;
-
- return true;
-}
-
bool
wxImage::FindFirstUnusedColour(unsigned char *r,
unsigned char *g,

View File

@ -3,12 +3,11 @@ vcpkg_fail_port_install(ON_TARGET "uwp")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO wxWidgets/wxWidgets
REF v3.1.4
SHA512 108e35220de10afbfc58762498ada9ece0b3166f56a6d11e11836d51bfbaed1de3033c32ed4109992da901fecddcf84ce8a1ba47303f728c159c638dac77d148
REF 9c0a8be1dc32063d91ed1901fd5fcd54f4f955a1 #v3.1.5
SHA512 33817f766b36d24e5e6f4eb7666f2e4c1ec305063cb26190001e0fc82ce73decc18697e8005da990a1c99dc1ccdac9b45bb2bbe5ba73e6e2aa860c768583314c
HEAD_REF master
PATCHES
disable-platform-lib-dir.patch
fix-stl-build-vs2019-16.6.patch
)
set(OPTIONS)

View File

@ -1,7 +1,6 @@
{
"name": "wxwidgets",
"version-semver": "3.1.4",
"port-version": 8,
"version-semver": "3.1.5",
"description": "a widget toolkit and tools library for creating graphical user interfaces (GUIs) for cross-platform applications.",
"homepage": "https://github.com/wxWidgets/wxWidgets",
"supports": "!uwp",

View File

@ -6497,8 +6497,8 @@
"port-version": 1
},
"wxwidgets": {
"baseline": "3.1.4",
"port-version": 8
"baseline": "3.1.5",
"port-version": 0
},
"x-plane": {
"baseline": "3.0.3",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "09e00eb06f1870d88caadf9e5e23719b197deda4",
"version-semver": "3.1.5",
"port-version": 0
},
{
"git-tree": "8fc2d91de4a0a86698c67e6bb662c14cbfd29732",
"version-semver": "3.1.4",