...
 
Commits (4)
wxwidgets3.0 (3.0.4+dfsg-5) unstable; urgency=medium
* Cherry-pick three patches from upstream WX_3_0_BRANCH branch to fix warnings
from GCC8 when building applications using wxWidgets.
* debian/control.in: Note conformance with Standards-Version 4.2.1.
-- Olly Betts <olly@survex.com> Mon, 19 Nov 2018 10:22:14 +1300
wxwidgets3.0 (3.0.4+dfsg-4) unstable; urgency=medium
* Update team email address due to alioth retirement (Closes: #899727)
......@@ -434,7 +442,7 @@ wxwidgets2.8 (2.8.12.1-11) unstable; urgency=low
wxwidgets2.8 (2.8.12.1-10) unstable; urgency=low
* Build-depends on libpng-dev instead of libpng12-dev. (Closes: #662553)
* Add patch bp-menubar-fix.patch to fix sizing of new menubar.
* Add patch bp-menubar-fix.patch to fix sizing of new menubar.
* Drop build-dependency on quilt, no longer used since -9.
* New patch desktop-files.patch which updates .desktop files to match the
current specification.
......@@ -460,7 +468,7 @@ wxwidgets2.8 (2.8.12.1-8) unstable; urgency=low
wxwidgets2.8 (2.8.12.1-7) unstable; urgency=low
* Fix path to one of the bogus executable files in wx2.8-examples so it gets
* Fix path to one of the bogus executable files in wx2.8-examples so it gets
made non-executable as intended, really fixing the final lintian warning.
* Add patch remove-refs-to-FPB_DEFAULT_STYLE.patch to fix warning upon
refresh in XRCed. (Closes: #654990)
......@@ -861,7 +869,7 @@ wxwidgets2.6 (2.6.3.2.1.5ubuntu5) feisty; urgency=low
wxwidgets2.6 (2.6.3.2.1.5ubuntu4) feisty; urgency=low
* wxPython/wx/py/introspect.py:
* wxPython/wx/py/introspect.py:
move "from __future__ import nested_scopes" to the begin of the file
-- Michael Bienia <geser@ubuntu.com> Mon, 15 Jan 2007 17:59:40 +0100
......
......@@ -12,7 +12,7 @@ Build-Depends: debhelper (>= 9.20160114), gettext, libgtk2.0-dev,
libnotify-dev
Maintainer: wxWidgets Maintainers <team+wx@tracker.debian.org>
Uploaders: Olly Betts <olly@survex.com>, Scott Talbert <swt@techie.net>
Standards-Version: 4.1.3
Standards-Version: 4.2.1
Vcs-Git: https://salsa.debian.org/freewx-team/wx.git -b wx3.0-debian
Vcs-Browser: https://salsa.debian.org/freewx-team/wx/tree/wx3.0-debian
Homepage: https://www.wxwidgets.org/
......
commit 2d67cca103b01c4a8afd329f578c57f1f9ef0569
Author: Paul Cornett <paulcor@users.noreply.github.com>
Date: Wed Aug 8 09:08:48 2018 -0700
Work around GCC 8 -Wcast-function-type in event table macros
Suppress the warnings about formally incorrect but working in practice
cast from an event handler taking an object of a class derived from
wxEvent to wxEventFunction, i.e. a handler taking just wxEvent itself.
(backport of bec3cf6387c6c2eb45552caf58df6809b5bd0a1e)
diff --git a/include/wx/event.h b/include/wx/event.h
index 61ec19c5..907225e1 100644
--- a/include/wx/event.h
+++ b/include/wx/event.h
@@ -142,10 +142,31 @@ extern WXDLLIMPEXP_BASE wxEventType wxNewEventType();
extern const expdecl wxEventType name
#endif // wxHAS_EVENT_BIND/!wxHAS_EVENT_BIND
+// The type-erased method signature used for event handling.
+typedef void (wxEvtHandler::*wxEventFunction)(wxEvent&);
+
+template <typename T>
+inline wxEventFunction wxEventFunctionCast(void (wxEvtHandler::*func)(T&))
+{
+ // There is no going around the cast here: we do rely calling the event
+ // handler method, which takes a reference to an object of a class derived
+ // from wxEvent, as if it took wxEvent itself. On all platforms supported
+ // by wxWidgets, this cast is harmless, but it's not a valid cast in C++
+ // and gcc 8 started giving warnings about this (with -Wextra), so suppress
+ // them locally to avoid generating hundreds of them when compiling any
+ // code using event table macros.
+
+ wxGCC_WARNING_SUPPRESS_CAST_FUNCTION_TYPE()
+
+ return reinterpret_cast<wxEventFunction>(func);
+
+ wxGCC_WARNING_RESTORE_CAST_FUNCTION_TYPE()
+}
+
// Try to cast the given event handler to the correct handler type:
#define wxEVENT_HANDLER_CAST( functype, func ) \
- ( wxObjectEventFunction )( wxEventFunction )wxStaticCastEvent( functype, &func )
+ wxEventFunctionCast(static_cast<functype>(&func))
#ifdef wxHAS_EVENT_BIND
@@ -327,8 +348,8 @@ struct HandlerImpl<T, A, true>
static wxEvtHandler *ConvertToEvtHandler(T *p)
{ return p; }
static wxEventFunction ConvertToEvtMethod(void (T::*f)(A&))
- { return static_cast<wxEventFunction>(
- reinterpret_cast<void (T::*)(wxEvent&)>(f)); }
+ { return wxEventFunctionCast(
+ static_cast<void (wxEvtHandler::*)(A&)>(f)); }
};
// specialization for handlers not deriving from wxEvtHandler
commit 94942526188b9f3363b5a44bdd226f167ac11ae8
Author: Paul Cornett <paulcor@users.noreply.github.com>
Date: Wed Aug 8 08:55:10 2018 -0700
Use correct const-ness for pointer_type.
Avoids many GCC 8 -Wextra warnings "type qualifiers ignored on cast result type".
This is effectively a partial backport of 9edf06794e.
diff --git a/include/wx/list.h b/include/wx/list.h
index 160b3b8b..cd68c030 100644
--- a/include/wx/list.h
+++ b/include/wx/list.h
@@ -863,7 +863,7 @@ private:
Node* m_init; \
public: \
typedef const_reference reference_type; \
- typedef const ptr_type pointer_type; \
+ typedef const value_type* pointer_type; \
\
const_iterator(Node* node, Node* init) \
: m_node(node), m_init(init) { } \
@@ -955,7 +955,7 @@ private:
Node* m_init; \
public: \
typedef const_reference reference_type; \
- typedef const ptr_type pointer_type; \
+ typedef const value_type* pointer_type; \
\
const_reverse_iterator(Node* node, Node* init) \
: m_node(node), m_init(init) { } \
wx-config-conditionalise-webview-in-std.patch
reproducible-build.patch
warn-for-compiler-abi-mismatch.patch
fix-gcc8-wxlist-warnings.patch
fix-gcc8-event-table-warnings.patch
wxGCC_WARNING_SUPPRESS_CAST_FUNCTION_TYPE.patch
commit 9c4ef1cb5e1501942ab4a6d86a505397341300be
Author: Vadim Zeitlin <vadim@wxwidgets.org>
Date: Tue May 29 13:57:30 2018 +0200
Add helper macros for suppressing gcc 8 -Wcast-function-type
These warnings are unavoidable in a few places, and testing for gcc
version and suppressing them is too verbose, so define helper macros
making it a bit less painful.
(cherry picked from commit ed01fede2e1d3b809d60275518dcb2f869aaa36c)
diff --git a/include/wx/defs.h b/include/wx/defs.h
index eb9c29af..a462ced1 100644
--- a/include/wx/defs.h
+++ b/include/wx/defs.h
@@ -710,6 +710,17 @@ typedef short int WXTYPE;
# define wxGCC_WARNING_RESTORE(x)
#endif
+/* Specific macros for -Wcast-function-type warning new in gcc 8. */
+#if wxCHECK_GCC_VERSION(8, 0)
+ #define wxGCC_WARNING_SUPPRESS_CAST_FUNCTION_TYPE() \
+ wxGCC_WARNING_SUPPRESS(cast-function-type)
+ #define wxGCC_WARNING_RESTORE_CAST_FUNCTION_TYPE() \
+ wxGCC_WARNING_RESTORE(cast-function-type)
+#else
+ #define wxGCC_WARNING_SUPPRESS_CAST_FUNCTION_TYPE()
+ #define wxGCC_WARNING_RESTORE_CAST_FUNCTION_TYPE()
+#endif
+
/*
Combination of the two variants above: should be used for deprecated
functions which are defined inline and are used by wxWidgets itself.