Hello community, here is the log from the commit of package wxWidgets-3_2 for openSUSE:Factory checked in at 2020-10-02 17:16:13 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/wxWidgets-3_2 (Old) and /work/SRC/openSUSE:Factory/.wxWidgets-3_2.new.4249 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wxWidgets-3_2" Fri Oct 2 17:16:13 2020 rev:12 rq:838843 version:3.1.4 Changes: -------- --- /work/SRC/openSUSE:Factory/wxWidgets-3_2/wxWidgets-3_2.changes 2020-09-25 16:30:42.363846277 +0200 +++ /work/SRC/openSUSE:Factory/.wxWidgets-3_2.new.4249/wxWidgets-3_2.changes 2020-10-02 17:16:38.970109472 +0200 @@ -1,0 +2,7 @@ +Wed Sep 30 17:39:01 UTC 2020 - Stefan BrĂ¼ns <[email protected]> + +- Fix wxPython compatibility issue: + Add 0001-Don-t-use-wxASCII_STR-inside-wxART_MAKE_XXX_ID-macro.patch + Add 0002-Fix-documented-type-of-wxART_XXX-constants.patch + +------------------------------------------------------------------- New: ---- 0001-Don-t-use-wxASCII_STR-inside-wxART_MAKE_XXX_ID-macro.patch 0002-Fix-documented-type-of-wxART_XXX-constants.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ wxWidgets-3_2.spec ++++++ --- /var/tmp/diff_new_pack.amNYDX/_old 2020-10-02 17:16:41.898109599 +0200 +++ /var/tmp/diff_new_pack.amNYDX/_new 2020-10-02 17:16:41.898109599 +0200 @@ -87,6 +87,10 @@ # identify and backport wxPython fixes to wxWidgets. Source6: wxpython-mkdiff.sh Patch1: soversion.diff +# PATCH-FIX-UPSTREAM +Patch2: 0001-Don-t-use-wxASCII_STR-inside-wxART_MAKE_XXX_ID-macro.patch +# PATCH-FIX-UPSTREAM +Patch3: 0002-Fix-documented-type-of-wxART_XXX-constants.patch BuildRequires: autoconf BuildRequires: cppunit-devel BuildRequires: gcc-c++ ++++++ 0001-Don-t-use-wxASCII_STR-inside-wxART_MAKE_XXX_ID-macro.patch ++++++ >From 93860ce690d7a8d9f9a4d900aa45fdd4839d01b5 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin <[email protected]> Date: Sun, 23 Aug 2020 02:44:25 +0200 Subject: [PATCH 1/2] Don't use wxASCII_STR() inside wxART_MAKE_XXX_ID macros This changed the type of the art and client ID values, which broke compatibility with existing code, notably in wxPython (see https://github.com/wxWidgets/wxWidgets/pull/1996), and the attempts to fix this compatibility broke it with all the existing code using wxART_MAKE_ART_ID() or wxART_MAKE_CLIENT_ID() for their own IDs. Keep things simple and just define the macros as they were defined before 4552009805 (Merge branch 'pr1312-no-unsafe-wxstring-conv', 2020-07-20), except for wxART_MAKE_CLIENT_ID_FROM_STR() whose argument and produced value was already of wxString type, and use wxASCII_STR() at the place of use of wxART_XXX constants in wx code. This is obviously not ideal as it will require using wxASCII_STR() in the application code as well, but seems to be the least evil. --- include/wx/artprov.h | 12 ++++++------ include/wx/xrc/xmlres.h | 10 +++++----- include/wx/xrc/xmlreshandler.h | 20 ++++++++++---------- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/include/wx/artprov.h b/include/wx/artprov.h index b54597659b..6dd2850a82 100644 --- a/include/wx/artprov.h +++ b/include/wx/artprov.h @@ -28,9 +28,9 @@ typedef wxString wxArtClient; typedef wxString wxArtID; #define wxART_MAKE_CLIENT_ID_FROM_STR(id) ((id) + wxASCII_STR("_C")) -#define wxART_MAKE_CLIENT_ID(id) wxASCII_STR(#id "_C") +#define wxART_MAKE_CLIENT_ID(id) (#id "_C") #define wxART_MAKE_ART_ID_FROM_STR(id) (id) -#define wxART_MAKE_ART_ID(id) wxASCII_STR(#id) +#define wxART_MAKE_ART_ID(id) (#id) // ---------------------------------------------------------------------------- // Art clients @@ -154,13 +154,13 @@ public: // Query the providers for bitmap with given ID and return it. Return // wxNullBitmap if no provider provides it. static wxBitmap GetBitmap(const wxArtID& id, - const wxArtClient& client = wxART_OTHER, + const wxArtClient& client = wxASCII_STR(wxART_OTHER), const wxSize& size = wxDefaultSize); // Query the providers for icon with given ID and return it. Return // wxNullIcon if no provider provides it. static wxIcon GetIcon(const wxArtID& id, - const wxArtClient& client = wxART_OTHER, + const wxArtClient& client = wxASCII_STR(wxART_OTHER), const wxSize& size = wxDefaultSize); // Helper used by GetMessageBoxIcon(): return the art id corresponding to @@ -173,13 +173,13 @@ public: // can be set) static wxIcon GetMessageBoxIcon(int flags) { - return GetIcon(GetMessageBoxIconId(flags), wxART_MESSAGE_BOX); + return GetIcon(GetMessageBoxIconId(flags), wxASCII_STR(wxART_MESSAGE_BOX)); } // Query the providers for iconbundle with given ID and return it. Return // wxNullIconBundle if no provider provides it. static wxIconBundle GetIconBundle(const wxArtID& id, - const wxArtClient& client = wxART_OTHER); + const wxArtClient& client = wxASCII_STR(wxART_OTHER)); // Gets native size for given 'client' or wxDefaultSize if it doesn't // have native equivalent diff --git a/include/wx/xrc/xmlres.h b/include/wx/xrc/xmlres.h index 8b4710b676..6507afe6d9 100644 --- a/include/wx/xrc/xmlres.h +++ b/include/wx/xrc/xmlres.h @@ -565,27 +565,27 @@ public: // Gets a bitmap. wxBitmap GetBitmap(const wxString& param = wxT("bitmap"), - const wxArtClient& defaultArtClient = wxART_OTHER, + const wxArtClient& defaultArtClient = wxASCII_STR(wxART_OTHER), wxSize size = wxDefaultSize) wxOVERRIDE; // Gets a bitmap from an XmlNode. wxBitmap GetBitmap(const wxXmlNode* node, - const wxArtClient& defaultArtClient = wxART_OTHER, + const wxArtClient& defaultArtClient = wxASCII_STR(wxART_OTHER), wxSize size = wxDefaultSize) wxOVERRIDE; // Gets an icon. wxIcon GetIcon(const wxString& param = wxT("icon"), - const wxArtClient& defaultArtClient = wxART_OTHER, + const wxArtClient& defaultArtClient = wxASCII_STR(wxART_OTHER), wxSize size = wxDefaultSize) wxOVERRIDE; // Gets an icon from an XmlNode. wxIcon GetIcon(const wxXmlNode* node, - const wxArtClient& defaultArtClient = wxART_OTHER, + const wxArtClient& defaultArtClient = wxASCII_STR(wxART_OTHER), wxSize size = wxDefaultSize) wxOVERRIDE; // Gets an icon bundle. wxIconBundle GetIconBundle(const wxString& param, - const wxArtClient& defaultArtClient = wxART_OTHER) wxOVERRIDE; + const wxArtClient& defaultArtClient = wxASCII_STR(wxART_OTHER)) wxOVERRIDE; // Gets an image list. wxImageList *GetImageList(const wxString& param = wxT("imagelist")) wxOVERRIDE; diff --git a/include/wx/xrc/xmlreshandler.h b/include/wx/xrc/xmlreshandler.h index b478356d6d..7f132b99a9 100644 --- a/include/wx/xrc/xmlreshandler.h +++ b/include/wx/xrc/xmlreshandler.h @@ -85,19 +85,19 @@ public: virtual wxSize GetPairInts(const wxString& param) = 0; virtual wxDirection GetDirection(const wxString& param, wxDirection dir = wxLEFT) = 0; virtual wxBitmap GetBitmap(const wxString& param = wxT("bitmap"), - const wxArtClient& defaultArtClient = wxART_OTHER, + const wxArtClient& defaultArtClient = wxASCII_STR(wxART_OTHER), wxSize size = wxDefaultSize) = 0; virtual wxBitmap GetBitmap(const wxXmlNode* node, - const wxArtClient& defaultArtClient = wxART_OTHER, + const wxArtClient& defaultArtClient = wxASCII_STR(wxART_OTHER), wxSize size = wxDefaultSize) = 0; virtual wxIcon GetIcon(const wxString& param = wxT("icon"), - const wxArtClient& defaultArtClient = wxART_OTHER, + const wxArtClient& defaultArtClient = wxASCII_STR(wxART_OTHER), wxSize size = wxDefaultSize) = 0; virtual wxIcon GetIcon(const wxXmlNode* node, - const wxArtClient& defaultArtClient = wxART_OTHER, + const wxArtClient& defaultArtClient = wxASCII_STR(wxART_OTHER), wxSize size = wxDefaultSize) = 0; virtual wxIconBundle GetIconBundle(const wxString& param, - const wxArtClient& defaultArtClient = wxART_OTHER) = 0; + const wxArtClient& defaultArtClient = wxASCII_STR(wxART_OTHER)) = 0; virtual wxImageList *GetImageList(const wxString& param = wxT("imagelist")) = 0; #if wxUSE_ANIMATIONCTRL @@ -321,31 +321,31 @@ protected: return GetImpl()->GetDirection(param, dir); } wxBitmap GetBitmap(const wxString& param = wxT("bitmap"), - const wxArtClient& defaultArtClient = wxART_OTHER, + const wxArtClient& defaultArtClient = wxASCII_STR(wxART_OTHER), wxSize size = wxDefaultSize) { return GetImpl()->GetBitmap(param, defaultArtClient, size); } wxBitmap GetBitmap(const wxXmlNode* node, - const wxArtClient& defaultArtClient = wxART_OTHER, + const wxArtClient& defaultArtClient = wxASCII_STR(wxART_OTHER), wxSize size = wxDefaultSize) { return GetImpl()->GetBitmap(node, defaultArtClient, size); } wxIcon GetIcon(const wxString& param = wxT("icon"), - const wxArtClient& defaultArtClient = wxART_OTHER, + const wxArtClient& defaultArtClient = wxASCII_STR(wxART_OTHER), wxSize size = wxDefaultSize) { return GetImpl()->GetIcon(param, defaultArtClient, size); } wxIcon GetIcon(const wxXmlNode* node, - const wxArtClient& defaultArtClient = wxART_OTHER, + const wxArtClient& defaultArtClient = wxASCII_STR(wxART_OTHER), wxSize size = wxDefaultSize) { return GetImpl()->GetIcon(node, defaultArtClient, size); } wxIconBundle GetIconBundle(const wxString& param, - const wxArtClient& defaultArtClient = wxART_OTHER) + const wxArtClient& defaultArtClient = wxASCII_STR(wxART_OTHER)) { return GetImpl()->GetIconBundle(param, defaultArtClient); } -- 2.28.0 ++++++ 0002-Fix-documented-type-of-wxART_XXX-constants.patch ++++++ >From 74b7f31ebab4a35e9b80dccca6f6688a27361d07 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin <[email protected]> Date: Tue, 25 Aug 2020 16:49:24 +0200 Subject: [PATCH 2/2] Fix documented type of wxART_XXX constants They're (now, and had always been before the recent changes) string literals, i.e. of type "const char *", rather than "wxString". --- interface/wx/artprov.h | 152 +++++++++++++++++++++-------------------- 1 file changed, 78 insertions(+), 74 deletions(-) diff --git a/interface/wx/artprov.h b/interface/wx/artprov.h index e8c848452f..8f34231527 100644 --- a/interface/wx/artprov.h +++ b/interface/wx/artprov.h @@ -16,80 +16,80 @@ typedef wxString wxArtClient; typedef wxString wxArtID; -wxArtClient wxART_TOOLBAR; -wxArtClient wxART_MENU; -wxArtClient wxART_FRAME_ICON; - -wxArtClient wxART_CMN_DIALOG; -wxArtClient wxART_HELP_BROWSER; -wxArtClient wxART_MESSAGE_BOX; -wxArtClient wxART_BUTTON; -wxArtClient wxART_LIST; - -wxArtClient wxART_OTHER; - - -wxArtID wxART_ADD_BOOKMARK; -wxArtID wxART_DEL_BOOKMARK; -wxArtID wxART_HELP_SIDE_PANEL; -wxArtID wxART_HELP_SETTINGS; -wxArtID wxART_HELP_BOOK; -wxArtID wxART_HELP_FOLDER; -wxArtID wxART_HELP_PAGE; -wxArtID wxART_GO_BACK; -wxArtID wxART_GO_FORWARD; -wxArtID wxART_GO_UP; -wxArtID wxART_GO_DOWN; -wxArtID wxART_GO_TO_PARENT; -wxArtID wxART_GO_HOME; -wxArtID wxART_GOTO_FIRST; -wxArtID wxART_GOTO_LAST; -wxArtID wxART_FILE_OPEN; -wxArtID wxART_FILE_SAVE; -wxArtID wxART_FILE_SAVE_AS; -wxArtID wxART_PRINT; -wxArtID wxART_HELP; -wxArtID wxART_TIP; -wxArtID wxART_REPORT_VIEW; -wxArtID wxART_LIST_VIEW; -wxArtID wxART_NEW_DIR; -wxArtID wxART_HARDDISK; -wxArtID wxART_FLOPPY; -wxArtID wxART_CDROM; -wxArtID wxART_REMOVABLE; -wxArtID wxART_FOLDER; -wxArtID wxART_FOLDER_OPEN; -wxArtID wxART_GO_DIR_UP; -wxArtID wxART_EXECUTABLE_FILE; -wxArtID wxART_NORMAL_FILE; -wxArtID wxART_TICK_MARK; -wxArtID wxART_CROSS_MARK; -wxArtID wxART_ERROR; -wxArtID wxART_QUESTION; -wxArtID wxART_WARNING; -wxArtID wxART_INFORMATION; -wxArtID wxART_MISSING_IMAGE; - -wxArtID wxART_COPY; -wxArtID wxART_CUT; -wxArtID wxART_PASTE; -wxArtID wxART_DELETE; -wxArtID wxART_NEW; - -wxArtID wxART_UNDO; -wxArtID wxART_REDO; - -wxArtID wxART_PLUS; -wxArtID wxART_MINUS; - -wxArtID wxART_CLOSE; -wxArtID wxART_QUIT; - -wxArtID wxART_FIND; -wxArtID wxART_FIND_AND_REPLACE; - -wxArtID wxART_FULL_SCREEN; -wxArtID wxART_EDIT; +const char* wxART_TOOLBAR; +const char* wxART_MENU; +const char* wxART_FRAME_ICON; + +const char* wxART_CMN_DIALOG; +const char* wxART_HELP_BROWSER; +const char* wxART_MESSAGE_BOX; +const char* wxART_BUTTON; +const char* wxART_LIST; + +const char* wxART_OTHER; + + +const char* wxART_ADD_BOOKMARK; +const char* wxART_DEL_BOOKMARK; +const char* wxART_HELP_SIDE_PANEL; +const char* wxART_HELP_SETTINGS; +const char* wxART_HELP_BOOK; +const char* wxART_HELP_FOLDER; +const char* wxART_HELP_PAGE; +const char* wxART_GO_BACK; +const char* wxART_GO_FORWARD; +const char* wxART_GO_UP; +const char* wxART_GO_DOWN; +const char* wxART_GO_TO_PARENT; +const char* wxART_GO_HOME; +const char* wxART_GOTO_FIRST; +const char* wxART_GOTO_LAST; +const char* wxART_FILE_OPEN; +const char* wxART_FILE_SAVE; +const char* wxART_FILE_SAVE_AS; +const char* wxART_PRINT; +const char* wxART_HELP; +const char* wxART_TIP; +const char* wxART_REPORT_VIEW; +const char* wxART_LIST_VIEW; +const char* wxART_NEW_DIR; +const char* wxART_HARDDISK; +const char* wxART_FLOPPY; +const char* wxART_CDROM; +const char* wxART_REMOVABLE; +const char* wxART_FOLDER; +const char* wxART_FOLDER_OPEN; +const char* wxART_GO_DIR_UP; +const char* wxART_EXECUTABLE_FILE; +const char* wxART_NORMAL_FILE; +const char* wxART_TICK_MARK; +const char* wxART_CROSS_MARK; +const char* wxART_ERROR; +const char* wxART_QUESTION; +const char* wxART_WARNING; +const char* wxART_INFORMATION; +const char* wxART_MISSING_IMAGE; + +const char* wxART_COPY; +const char* wxART_CUT; +const char* wxART_PASTE; +const char* wxART_DELETE; +const char* wxART_NEW; + +const char* wxART_UNDO; +const char* wxART_REDO; + +const char* wxART_PLUS; +const char* wxART_MINUS; + +const char* wxART_CLOSE; +const char* wxART_QUIT; + +const char* wxART_FIND; +const char* wxART_FIND_AND_REPLACE; + +const char* wxART_FULL_SCREEN; +const char* wxART_EDIT; /** @@ -200,6 +200,10 @@ wxArtID wxART_EDIT; </td></tr> </table> + @note When building with @c wxNO_IMPLICIT_WXSTRING_ENCODING defined (see + @ref overview_string for more details), you need to explicitly use + wxASCII_STR() around these constants. + Additionally, any string recognized by custom art providers registered using wxArtProvider::Push may be used. -- 2.28.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.amNYDX/_old 2020-10-02 17:16:42.034109605 +0200 +++ /var/tmp/diff_new_pack.amNYDX/_new 2020-10-02 17:16:42.034109605 +0200 @@ -3,8 +3,8 @@ <param name="scm">git</param> <param name="url">git://github.com/wxWidgets/wxWidgets</param> <param name="revision">6cc1d63d68f746cf9e48b75edd119a4cb4309f25</param> - <param name="parent-tag">v3.1.2</param> - <param name="versionformat">3.1.3~g@TAG_OFFSET@</param> + <param name="parent-tag">v3.1.4</param> + <param name="versionformat">3.1.5~g@TAG_OFFSET@</param> <param name="versionrewrite-pattern">v(.*)</param> </service> <service name="recompress" mode="disabled">
