# --- T2-COPYRIGHT-NOTE-BEGIN ---
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
# 
# T2 SDE: package/.../wxwidgets24/gcc-4.0.patch
# Copyright (C) 2004 - 2006 The T2 SDE Project
# 
# More information can be found in the files COPYING and README.
# 
# This patch file is dual-licensed. It is available under the license the
# patched project is licensed under, as long as it is an OpenSource license
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
# of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
# --- T2-COPYRIGHT-NOTE-END ---

Taken from Fedora Core to fix compilation with gcc-4.0.

diff -ur wxPythonSrc-2.4.2.4_orig/contrib/src/stc/scintilla/include/KeyWords.h wxPythonSrc-2.4.2.4/contrib/src/stc/scintilla/include/KeyWords.h
--- wxPythonSrc-2.4.2.4_orig/contrib/src/stc/scintilla/include/KeyWords.h	2003-09-18 00:59:53.000000000 +0200
+++ wxPythonSrc-2.4.2.4/contrib/src/stc/scintilla/include/KeyWords.h	2005-09-11 02:41:02.000000000 +0200
@@ -29,6 +29,7 @@
 	LexerModule(int language_, LexerFunction fnLexer_, 
 		const char *languageName_=0, LexerFunction fnFolder_=0,
 		const char * const wordListDescriptions_[] = NULL);
+	virtual ~LexerModule() {};
 	int GetLanguage() const { return language; }
 
 	// -1 is returned if no WordList information is available
diff -ur wxPythonSrc-2.4.2.4_orig/contrib/src/stc/scintilla/src/Document.cxx wxPythonSrc-2.4.2.4/contrib/src/stc/scintilla/src/Document.cxx
--- wxPythonSrc-2.4.2.4_orig/contrib/src/stc/scintilla/src/Document.cxx	2003-09-18 01:00:28.000000000 +0200
+++ wxPythonSrc-2.4.2.4/contrib/src/stc/scintilla/src/Document.cxx	2005-09-11 02:41:02.000000000 +0200
@@ -850,6 +850,7 @@
 	DocumentIndexer(Document *pdoc_, int end_) :
 		pdoc(pdoc_), end(end_) {
 	}
+	virtual ~DocumentIndexer() {};
 
 	virtual char CharAt(int index) {
 		if (index < 0 || index >= end)
diff -ur wxPythonSrc-2.4.2.4_orig/contrib/src/stc/scintilla/src/ExternalLexer.h wxPythonSrc-2.4.2.4/contrib/src/stc/scintilla/src/ExternalLexer.h
--- wxPythonSrc-2.4.2.4_orig/contrib/src/stc/scintilla/src/ExternalLexer.h	2003-09-18 01:48:01.000000000 +0200
+++ wxPythonSrc-2.4.2.4/contrib/src/stc/scintilla/src/ExternalLexer.h	2005-09-11 02:41:02.000000000 +0200
@@ -38,6 +38,7 @@
 		strncpy(name, languageName_, sizeof(name));
 		languageName = name;
 	};
+	virtual ~ExternalLexerModule() {};
 	virtual void Lex(unsigned int startPos, int lengthDoc, int initStyle,
 					WordList *keywordlists[], Accessor &styler) const;
 	virtual void Fold(unsigned int startPos, int lengthDoc, int initStyle,
diff -ur wxPythonSrc-2.4.2.4_orig/contrib/src/stc/scintilla/src/RESearch.h wxPythonSrc-2.4.2.4/contrib/src/stc/scintilla/src/RESearch.h
--- wxPythonSrc-2.4.2.4_orig/contrib/src/stc/scintilla/src/RESearch.h	2003-09-18 01:00:47.000000000 +0200
+++ wxPythonSrc-2.4.2.4/contrib/src/stc/scintilla/src/RESearch.h	2005-09-11 02:41:02.000000000 +0200
@@ -20,6 +20,7 @@
 class CharacterIndexer {
 public: 
 	virtual char CharAt(int index)=0;
+	virtual ~CharacterIndexer() {};
 };
 
 class RESearch {
diff -ur wxPythonSrc-2.4.2.4_orig/contrib/src/xrc/expat/xmlparse/xmlparse.c wxPythonSrc-2.4.2.4/contrib/src/xrc/expat/xmlparse/xmlparse.c
--- wxPythonSrc-2.4.2.4_orig/contrib/src/xrc/expat/xmlparse/xmlparse.c	2001-06-10 00:43:36.000000000 +0200
+++ wxPythonSrc-2.4.2.4/contrib/src/xrc/expat/xmlparse/xmlparse.c	2005-09-11 02:41:02.000000000 +0200
@@ -203,8 +203,10 @@
 static enum XML_Error
 doProlog(XML_Parser parser, const ENCODING *enc, const char *s,
 	 const char *end, int tok, const char *next, const char **nextPtr);
+#ifdef XML_DTD
 static enum XML_Error
 processInternalParamEntity(XML_Parser parser, ENTITY *entity);
+#endif /* XML_DTD */
 static enum XML_Error
 doContent(XML_Parser parser, int startTagLevel, const ENCODING *enc,
 	  const char *start, const char *end, const char **endPtr);
diff -ur wxPythonSrc-2.4.2.4_orig/contrib/src/xrc/xml.cpp wxPythonSrc-2.4.2.4/contrib/src/xrc/xml.cpp
--- wxPythonSrc-2.4.2.4_orig/contrib/src/xrc/xml.cpp	2003-10-01 20:58:04.000000000 +0200
+++ wxPythonSrc-2.4.2.4/contrib/src/xrc/xml.cpp	2005-09-11 02:41:02.000000000 +0200
@@ -354,8 +354,8 @@
 #else
     if ( conv )
     {
-        size_t nLen = (len != wxSTRING_MAXLEN) ? len :
-                          nLen = wxConvUTF8.MB2WC((wchar_t*) NULL, s, 0);
+        size_t nLen = ((len != wxSTRING_MAXLEN) ? len :
+                          wxConvUTF8.MB2WC((wchar_t*) NULL, s, 0));
 
         wchar_t *buf = new wchar_t[nLen+1];
         wxConvUTF8.MB2WC(buf, s, nLen);
diff -ur wxPythonSrc-2.4.2.4_orig/include/wx/caret.h wxPythonSrc-2.4.2.4/include/wx/caret.h
--- wxPythonSrc-2.4.2.4_orig/include/wx/caret.h	2002-09-05 07:17:11.000000000 +0200
+++ wxPythonSrc-2.4.2.4/include/wx/caret.h	2005-09-11 02:41:02.000000000 +0200
@@ -60,6 +60,7 @@
 
         (void)Create(window, size);
     }
+    virtual ~wxCaretBase() {};
 
     // Create() functions - same as ctor but returns the success code
     // --------------------------------------------------------------
diff -ur wxPythonSrc-2.4.2.4_orig/include/wx/clipbrd.h wxPythonSrc-2.4.2.4/include/wx/clipbrd.h
--- wxPythonSrc-2.4.2.4_orig/include/wx/clipbrd.h	2002-09-05 07:17:11.000000000 +0200
+++ wxPythonSrc-2.4.2.4/include/wx/clipbrd.h	2005-09-11 02:41:02.000000000 +0200
@@ -39,6 +39,7 @@
 {
 public:
     wxClipboardBase();
+    virtual ~wxClipboardBase() {};
 
     // open the clipboard before Add/SetData() and GetData()
     virtual bool Open() = 0;
diff -ur wxPythonSrc-2.4.2.4_orig/include/wx/datetime.h wxPythonSrc-2.4.2.4/include/wx/datetime.h
--- wxPythonSrc-2.4.2.4_orig/include/wx/datetime.h	2003-06-25 21:12:39.000000000 +0200
+++ wxPythonSrc-2.4.2.4/include/wx/datetime.h	2005-09-11 02:41:02.000000000 +0200
@@ -1300,6 +1300,7 @@
 {
 friend class wxDateTimeHolidaysModule;
 public:
+    virtual ~wxDateTimeHolidayAuthority() {};
     // returns TRUE if the given date is a holiday
     static bool IsHoliday(const wxDateTime& dt);
 
@@ -1340,6 +1341,8 @@
 // the holidays for this class are all Saturdays and Sundays
 class WXDLLEXPORT wxDateTimeWorkDays : public wxDateTimeHolidayAuthority
 {
+public:
+    virtual ~wxDateTimeWorkDays() {};
 protected:
     virtual bool DoIsHoliday(const wxDateTime& dt) const;
     virtual size_t DoGetHolidaysInRange(const wxDateTime& dtStart,
diff -ur wxPythonSrc-2.4.2.4_orig/include/wx/dir.h wxPythonSrc-2.4.2.4/include/wx/dir.h
--- wxPythonSrc-2.4.2.4_orig/include/wx/dir.h	2002-09-05 07:17:11.000000000 +0200
+++ wxPythonSrc-2.4.2.4/include/wx/dir.h	2005-09-11 02:41:02.000000000 +0200
@@ -52,6 +52,7 @@
 class WXDLLEXPORT wxDirTraverser
 {
 public:
+    virtual ~wxDirTraverser() {};
     // called for each file found by wxDir::Traverse()
     //
     // return wxDIR_STOP or wxDIR_CONTINUE from here
diff -ur wxPythonSrc-2.4.2.4_orig/include/wx/event.h wxPythonSrc-2.4.2.4/include/wx/event.h
--- wxPythonSrc-2.4.2.4_orig/include/wx/event.h	2003-06-02 22:40:21.000000000 +0200
+++ wxPythonSrc-2.4.2.4/include/wx/event.h	2005-09-11 02:41:02.000000000 +0200
@@ -1952,6 +1952,7 @@
         : wxEventTableEntryBase(id, idLast, fn, data),
         m_eventType(evType)
     { }
+    virtual ~wxEventTableEntry() {};
 
     // the reference to event type: this allows us to not care about the
     // (undefined) order in which the event table entries and the event types
diff -ur wxPythonSrc-2.4.2.4_orig/include/wx/geometry.h wxPythonSrc-2.4.2.4/include/wx/geometry.h
--- wxPythonSrc-2.4.2.4_orig/include/wx/geometry.h	2003-04-17 19:37:38.000000000 +0200
+++ wxPythonSrc-2.4.2.4/include/wx/geometry.h	2005-09-11 02:41:02.000000000 +0200
@@ -785,6 +785,7 @@
 class wxTransform2D
 {
 public :
+    virtual ~wxTransform2D() {};
     virtual void                    Transform( wxPoint2DInt* pt )const  = 0;
     virtual void                    Transform( wxRect2DInt* r ) const;
     virtual wxPoint2DInt    Transform( const wxPoint2DInt &pt ) const;
diff -ur wxPythonSrc-2.4.2.4_orig/include/wx/list.h wxPythonSrc-2.4.2.4/include/wx/list.h
--- wxPythonSrc-2.4.2.4_orig/include/wx/list.h	2002-10-18 20:32:52.000000000 +0200
+++ wxPythonSrc-2.4.2.4/include/wx/list.h	2005-09-11 02:41:02.000000000 +0200
@@ -384,6 +384,7 @@
                  T *data = (T *)NULL,                                       \
                  const wxListKey& key = wxDefaultListKey)                   \
             : wxNodeBase(list, previous, next, data, key) { }               \
+        virtual ~nodetype() {};                                             \
                                                                             \
         nodetype *GetNext() const                                           \
             { return (nodetype *)wxNodeBase::GetNext(); }                   \
@@ -410,6 +411,7 @@
                                                                             \
         name& operator=(const name& list)                                   \
             { (void) wxListBase::operator=(list); return *this; }           \
+        virtual ~name() {};                                                 \
                                                                             \
         nodetype *GetFirst() const                                          \
             { return (nodetype *)wxListBase::GetFirst(); }                  \
diff -ur wxPythonSrc-2.4.2.4_orig/include/wx/notebook.h wxPythonSrc-2.4.2.4/include/wx/notebook.h
--- wxPythonSrc-2.4.2.4_orig/include/wx/notebook.h	2003-06-03 23:11:56.000000000 +0200
+++ wxPythonSrc-2.4.2.4/include/wx/notebook.h	2005-09-11 02:41:02.000000000 +0200
@@ -193,6 +193,7 @@
             m_nSel = nSel;
             m_nOldSel = nOldSel;
         }
+    virtual ~wxNotebookEvent() {};
 
     // accessors
         // the currently selected page (-1 if none)
diff -ur wxPythonSrc-2.4.2.4_orig/include/wx/radiobox.h wxPythonSrc-2.4.2.4/include/wx/radiobox.h
--- wxPythonSrc-2.4.2.4_orig/include/wx/radiobox.h	2003-06-02 22:40:21.000000000 +0200
+++ wxPythonSrc-2.4.2.4/include/wx/radiobox.h	2005-09-11 02:41:02.000000000 +0200
@@ -35,6 +35,7 @@
 class WXDLLEXPORT wxRadioBoxBase
 {
 public:
+    virtual ~wxRadioBoxBase() {};
     // selection
     virtual void SetSelection(int n) = 0;
     virtual int GetSelection() const = 0;
diff -ur wxPythonSrc-2.4.2.4_orig/include/wx/statline.h wxPythonSrc-2.4.2.4/include/wx/statline.h
--- wxPythonSrc-2.4.2.4_orig/include/wx/statline.h	2001-06-26 22:59:07.000000000 +0200
+++ wxPythonSrc-2.4.2.4/include/wx/statline.h	2005-09-11 02:41:02.000000000 +0200
@@ -39,6 +39,7 @@
 public:
     // constructor
     wxStaticLineBase() { }
+    virtual ~wxStaticLineBase() {};
 
     // is the line vertical?
     bool IsVertical() const { return (GetWindowStyle() & wxLI_VERTICAL) != 0; }
diff -ur wxPythonSrc-2.4.2.4_orig/src/common/dircmn.cpp wxPythonSrc-2.4.2.4/src/common/dircmn.cpp
--- wxPythonSrc-2.4.2.4_orig/src/common/dircmn.cpp	2002-07-27 21:39:04.000000000 +0200
+++ wxPythonSrc-2.4.2.4/src/common/dircmn.cpp	2005-09-11 02:41:02.000000000 +0200
@@ -147,6 +147,7 @@
 {
 public:
     wxDirTraverserSimple(wxArrayString& files) : m_files(files) { }
+    virtual ~wxDirTraverserSimple() {};
 
     virtual wxDirTraverseResult OnFile(const wxString& filename)
     {
diff -ur wxPythonSrc-2.4.2.4_orig/src/common/sckfile.cpp wxPythonSrc-2.4.2.4/src/common/sckfile.cpp
--- wxPythonSrc-2.4.2.4_orig/src/common/sckfile.cpp	2002-01-05 23:11:03.000000000 +0100
+++ wxPythonSrc-2.4.2.4/src/common/sckfile.cpp	2005-09-11 02:41:08.000000000 +0200
@@ -9,7 +9,7 @@
 // Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 #ifdef __GNUG__
-#pragma implementation "sckfile.h"
+#pragma implementation "file.h"
 #endif
 
 // For compilers that support precompilation, includes "wx.h".
diff -ur wxPythonSrc-2.4.2.4_orig/src/common/xpmdecod.cpp wxPythonSrc-2.4.2.4/src/common/xpmdecod.cpp
--- wxPythonSrc-2.4.2.4_orig/src/common/xpmdecod.cpp	2003-03-29 20:10:43.000000000 +0100
+++ wxPythonSrc-2.4.2.4/src/common/xpmdecod.cpp	2005-09-11 02:41:02.000000000 +0200
@@ -669,7 +669,7 @@
     wxChar key[64];
     const char *clr_def;
     bool hasMask;
-    wxXPMColourMapData clr_data;
+    wxXPMColourMapData clr_data = {0, 0, 0};
     wxXPMColourMap clr_tbl;
 
     /*
@@ -712,7 +712,7 @@
         }
         else
         {
-            bool isNone;
+            bool isNone = false;
             if ( !GetRGBFromName(clr_def, &isNone,
                                  &clr_data.R, &clr_data.G, &clr_data.B) )
             {
diff -ur wxPythonSrc-2.4.2.4_orig/src/unix/mimetype.cpp wxPythonSrc-2.4.2.4/src/unix/mimetype.cpp
--- wxPythonSrc-2.4.2.4_orig/src/unix/mimetype.cpp	2003-04-08 23:58:38.000000000 +0200
+++ wxPythonSrc-2.4.2.4/src/unix/mimetype.cpp	2005-09-11 02:41:02.000000000 +0200
@@ -1580,7 +1580,7 @@
     {
         // now got a file we can write to ....
         wxMimeTypeCommands * entries = m_aEntries[index];
-        size_t iOpen;
+        size_t iOpen = 0;
         wxString sCmd = entries->GetCommandForVerb(_T("open"), &iOpen);
         wxString sTmp;