wxGTK: fixes for gcc4 build.

This commit is contained in:
Dams Nadé 2005-04-22 20:19:34 +00:00
parent 3acae33aa7
commit 665ea91668
2 changed files with 244 additions and 3 deletions

235
wxGTK-2.4.2-gcc4.patch Normal file
View File

@ -0,0 +1,235 @@
--- wxGTK-2.4.2/contrib/src/xrc/xml.cpp.gcc4 2003-09-21 07:32:56.000000000 -0400
+++ wxGTK-2.4.2/contrib/src/xrc/xml.cpp 2005-04-15 06:59:47.000000000 -0400
@@ -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);
--- wxGTK-2.4.2/contrib/src/xrc/expat/xmlparse/xmlparse.c.gcc4 2003-09-21 07:32:54.000000000 -0400
+++ wxGTK-2.4.2/contrib/src/xrc/expat/xmlparse/xmlparse.c 2005-04-15 06:59:47.000000000 -0400
@@ -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);
--- wxGTK-2.4.2/contrib/src/stc/scintilla/src/Document.cxx.gcc4 2003-09-21 07:32:47.000000000 -0400
+++ wxGTK-2.4.2/contrib/src/stc/scintilla/src/Document.cxx 2005-04-15 06:59:47.000000000 -0400
@@ -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)
--- wxGTK-2.4.2/contrib/src/stc/scintilla/src/ExternalLexer.h.gcc4 2003-09-21 07:32:50.000000000 -0400
+++ wxGTK-2.4.2/contrib/src/stc/scintilla/src/ExternalLexer.h 2005-04-15 06:59:47.000000000 -0400
@@ -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,
--- wxGTK-2.4.2/contrib/src/stc/scintilla/src/RESearch.h.gcc4 2003-09-21 07:32:50.000000000 -0400
+++ wxGTK-2.4.2/contrib/src/stc/scintilla/src/RESearch.h 2005-04-15 06:59:47.000000000 -0400
@@ -20,6 +20,7 @@
class CharacterIndexer {
public:
virtual char CharAt(int index)=0;
+ virtual ~CharacterIndexer() {};
};
class RESearch {
--- wxGTK-2.4.2/contrib/src/stc/scintilla/include/KeyWords.h.gcc4 2003-09-21 07:32:47.000000000 -0400
+++ wxGTK-2.4.2/contrib/src/stc/scintilla/include/KeyWords.h 2005-04-15 06:59:47.000000000 -0400
@@ -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
--- wxGTK-2.4.2/src/common/dircmn.cpp.gcc4 2003-09-21 07:31:39.000000000 -0400
+++ wxGTK-2.4.2/src/common/dircmn.cpp 2005-04-15 06:59:47.000000000 -0400
@@ -147,6 +147,7 @@
{
public:
wxDirTraverserSimple(wxArrayString& files) : m_files(files) { }
+ virtual ~wxDirTraverserSimple() {};
virtual wxDirTraverseResult OnFile(const wxString& filename)
{
--- wxGTK-2.4.2/src/common/xpmdecod.cpp.gcc4 2003-09-21 07:31:39.000000000 -0400
+++ wxGTK-2.4.2/src/common/xpmdecod.cpp 2005-04-15 14:06:53.000000000 -0400
@@ -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) )
{
--- wxGTK-2.4.2/src/unix/mimetype.cpp.gcc4 2003-09-21 07:31:40.000000000 -0400
+++ wxGTK-2.4.2/src/unix/mimetype.cpp 2005-04-15 06:59:47.000000000 -0400
@@ -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;
--- wxGTK-2.4.2/include/wx/statline.h.gcc4 2003-09-21 07:31:35.000000000 -0400
+++ wxGTK-2.4.2/include/wx/statline.h 2005-04-15 06:59:47.000000000 -0400
@@ -39,6 +39,7 @@
public:
// constructor
wxStaticLineBase() { }
+ virtual ~wxStaticLineBase() {};
// is the line vertical?
bool IsVertical() const { return (GetWindowStyle() & wxLI_VERTICAL) != 0; }
--- wxGTK-2.4.2/include/wx/datetime.h.gcc4 2003-09-21 07:31:30.000000000 -0400
+++ wxGTK-2.4.2/include/wx/datetime.h 2005-04-15 06:59:47.000000000 -0400
@@ -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,
--- wxGTK-2.4.2/include/wx/notebook.h.gcc4 2003-09-21 07:31:34.000000000 -0400
+++ wxGTK-2.4.2/include/wx/notebook.h 2005-04-15 06:59:47.000000000 -0400
@@ -193,6 +193,7 @@
m_nSel = nSel;
m_nOldSel = nOldSel;
}
+ virtual ~wxNotebookEvent() {};
// accessors
// the currently selected page (-1 if none)
--- wxGTK-2.4.2/include/wx/event.h.gcc4 2003-09-21 07:31:33.000000000 -0400
+++ wxGTK-2.4.2/include/wx/event.h 2005-04-15 06:59:47.000000000 -0400
@@ -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
--- wxGTK-2.4.2/include/wx/geometry.h.gcc4 2003-09-21 07:31:34.000000000 -0400
+++ wxGTK-2.4.2/include/wx/geometry.h 2005-04-15 06:59:47.000000000 -0400
@@ -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;
--- wxGTK-2.4.2/include/wx/list.h.gcc4 2003-09-21 07:31:34.000000000 -0400
+++ wxGTK-2.4.2/include/wx/list.h 2005-04-15 14:05:22.000000000 -0400
@@ -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(); } \
--- wxGTK-2.4.2/include/wx/radiobox.h.gcc4 2003-09-21 07:31:35.000000000 -0400
+++ wxGTK-2.4.2/include/wx/radiobox.h 2005-04-15 06:59:47.000000000 -0400
@@ -35,6 +35,7 @@
class WXDLLEXPORT wxRadioBoxBase
{
public:
+ virtual ~wxRadioBoxBase() {};
// selection
virtual void SetSelection(int n) = 0;
virtual int GetSelection() const = 0;
--- wxGTK-2.4.2/include/wx/caret.h.gcc4 2003-09-21 07:31:30.000000000 -0400
+++ wxGTK-2.4.2/include/wx/caret.h 2005-04-15 06:59:47.000000000 -0400
@@ -60,6 +60,7 @@
(void)Create(window, size);
}
+ virtual ~wxCaretBase() {};
// Create() functions - same as ctor but returns the success code
// --------------------------------------------------------------
--- wxGTK-2.4.2/include/wx/dir.h.gcc4 2003-09-21 07:31:32.000000000 -0400
+++ wxGTK-2.4.2/include/wx/dir.h 2005-04-15 06:59:47.000000000 -0400
@@ -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
--- wxGTK-2.4.2/include/wx/clipbrd.h.gcc4 2003-09-21 07:31:30.000000000 -0400
+++ wxGTK-2.4.2/include/wx/clipbrd.h 2005-04-15 06:59:47.000000000 -0400
@@ -39,6 +39,7 @@
{
public:
wxClipboardBase();
+ virtual ~wxClipboardBase() {};
// open the clipboard before Add/SetData() and GetData()
virtual bool Open() = 0;
--- wxGTK-2.4.2/src/common/sckfile.cpp.orig 2005-04-16 16:50:11.000000000 -0700
+++ wxGTK-2.4.2/src/common/sckfile.cpp 2005-04-16 16:50:14.000000000 -0700
@@ -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".

View File

@ -2,15 +2,16 @@
Name: wxGTK
Version: 2.4.2
Release: 9
Release: 10
Summary: GTK+ port of the wxWidgets GUI library
License: BSD
Group: System Environment/Libraries
URL: http://www.wxwidgets.org/
Source0: http://dl.sf.net/wxwindows/%{name}-%{version}.tar.bz2
Patch0: %{name}-2.4.2-privates.patch
Patch1: %{name}-2.4.2-aclocal18.patch
Patch0: wxGTK-2.4.2-privates.patch
Patch1: wxGTK-2.4.2-aclocal18.patch
Patch2: wxGTK-2.4.2-gcc4.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: gtk+-devel gtk2-devel zlib-devel >= 1.1.4
@ -135,6 +136,8 @@ This package is for the GTK2 backend.
%setup -q -n %{name}-%{version}
%patch0 -p1 -b .privates
%patch1 -b .aclocal18
%patch2 -p1 -b .gcc4
sed -i -e 's|/usr/lib\b|%{_libdir}|' wx-config.in
@ -293,6 +296,9 @@ ln -sf $(basename %{_bindir}/wxgtk2*-config) %{_bindir}/wx-config
%changelog
* Fri Apr 22 2005 Dams <anvil[AT]livna.org> - 2.4.2-10
- Added patch from Ignacio and Denis to fix build with gcc4
* Fri Apr 7 2005 Michael Schwendt <mschwendt[AT]users.sf.net>
- rebuilt