summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Kennedy <mkennedy@gentoo.org>2002-10-21 08:56:21 +0000
committerMatthew Kennedy <mkennedy@gentoo.org>2002-10-21 08:56:21 +0000
commit15aaa1d6f66524c99f5cf31a39f0a7d5b08254a7 (patch)
tree1663922714150b4fc4196f06b9f1f95b5849bdf4 /media-video
parentCloses #9290. Masked for now. (diff)
downloadhistorical-15aaa1d6f66524c99f5cf31a39f0a7d5b08254a7.tar.gz
historical-15aaa1d6f66524c99f5cf31a39f0a7d5b08254a7.tar.bz2
historical-15aaa1d6f66524c99f5cf31a39f0a7d5b08254a7.zip
gcc3.2 fix
Diffstat (limited to 'media-video')
-rw-r--r--media-video/xmovie/ChangeLog10
-rw-r--r--media-video/xmovie/files/digest-xmovie-1.8-r41
-rw-r--r--media-video/xmovie/files/xmovie-gcc3-gentoo.patch1040
-rw-r--r--media-video/xmovie/xmovie-1.8-r4.ebuild43
4 files changed, 1093 insertions, 1 deletions
diff --git a/media-video/xmovie/ChangeLog b/media-video/xmovie/ChangeLog
index 88cfa27e8a3f..7171c59391a9 100644
--- a/media-video/xmovie/ChangeLog
+++ b/media-video/xmovie/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for media-video/xmovie
# Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL
-# $Header: /var/cvsroot/gentoo-x86/media-video/xmovie/ChangeLog,v 1.4 2002/04/12 20:45:34 spider Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/xmovie/ChangeLog,v 1.5 2002/10/21 08:56:21 mkennedy Exp $
+
+*xmovie-1.8-r4 (21 Oct 2002)
+
+ 21 Oct 2002; Matthew Kennedy <mkennedy@gentoo.org> xmovie-1.8-r4,
+ ChangeLog, files/digest-xmovie-1.8-r4, files/xmovie-gcc3-gentoo.patch :
+
+ Patch to compilation under GCC3.2. Thanks to Joshua Gentry of Bug
+ #7227.
*xmovie-1.8-r2 (11 Apr 2002)
11 Apr 2002; Spider <spider@gentoo.org>
diff --git a/media-video/xmovie/files/digest-xmovie-1.8-r4 b/media-video/xmovie/files/digest-xmovie-1.8-r4
new file mode 100644
index 000000000000..169bced7bd86
--- /dev/null
+++ b/media-video/xmovie/files/digest-xmovie-1.8-r4
@@ -0,0 +1 @@
+MD5 cffbbc1ed8031375a91dce43759c5c65 xmovie-1.8.tar.gz 4692906
diff --git a/media-video/xmovie/files/xmovie-gcc3-gentoo.patch b/media-video/xmovie/files/xmovie-gcc3-gentoo.patch
new file mode 100644
index 000000000000..a34ae524f229
--- /dev/null
+++ b/media-video/xmovie/files/xmovie-gcc3-gentoo.patch
@@ -0,0 +1,1040 @@
+diff -ur old/avifile/avifile/AVIReadHandler.cpp new/avifile/avifile/AVIReadHandler.cpp
+--- old/avifile/avifile/AVIReadHandler.cpp 2001-05-19 23:02:39.000000000 -0400
++++ new/avifile/avifile/AVIReadHandler.cpp 2002-10-12 14:39:37.000000000 -0400
+@@ -19,6 +19,8 @@
+
+ #define __MODULE__ "AVIReadHandler"
+
++using namespace std;
++#define min(a,b) (((a) < (b)) ? (a) : (b))
+ //#define STREAMING_DEBUG
+
+ // HACK!!!!
+@@ -255,7 +257,7 @@
+
+
+ class AVIReadStream : public IvAVIReadStream, public ListNode2<AVIReadStream> {
+- friend AVIReadHandler;
++ friend class AVIReadHandler;
+
+ public:
+ AVIReadStream(AVIReadHandler *, AVIStreamNode *, int);
+diff -ur old/avifile/avifile/AVIReadHandler2.cpp new/avifile/avifile/AVIReadHandler2.cpp
+--- old/avifile/avifile/AVIReadHandler2.cpp 2001-05-19 23:02:39.000000000 -0400
++++ new/avifile/avifile/AVIReadHandler2.cpp 2002-10-12 14:34:24.000000000 -0400
+@@ -456,7 +456,7 @@
+ ///////////////////////////////////////////////////////////////////////////
+
+ class AVIReadStream2 : public IvAVIReadStream {
+- friend AVIReadHandler2;
++ friend class AVIReadHandler2;
+
+ public:
+ AVIReadStream2(AVIReadHandler2 *, ASFStreamNode *, int);
+diff -ur old/avifile/avifile/AviRead.cpp new/avifile/avifile/AviRead.cpp
+--- old/avifile/avifile/AviRead.cpp 2001-05-19 23:02:39.000000000 -0400
++++ new/avifile/avifile/AviRead.cpp 2002-10-12 15:11:15.000000000 -0400
+@@ -4,9 +4,9 @@
+ Copyright 2000 Eugene Kuznetsov (divx@euro.ru)
+
+ *********************************************************/
++using namespace std;
+ #include "AviRead.h"
+ #include <iostream>
+-using namespace std;
+ #define __MODULE__ "AviRead"
+ #ifndef TIMING
+ #define Debug if(0)
+@@ -104,12 +104,12 @@
+ return pos;
+ }
+
+-Unsigned AviReadStream::GetNextKeyFrame(int frame=-1) const
++Unsigned AviReadStream::GetNextKeyFrame(int frame) const
+ {
+ if(m_pIStream==0)return 0;
+ return m_pIStream->NextKeyFrame((frame<0)?(int)m_sample:frame);
+ }
+-Unsigned AviReadStream::GetPrevKeyFrame(int frame=-1) const
++Unsigned AviReadStream::GetPrevKeyFrame(int frame) const
+ {
+ if(m_pIStream==0)return 0;
+ if(frame==0)return 0;
+diff -ur old/avifile/avifile/AviSegWrite.cpp new/avifile/avifile/AviSegWrite.cpp
+--- old/avifile/avifile/AviSegWrite.cpp 2001-05-19 23:02:39.000000000 -0400
++++ new/avifile/avifile/AviSegWrite.cpp 2002-10-12 15:13:20.000000000 -0400
+@@ -1,5 +1,6 @@
++using namespace std;
+ #include "AviSegWrite.h"
+-IAviSegWriteFile* CreateSegmentedFile(const char* name, unsigned long flimit=0x7F000000, int flags=0, int mask=00777)
++IAviSegWriteFile* CreateSegmentedFile(const char* name, unsigned long flimit, int flags, int mask)
+ {
+ return new AviSegWriteFile(name, flimit, flags, mask);
+ }
+@@ -65,7 +66,7 @@
+ return str.vstream;
+ }
+ IAviAudioWriteStream* AviSegWriteFile::AddAudioStream(int fourcc,
+- WAVEFORMATEX* fmt, int bitrate, int flags=0)
++ WAVEFORMATEX* fmt, int bitrate, int flags)
+ {
+ if(!fmt)return 0;
+ streaminfo str;
+@@ -85,7 +86,7 @@
+ IAviWriteStream* AviSegWriteFile::AddStream(enum AviStream::StreamType type,
+ const char* format, Unsigned format_size,
+ int handler, int frame_rate,
+- int samplesize=0, int quality=0, int flags=0)
++ int samplesize, int quality, int flags)
+
+ //IAviWriteStream* AviSegWriteFile::AddStream(enum AviStream::StreamType type)
+ {
+@@ -120,7 +121,7 @@
+ {
+ if(_format)delete _format;
+ }
+-AviSegWriteFile::AviSegWriteFile(const char* name, unsigned long flimit=0x7F000000, int flags=0, int mask=00777)
++AviSegWriteFile::AviSegWriteFile(const char* name, unsigned long flimit, int flags, int mask)
+ :_name(name), m_lFlimit(flimit), _flags(flags), _mask(mask), _size(0LL)
+ {
+ rf=new AviWriteFile(name, flags, mask);
+@@ -134,7 +135,7 @@
+ delete it->format;
+ }
+
+-HRESULT AviSegWriteStream::AddChunk(const char* chunk, Unsigned size, Unsigned flags=0)
++HRESULT AviSegWriteStream::AddChunk(const char* chunk, Unsigned size, Unsigned flags)
+ {
+ HRESULT result=m_pStream->AddChunk(chunk, size, flags);
+ if(m_pFile->rf->FileSize()>m_pFile->m_lFlimit)
+diff -ur old/avifile/avifile/AviWrite.cpp new/avifile/avifile/AviWrite.cpp
+--- old/avifile/avifile/AviWrite.cpp 2001-05-19 23:02:39.000000000 -0400
++++ new/avifile/avifile/AviWrite.cpp 2002-10-12 15:18:53.000000000 -0400
+@@ -10,6 +10,8 @@
+ #include <fcntl.h>
+ #include <iostream>
+
++using namespace std;
++
+ #include "AviWrite.h"
+
+ #ifdef __FreeBSD__
+@@ -17,7 +19,6 @@
+ #define O_LARGEFILE 0
+ #endif
+
+-using namespace std;
+ AviWriteFile::AviWriteFile(const char* name, int flags, int mask):m_fd(0)
+ {
+ try
+@@ -45,7 +46,7 @@
+ IAviWriteStream* AviWriteFile::AddStream(AviStream::StreamType type,
+ const char* format, Unsigned format_size,
+ int handler, int frame_rate,
+- int samplesize=0, int quality=0, int flags=0)
++ int samplesize, int quality, int flags)
+ {
+ int ckid;
+ ckid=MAKEAVICKID((type==AviWriteStream::Video)?cktypeDIBcompressed:cktypeWAVEbytes, m_streams.size());
+@@ -73,7 +74,7 @@
+ return result;
+ }
+ IAviAudioWriteStream* AviWriteFile::AddAudioStream(int fourcc,
+- WAVEFORMATEX* fmt, int bitrate, int flags=0)
++ WAVEFORMATEX* fmt, int bitrate, int flags)
+ {
+ int ckid;
+ ckid=MAKEAVICKID(cktypeWAVEbytes, m_streams.size());
+@@ -134,7 +135,7 @@
+ m_status=0;
+ return;
+ }
+-void AviWriteFile::AddChunk(offset_t offset, Unsigned size, Unsigned id, Unsigned flags=0)
++void AviWriteFile::AddChunk(offset_t offset, Unsigned size, Unsigned id, Unsigned flags)
+ {
+ // m_index=(AVIINDEXENTRY*)realloc(m_index, (m_indsize+1)*sizeof(AVIINDEXENTRY));
+ AVIINDEXENTRY entry;
+@@ -164,7 +165,7 @@
+ enum AviStream::StreamType type,
+ const char* format, Unsigned format_size,
+ int handler, int frame_rate,
+- int samplesize=0, int quality=0, int flags=0)
++ int samplesize, int quality, int flags)
+
+ :m_file(file), m_ckid(ckid)
+ {
+@@ -207,7 +208,7 @@
+ }
+ AviWriteStream::AviWriteStream(AviWriteFile* file, int ckid,
+ enum AviStream::StreamType type,
+- int handler, int frame_rate, int flags=0)
++ int handler, int frame_rate, int flags)
+ :m_file(file), m_ckid(ckid), m_format(0)
+ {
+ m_fd=file->m_fd;
+@@ -243,7 +244,7 @@
+ }
+
+
+-HRESULT AviWriteStream::AddChunk(const char* chunk, Unsigned size, Unsigned flags=0)
++HRESULT AviWriteStream::AddChunk(const char* chunk, Unsigned size, Unsigned flags)
+ {
+ if((chunk==0) && (size!=0))
+ {
+@@ -280,7 +281,7 @@
+ IAviVideoWriteStream::~IAviVideoWriteStream(){}
+ IAviWriteFile::~IAviWriteFile(){}
+
+-IAviWriteFile* CreateIAviWriteFile(const char* name, int flags, int mask=00777)
++IAviWriteFile* CreateIAviWriteFile(const char* name, int flags, int mask)
+ {
+ return new AviWriteFile(name, flags, mask);
+ }
+diff -ur old/avifile/avifile/List.h new/avifile/avifile/List.h
+--- old/avifile/avifile/List.h 2001-05-19 23:02:39.000000000 -0400
++++ new/avifile/avifile/List.h 2002-10-12 14:32:37.000000000 -0400
+@@ -78,7 +78,7 @@
+
+ template<class T>
+ class ListNode2 : public ListNode {
+-friend List2<T>;
++friend class List2<T>;
+ public:
+ ListNode2<T>() {}
+ ListNode2<T>(void *pv) : ListNode(pv) {}
+diff -ur old/avifile/aviplay/audio.cpp new/avifile/aviplay/audio.cpp
+--- old/avifile/aviplay/audio.cpp 2001-05-19 23:02:39.000000000 -0400
++++ new/avifile/aviplay/audio.cpp 2002-10-12 15:17:35.000000000 -0400
+@@ -27,6 +27,7 @@
+ #include <fcntl.h>
+ #include <pthread.h>
+
++using namespace std;
+
+ #include <sys/soundcard.h>
+
+diff -ur old/avifile/aviplay/aviplay.cpp new/avifile/aviplay/aviplay.cpp
+--- old/avifile/aviplay/aviplay.cpp 2001-05-19 23:02:39.000000000 -0400
++++ new/avifile/aviplay/aviplay.cpp 2002-10-12 15:19:42.000000000 -0400
+@@ -20,7 +20,7 @@
+ #include <unistd.h>//usleep, close
+ #include <pthread.h>
+ #include <errno.h>//EDEADLK
+-
++using namespace std;
+ #include <aviutil.h>
+ #include <except.h>
+ #include "aviplay_impl.h"
+diff -ur old/avifile/aviplay/aviutil.cpp new/avifile/aviplay/aviutil.cpp
+--- old/avifile/aviplay/aviutil.cpp 2001-05-19 23:02:39.000000000 -0400
++++ new/avifile/aviplay/aviutil.cpp 2002-10-12 15:20:15.000000000 -0400
+@@ -11,6 +11,9 @@
+
+ #include <sys/time.h>
+ #include <unistd.h>
++
++using namespace std;
++
+ unsigned int (*localcount)();
+ long long (*longcount)();
+
+diff -ur old/avifile/include/videodecoder.h new/avifile/include/videodecoder.h
+--- old/avifile/include/videodecoder.h 2001-05-19 23:02:40.000000000 -0400
++++ new/avifile/include/videodecoder.h 2002-10-12 14:41:09.000000000 -0400
+@@ -18,6 +18,7 @@
+
+ #include <image.h>
+ #include <infotypes.h>
++
+ /**
+ *
+ * Class for video decompression.
+diff -ur old/avifile/videocodec/AVIModule.cpp new/avifile/videocodec/AVIModule.cpp
+--- old/avifile/videocodec/AVIModule.cpp 2001-05-19 23:02:40.000000000 -0400
++++ new/avifile/videocodec/AVIModule.cpp 2002-10-12 15:48:21.000000000 -0400
+@@ -1,3 +1,4 @@
++using namespace std;
+ #include "AVIModule.h"
+ #include <loader.h>
+ #include <wine/winreg.h>
+diff -ur old/avifile/videocodec/DirectShow/DS_VideoDecoder.cpp new/avifile/videocodec/DirectShow/DS_VideoDecoder.cpp
+--- old/avifile/videocodec/DirectShow/DS_VideoDecoder.cpp 2001-05-19 23:02:40.000000000 -0400
++++ new/avifile/videocodec/DirectShow/DS_VideoDecoder.cpp 2002-10-12 17:31:18.000000000 -0400
+@@ -6,7 +6,7 @@
+ *********************************************************/
+
+ #include <config.h>
+-
++using namespace std;
+ #include "DS_VideoDecoder.h"
+ #include <string.h>
+ #include <stdlib.h>
+@@ -368,7 +368,7 @@
+
+ return 0;
+ }
+-int DS_VideoDecoder::SetDestFmt(int bits=24, int csp=0)
++int DS_VideoDecoder::SetDestFmt(int bits, int csp)
+ {
+ if(m_iState==0)
+ return -1;
+diff -ur old/avifile/videocodec/DirectShow/allocator.cpp new/avifile/videocodec/DirectShow/allocator.cpp
+--- old/avifile/videocodec/DirectShow/allocator.cpp 2001-05-19 23:02:40.000000000 -0400
++++ new/avifile/videocodec/DirectShow/allocator.cpp 2002-10-12 16:03:02.000000000 -0400
+@@ -23,15 +23,15 @@
+ {
+ Debug printf("MemAllocator::MemAllocator() called\n");
+ vt=new IMemAllocator_vt;
+- vt->QueryInterface = QueryInterface;
+- vt->AddRef = AddRef;
+- vt->Release = Release;
+- vt->SetProperties = SetProperties;
+- vt->GetProperties = GetProperties;
+- vt->Commit = Commit;
+- vt->Decommit = Decommit;
+- vt->GetBuffer = GetBuffer;
+- vt->ReleaseBuffer = ReleaseBuffer;
++ (void *)vt->QueryInterface = QueryInterface;
++ (void *)vt->AddRef = AddRef;
++ (void *)vt->Release = Release;
++ (void *)vt->SetProperties = SetProperties;
++ (void *)vt->GetProperties = GetProperties;
++ (void *)vt->Commit = Commit;
++ (void *)vt->Decommit = Decommit;
++ (void *)vt->GetBuffer = GetBuffer;
++ (void *)vt->ReleaseBuffer = ReleaseBuffer;
+
+ props.cBuffers=props.cbBuffer=1;
+ props.cbAlign=props.cbPrefix=0;
+diff -ur old/avifile/videocodec/DirectShow/cmediasample.cpp new/avifile/videocodec/DirectShow/cmediasample.cpp
+--- old/avifile/videocodec/DirectShow/cmediasample.cpp 2001-05-19 23:02:40.000000000 -0400
++++ new/avifile/videocodec/DirectShow/cmediasample.cpp 2002-10-12 16:01:57.000000000 -0400
+@@ -6,25 +6,25 @@
+ {
+ vt=new IMediaSample_vt;
+
+- vt->QueryInterface=QueryInterface;
+- vt->AddRef=AddRef;
+- vt->Release=Release;
+- vt->GetPointer=GetPointer ;
+- vt->GetSize=GetSize ;
+- vt->GetTime=GetTime ;
+- vt->SetTime=SetTime ;
+- vt->IsSyncPoint=IsSyncPoint ;
+- vt->SetSyncPoint=SetSyncPoint;
+- vt->IsPreroll=IsPreroll;
+- vt->SetPreroll=SetPreroll;
+- vt->GetActualDataLength=GetActualDataLength;
+- vt->SetActualDataLength=SetActualDataLength;
+- vt->GetMediaType=GetMediaType;
+- vt->SetMediaType=SetMediaType;
+- vt->IsDiscontinuity=IsDiscontinuity;
+- vt->SetDiscontinuity=SetDiscontinuity;
+- vt->GetMediaTime=GetMediaTime;
+- vt->SetMediaTime=SetMediaTime;
++ (void *)vt->QueryInterface=QueryInterface;
++ (void *)vt->AddRef=AddRef;
++ (void *)vt->Release=Release;
++ (void *)vt->GetPointer=GetPointer ;
++ (void *)vt->GetSize=GetSize ;
++ (void *)vt->GetTime=GetTime ;
++ (void *)vt->SetTime=SetTime ;
++ (void *)vt->IsSyncPoint=IsSyncPoint ;
++ (void *)vt->SetSyncPoint=SetSyncPoint;
++ (void *)vt->IsPreroll=IsPreroll;
++ (void *)vt->SetPreroll=SetPreroll;
++ (void *)vt->GetActualDataLength=GetActualDataLength;
++ (void *)vt->SetActualDataLength=SetActualDataLength;
++ (void *)vt->GetMediaType=GetMediaType;
++ (void *)vt->SetMediaType=SetMediaType;
++ (void *)vt->IsDiscontinuity=IsDiscontinuity;
++ (void *)vt->SetDiscontinuity=SetDiscontinuity;
++ (void *)vt->GetMediaTime=GetMediaTime;
++ (void *)vt->SetMediaTime=SetMediaTime;
+
+ all=allocator;
+ size=_size;
+diff -ur old/avifile/videocodec/DirectShow/inputpin.cpp new/avifile/videocodec/DirectShow/inputpin.cpp
+--- old/avifile/videocodec/DirectShow/inputpin.cpp 2001-05-19 23:02:40.000000000 -0400
++++ new/avifile/videocodec/DirectShow/inputpin.cpp 2002-10-12 16:07:13.000000000 -0400
+@@ -76,13 +76,13 @@
+ CEnumPins::CEnumPins(IPin* p, IPin* pp): pin1(p), pin2(pp), counter(0), refcount(1)
+ {
+ vt=new IEnumPins_vt;
+- vt->QueryInterface = QueryInterface;
+- vt->AddRef = AddRef;
+- vt->Release = Release;
+- vt->Next = Next;
+- vt->Skip = Skip;
+- vt->Reset = Reset;
+- vt->Clone = Clone;
++ (void *)vt->QueryInterface = QueryInterface;
++ (void *)vt->AddRef = AddRef;
++ (void *)vt->Release = Release;
++ (void *)vt->Next = Next;
++ (void *)vt->Skip = Skip;
++ (void *)vt->Reset = Reset;
++ (void *)vt->Clone = Clone;
+ }
+
+ HRESULT STDCALL CEnumPins::Next (
+@@ -148,24 +148,24 @@
+ : refcount(1), type(vh), parent(p)
+ {
+ vt=new IPin_vt;
+- vt->QueryInterface = QueryInterface;
+- vt->AddRef = AddRef;
+- vt->Release = Release;
+- vt->Connect = Connect;
+- vt->ReceiveConnection = ReceiveConnection;
+- vt->Disconnect=Disconnect;
+- vt->ConnectedTo = ConnectedTo;
+- vt->ConnectionMediaType = ConnectionMediaType;
+- vt->QueryPinInfo = QueryPinInfo;
+- vt->QueryDirection = QueryDirection;
+- vt->QueryId = QueryId;
+- vt->QueryAccept = QueryAccept;
+- vt->EnumMediaTypes = EnumMediaTypes;
+- vt->QueryInternalConnections = QueryInternalConnections;
+- vt->EndOfStream = EndOfStream;
+- vt->BeginFlush = BeginFlush;
+- vt->EndFlush = EndFlush;
+- vt->NewSegment = NewSegment;
++ (void *)vt->QueryInterface = QueryInterface;
++ (void *)vt->AddRef = AddRef;
++ (void *)vt->Release = Release;
++ (void *)vt->Connect = Connect;
++ (void *)vt->ReceiveConnection = ReceiveConnection;
++ (void *)vt->Disconnect=Disconnect;
++ (void *)vt->ConnectedTo = ConnectedTo;
++ (void *)vt->ConnectionMediaType = ConnectionMediaType;
++ (void *)vt->QueryPinInfo = QueryPinInfo;
++ (void *)vt->QueryDirection = QueryDirection;
++ (void *)vt->QueryId = QueryId;
++ (void *)vt->QueryAccept = QueryAccept;
++ (void *)vt->EnumMediaTypes = EnumMediaTypes;
++ (void *)vt->QueryInternalConnections = QueryInternalConnections;
++ (void *)vt->EndOfStream = EndOfStream;
++ (void *)vt->BeginFlush = BeginFlush;
++ (void *)vt->EndFlush = EndFlush;
++ (void *)vt->NewSegment = NewSegment;
+ }
+
+ HRESULT STDCALL CInputPin::Connect (
+@@ -322,21 +322,21 @@
+ pin=new CInputPin(this, type);
+ unused_pin=new CRemotePin(this, parent->GetPin());
+ vt=new IBaseFilter_vt;
+- vt->QueryInterface = QueryInterface;
+- vt->AddRef = AddRef;
+- vt->Release = Release;
+- vt->GetClassID = GetClassID;
+- vt->Stop = Stop;
+- vt->Pause = Pause;
+- vt->Run = Run;
+- vt->GetState = GetState;
+- vt->SetSyncSource = SetSyncSource;
+- vt->GetSyncSource = GetSyncSource;
+- vt->EnumPins = EnumPins;
+- vt->FindPin = FindPin;
+- vt->QueryFilterInfo = QueryFilterInfo;
+- vt->JoinFilterGraph = JoinFilterGraph;
+- vt->QueryVendorInfo = QueryVendorInfo;
++ (void *)vt->QueryInterface = QueryInterface;
++ (void *)vt->AddRef = AddRef;
++ (void *)vt->Release = Release;
++ (void *)vt->GetClassID = GetClassID;
++ (void *)vt->Stop = Stop;
++ (void *)vt->Pause = Pause;
++ (void *)vt->Run = Run;
++ (void *)vt->GetState = GetState;
++ (void *)vt->SetSyncSource = SetSyncSource;
++ (void *)vt->GetSyncSource = GetSyncSource;
++ (void *)vt->EnumPins = EnumPins;
++ (void *)vt->FindPin = FindPin;
++ (void *)vt->QueryFilterInfo = QueryFilterInfo;
++ (void *)vt->JoinFilterGraph = JoinFilterGraph;
++ (void *)vt->QueryVendorInfo = QueryVendorInfo;
+ }
+
+ HRESULT STDCALL CBaseFilter::GetClassID (
+@@ -454,44 +454,44 @@
+ pin=new CRemotePin2(this);
+ vt=new IBaseFilter_vt;
+ memset(vt, 0, sizeof (IBaseFilter_vt));
+- vt->QueryInterface = QueryInterface;
+- vt->AddRef = AddRef;
+- vt->Release = Release;
+- vt->GetClassID = GetClassID;
+- vt->Stop = Stop;
+- vt->Pause = Pause;
+- vt->Run = Run;
+- vt->GetState = GetState;
+- vt->SetSyncSource = SetSyncSource;
+- vt->GetSyncSource = GetSyncSource;
+- vt->EnumPins = EnumPins;
+- vt->FindPin = FindPin;
+- vt->QueryFilterInfo = QueryFilterInfo;
+- vt->JoinFilterGraph = JoinFilterGraph;
+- vt->QueryVendorInfo = QueryVendorInfo;
++ (void *)vt->QueryInterface = QueryInterface;
++ (void *)vt->AddRef = AddRef;
++ (void *)vt->Release = Release;
++ (void *)vt->GetClassID = GetClassID;
++ (void *)vt->Stop = Stop;
++ (void *)vt->Pause = Pause;
++ (void *)vt->Run = Run;
++ (void *)vt->GetState = GetState;
++ (void *)vt->SetSyncSource = SetSyncSource;
++ (void *)vt->GetSyncSource = GetSyncSource;
++ (void *)vt->EnumPins = EnumPins;
++ (void *)vt->FindPin = FindPin;
++ (void *)vt->QueryFilterInfo = QueryFilterInfo;
++ (void *)vt->JoinFilterGraph = JoinFilterGraph;
++ (void *)vt->QueryVendorInfo = QueryVendorInfo;
+ }
+ CRemotePin2::CRemotePin2(CBaseFilter2* p):parent(p),
+ refcount(1)
+ {
+ vt=new IPin_vt;
+ memset(vt, 0, sizeof (IPin_vt));
+- vt->QueryInterface = QueryInterface;
+- vt->AddRef = AddRef;
+- vt->Release = Release;
+- vt->QueryPinInfo=QueryPinInfo;
++ (void *)vt->QueryInterface = QueryInterface;
++ (void *)vt->AddRef = AddRef;
++ (void *)vt->Release = Release;
++ (void *)vt->QueryPinInfo=QueryPinInfo;
+ }
+ CRemotePin::CRemotePin(CBaseFilter* pt, IPin* rpin): parent(pt), remote_pin(rpin),
+ refcount(1)
+ {
+ vt=new IPin_vt;
+ memset(vt, 0, sizeof (IPin_vt));
+- vt->QueryInterface = QueryInterface;
+- vt->AddRef = AddRef;
+- vt->Release = Release;
+- vt->QueryDirection = QueryDirection;
+- vt->ConnectedTo = ConnectedTo;
+- vt->ConnectionMediaType = ConnectionMediaType;
+- vt->QueryPinInfo = QueryPinInfo;
++ (void *)vt->QueryInterface = QueryInterface;
++ (void *)vt->AddRef = AddRef;
++ (void *)vt->Release = Release;
++ (void *)vt->QueryDirection = QueryDirection;
++ (void *)vt->ConnectedTo = ConnectedTo;
++ (void *)vt->ConnectionMediaType = ConnectionMediaType;
++ (void *)vt->QueryPinInfo = QueryPinInfo;
+ }
+
+
+diff -ur old/avifile/videocodec/DirectShow/outputpin.cpp new/avifile/videocodec/DirectShow/outputpin.cpp
+--- old/avifile/videocodec/DirectShow/outputpin.cpp 2001-05-19 23:02:40.000000000 -0400
++++ new/avifile/videocodec/DirectShow/outputpin.cpp 2002-10-12 16:09:35.000000000 -0400
+@@ -45,13 +45,13 @@
+ {
+ this->type=type;
+ vt=new IEnumMediaTypes_vt;
+- vt->QueryInterface = QueryInterface;
+- vt->AddRef = AddRef;
+- vt->Release = Release;
+- vt->Next = Next;
+- vt->Skip = Skip;
+- vt->Reset = Reset;
+- vt->Clone = Clone;
++ (void *)vt->QueryInterface = QueryInterface;
++ (void *)vt->AddRef = AddRef;
++ (void *)vt->Release = Release;
++ (void *)vt->Next = Next;
++ (void *)vt->Skip = Skip;
++ (void *)vt->Reset = Reset;
++ (void *)vt->Clone = Clone;
+ }
+
+ HRESULT STDCALL CEnumMediaTypes::Next (
+@@ -112,35 +112,35 @@
+ COutputPin::COutputPin(const AM_MEDIA_TYPE& vh) :refcount(1), type(vh), remote(0)
+ {
+ IPin::vt=new IPin_vt;
+- IPin::vt->QueryInterface = QueryInterface;
+- IPin::vt->AddRef = AddRef;
+- IPin::vt->Release = Release;
+- IPin::vt->Connect = Connect;
+- IPin::vt->ReceiveConnection = ReceiveConnection;
+- IPin::vt->Disconnect=Disconnect;
+- IPin::vt->ConnectedTo = ConnectedTo;
+- IPin::vt->ConnectionMediaType = ConnectionMediaType;
+- IPin::vt->QueryPinInfo = QueryPinInfo;
+- IPin::vt->QueryDirection = QueryDirection;
+- IPin::vt->QueryId = QueryId;
+- IPin::vt->QueryAccept = QueryAccept;
+- IPin::vt->EnumMediaTypes = EnumMediaTypes;
+- IPin::vt->QueryInternalConnections = QueryInternalConnections;
+- IPin::vt->EndOfStream = EndOfStream;
+- IPin::vt->BeginFlush = BeginFlush;
+- IPin::vt->EndFlush = EndFlush;
+- IPin::vt->NewSegment = NewSegment;
++ (void *)IPin::vt->QueryInterface = QueryInterface;
++ (void *)IPin::vt->AddRef = AddRef;
++ (void *)IPin::vt->Release = Release;
++ (void *)IPin::vt->Connect = Connect;
++ (void *)IPin::vt->ReceiveConnection = ReceiveConnection;
++ (void *)IPin::vt->Disconnect=Disconnect;
++ (void *)IPin::vt->ConnectedTo = ConnectedTo;
++ (void *)IPin::vt->ConnectionMediaType = ConnectionMediaType;
++ (void *)IPin::vt->QueryPinInfo = QueryPinInfo;
++ (void *)IPin::vt->QueryDirection = QueryDirection;
++ (void *)IPin::vt->QueryId = QueryId;
++ (void *)IPin::vt->QueryAccept = QueryAccept;
++ (void *)IPin::vt->EnumMediaTypes = EnumMediaTypes;
++ (void *)IPin::vt->QueryInternalConnections = QueryInternalConnections;
++ (void *)IPin::vt->EndOfStream = EndOfStream;
++ (void *)IPin::vt->BeginFlush = BeginFlush;
++ (void *)IPin::vt->EndFlush = EndFlush;
++ (void *)IPin::vt->NewSegment = NewSegment;
+
+ IMemInputPin::vt=new IMemInputPin_vt;
+- IMemInputPin::vt->QueryInterface = M_QueryInterface;
+- IMemInputPin::vt->AddRef = M_AddRef;
+- IMemInputPin::vt->Release = M_Release;
+- IMemInputPin::vt->GetAllocator = GetAllocator;
+- IMemInputPin::vt->NotifyAllocator = NotifyAllocator;
+- IMemInputPin::vt->GetAllocatorRequirements = GetAllocatorRequirements;
+- IMemInputPin::vt->Receive = Receive;
+- IMemInputPin::vt->ReceiveMultiple = ReceiveMultiple;
+- IMemInputPin::vt->ReceiveCanBlock = ReceiveCanBlock;
++ (void *)IMemInputPin::vt->QueryInterface = M_QueryInterface;
++ (void *)IMemInputPin::vt->AddRef = M_AddRef;
++ (void *)IMemInputPin::vt->Release = M_Release;
++ (void *)IMemInputPin::vt->GetAllocator = GetAllocator;
++ (void *)IMemInputPin::vt->NotifyAllocator = NotifyAllocator;
++ (void *)IMemInputPin::vt->GetAllocatorRequirements = GetAllocatorRequirements;
++ (void *)IMemInputPin::vt->Receive = Receive;
++ (void *)IMemInputPin::vt->ReceiveMultiple = ReceiveMultiple;
++ (void *)IMemInputPin::vt->ReceiveCanBlock = ReceiveCanBlock;
+ }
+
+ // IPin->IUnknown methods
+diff -ur old/avifile/videocodec/VideoDecoder.cpp new/avifile/videocodec/VideoDecoder.cpp
+--- old/avifile/videocodec/VideoDecoder.cpp 2001-05-19 23:02:39.000000000 -0400
++++ new/avifile/videocodec/VideoDecoder.cpp 2002-10-12 15:50:57.000000000 -0400
+@@ -6,7 +6,7 @@
+ *********************************************************/
+
+ #include <config.h>
+-
++using namespace std;
+ #include "VideoDecoder.h"
+ #include "VideoEncoder.h"
+ #include "DirectShow/DS_VideoDecoder.h"
+@@ -44,7 +44,7 @@
+ void clear(){handle=0;}
+ };
+
+-IVideoDecoder* IVideoDecoder::Create(const BITMAPINFOHEADER& bh, int depth=24, int flip=0)
++IVideoDecoder* IVideoDecoder::Create(const BITMAPINFOHEADER& bh, int depth, int flip)
+ {
+ vector<CodecInfo>::iterator it;
+ vector<int>::iterator iv;
+@@ -327,7 +327,7 @@
+ }
+ return 0;
+ }
+-int VideoDecoder::SetDestFmt(int bits=24, int csp=0)
++int VideoDecoder::SetDestFmt(int bits, int csp)
+ {
+ if(m_iState==0)
+ return -1;
+diff -ur old/avifile/videocodec/VideoEncoder.cpp new/avifile/videocodec/VideoEncoder.cpp
+--- old/avifile/videocodec/VideoEncoder.cpp 2001-05-19 23:02:39.000000000 -0400
++++ new/avifile/videocodec/VideoEncoder.cpp 2002-10-12 15:49:47.000000000 -0400
+@@ -6,7 +6,7 @@
+ *********************************************************/
+
+ #include <config.h>
+-
++using namespace std;
+ #include "Unc.h"
+ #include "VideoEncoder.h"
+ //#include "mjpeg/mjpeg_encoder.h"
+diff -ur old/avifile/videocodec/codeckeeper.cpp new/avifile/videocodec/codeckeeper.cpp
+--- old/avifile/videocodec/codeckeeper.cpp 2001-05-19 23:02:39.000000000 -0400
++++ new/avifile/videocodec/codeckeeper.cpp 2002-10-12 18:12:36.000000000 -0400
+@@ -1,3 +1,4 @@
++using namespace std;
+ #include "VideoEncoder.h"
+ #include <dlfcn.h>
+ #include <dirent.h>
+@@ -234,20 +235,19 @@
+ }
+ }
+
+-const CodecInfo* CodecInfo::match(int codec, const CodecInfo* start=0)
++const CodecInfo* CodecInfo::match(int codec, const CodecInfo* start)
+ {
+- vector<CodecInfo>::const_iterator it;
+- if(start==0)
+- it=video_codecs.begin();
+- else
+- it=start;
++ CodecInfo *pParam = (CodecInfo *)start;
++ if (pParam == NULL) pParam = &video_codecs.front();
++ vector<CodecInfo>::const_iterator it(pParam);
++
+ vector<int>::const_iterator iv;
+ for(; it!=video_codecs.end(); it++)
+ {
+- if(start && (it==start))continue;
++ if(start && (it.base()==start))continue;
+ for(iv=it->fourcc_array.begin(); iv!=it->fourcc_array.end(); iv++)
+ if(codec==(*iv))
+- return (const CodecInfo*)it;
++ return (const CodecInfo*)it.base();
+ }
+ return 0;
+ }
+diff -ur old/avifile/videocodec/image.cpp new/avifile/videocodec/image.cpp
+--- old/avifile/videocodec/image.cpp 2001-05-19 23:02:39.000000000 -0400
++++ new/avifile/videocodec/image.cpp 2002-10-12 15:54:08.000000000 -0400
+@@ -4,6 +4,8 @@
+ #include <stdlib.h>
+ #include <except.h>
+ #define __MODULE__ "Image base class"
++
++using namespace std;
+ int CImage::imageCounter=0;
+ template<class T> inline T min(T a, T b)
+ {
+@@ -27,7 +29,7 @@
+ _width=abs(_info->biWidth);
+ _height=abs(_info->biHeight);
+ }
+-CImage::CImage(const BitmapInfo* header, unsigned char* data=0, bool copy=true)
++CImage::CImage(const BitmapInfo* header, unsigned char* data, bool copy)
+ :_info(new BitmapInfo(header)),_refcount(1)
+ {
+ fill_members();
+@@ -64,7 +66,7 @@
+ register_image();
+ }
+
+-CImage::CImage(const CImage* im, int depth=-1)
++CImage::CImage(const CImage* im, int depth)
+ :_info(new BitmapInfo(im->get_fmt())), _refcount(1)
+ {
+ if(depth!=-1)
+@@ -215,7 +217,7 @@
+ {
+ return (int(b)<<16)+(int(g)<<8)+int(r);
+ }
+-void CImage::ToYUV(int destfmt=0)
++void CImage::ToYUV(int destfmt)
+ {
+ struct yuv* src;
+ src=(struct yuv*)_data+_width*_height-1;
+Only in new: global_config
+diff -ur old/guicast/bcbutton.h new/guicast/bcbutton.h
+--- old/guicast/bcbutton.h 2001-05-19 23:02:39.000000000 -0400
++++ new/guicast/bcbutton.h 2002-10-12 18:19:50.000000000 -0400
+@@ -14,7 +14,7 @@
+ BC_Button(int x, int y, VFrame **data);
+ virtual ~BC_Button();
+
+- friend BC_GenericButton;
++ friend class BC_GenericButton;
+
+ virtual int handle_event() { return 0; };
+ int repeat_event(long repeat_id);
+diff -ur old/guicast/bcfilebox.h new/guicast/bcfilebox.h
+--- old/guicast/bcfilebox.h 2001-05-19 23:02:39.000000000 -0400
++++ new/guicast/bcfilebox.h 2002-10-12 18:34:59.000000000 -0400
+@@ -167,18 +167,18 @@
+ int h_padding = 0);
+ virtual ~BC_FileBox();
+
+- friend BC_FileBoxCancel;
+- friend BC_FileBoxListBox;
+- friend BC_FileBoxTextBox;
+- friend BC_FileBoxText;
+- friend BC_FileBoxIcons;
+- friend BC_FileBoxNewfolder;
+- friend BC_FileBoxOK;
+- friend BC_NewFolderThread;
+- friend BC_FileBoxUpdir;
+- friend BC_FileBoxFilterText;
+- friend BC_FileBoxFilterMenu;
+- friend BC_FileBoxUseThis;
++ friend class BC_FileBoxCancel;
++ friend class BC_FileBoxListBox;
++ friend class BC_FileBoxTextBox;
++ friend class BC_FileBoxText;
++ friend class BC_FileBoxIcons;
++ friend class BC_FileBoxNewfolder;
++ friend class BC_FileBoxOK;
++ friend class BC_NewFolderThread;
++ friend class BC_FileBoxUpdir;
++ friend class BC_FileBoxFilterText;
++ friend class BC_FileBoxFilterMenu;
++ friend class BC_FileBoxUseThis;
+
+ virtual int create_objects();
+ // Give the most recently selected path
+diff -ur old/guicast/bclistbox.h new/guicast/bclistbox.h
+--- old/guicast/bclistbox.h 2001-05-19 23:02:39.000000000 -0400
++++ new/guicast/bclistbox.h 2002-10-12 18:29:07.000000000 -0400
+@@ -27,7 +27,7 @@
+ BC_ListBoxItem(int x, int y, char *text, BC_Pixmap *icon, int color = BLACK);
+ virtual ~BC_ListBoxItem();
+
+- friend BC_ListBox;
++ friend class BC_ListBox;
+
+ BC_ListBoxItem& operator=(BC_ListBoxItem& item);
+ void set_text(char *new_text);
+@@ -96,7 +96,7 @@
+ int allow_drag = 0); // Allow user to drag icons around
+ virtual ~BC_ListBox();
+
+- friend BC_PopupListBox;
++ friend class BC_PopupListBox;
+
+ int initialize();
+
+diff -ur old/guicast/bcmenubar.h new/guicast/bcmenubar.h
+--- old/guicast/bcmenubar.h 2001-05-19 23:02:39.000000000 -0400
++++ new/guicast/bcmenubar.h 2002-10-12 18:35:40.000000000 -0400
+@@ -11,7 +11,7 @@
+ BC_MenuBar(int x, int y, int w);
+ virtual ~BC_MenuBar();
+
+- friend BC_Menu;
++ friend class BC_Menu;
+
+ int add_menu(BC_Menu* menu);
+
+@@ -44,7 +44,7 @@
+ BC_Menu(char *text);
+ virtual ~BC_Menu();
+
+- friend BC_MenuBar;
++ friend class BC_MenuBar;
+
+ // Called by user
+ int add_item(BC_MenuItem* menuitem);
+@@ -85,7 +85,7 @@
+ BC_MenuItem(char *text, char *hotkey_text = "", int hotkey = 0);
+ virtual ~BC_MenuItem();
+
+- friend BC_MenuPopup;
++ friend class BC_MenuPopup;
+
+ int add_submenu(BC_SubMenu *submenu);
+ int set_checked(int value);
+@@ -141,7 +141,7 @@
+ BC_MenuPopup();
+ virtual ~BC_MenuPopup();
+
+- friend BC_MenuItem;
++ friend class BC_MenuItem;
+
+ int initialize(BC_WindowBase *top_level,
+ BC_MenuBar *menu_bar,
+diff -ur old/guicast/bcpixmap.h new/guicast/bcpixmap.h
+--- old/guicast/bcpixmap.h 2001-05-19 23:02:39.000000000 -0400
++++ new/guicast/bcpixmap.h 2002-10-12 18:20:04.000000000 -0400
+@@ -19,7 +19,7 @@
+ int h);
+ ~BC_Pixmap();
+
+- friend BC_WindowBase;
++ friend class BC_WindowBase;
+
+ void resize(int w, int h);
+ void copy_area(int x, int y, int w, int h, int x2, int y2);
+diff -ur old/guicast/bcpot.h new/guicast/bcpot.h
+--- old/guicast/bcpot.h 2001-05-19 23:02:39.000000000 -0400
++++ new/guicast/bcpot.h 2002-10-12 18:36:47.000000000 -0400
+@@ -21,10 +21,10 @@
+ BC_Pot(int x, int y, VFrame **data);
+ virtual ~BC_Pot();
+
+- friend BC_FPot;
+- friend BC_IPot;
+- friend BC_QPot;
+- friend BC_PercentagePot;
++ friend class BC_FPot;
++ friend class BC_IPot;
++ friend class BC_QPot;
++ friend class BC_PercentagePot;
+
+ int initialize();
+ virtual float get_percentage() { return 0; };
+diff -ur old/guicast/bcprogressbox.h new/guicast/bcprogressbox.h
+--- old/guicast/bcprogressbox.h 2001-05-19 23:02:39.000000000 -0400
++++ new/guicast/bcprogressbox.h 2002-10-12 18:37:10.000000000 -0400
+@@ -13,7 +13,7 @@
+ BC_ProgressBox(int x, int y, char *text, long length);
+ virtual ~BC_ProgressBox();
+
+- friend BC_ProgressWindow;
++ friend class BC_ProgressWindow;
+
+ void run();
+ int update(long position); // return 1 if cancelled
+diff -ur old/guicast/bcscrollbar.h new/guicast/bcscrollbar.h
+--- old/guicast/bcscrollbar.h 2001-05-19 23:02:39.000000000 -0400
++++ new/guicast/bcscrollbar.h 2002-10-12 18:20:36.000000000 -0400
+@@ -31,7 +31,7 @@
+ long handlelength);
+ virtual ~BC_ScrollBar();
+
+- friend BC_ListBox;
++ friend class BC_ListBox;
+
+ virtual int handle_event() { return 0; };
+ int initialize();
+diff -ur old/guicast/bcslider.h new/guicast/bcslider.h
+--- old/guicast/bcslider.h 2001-05-19 23:02:39.000000000 -0400
++++ new/guicast/bcslider.h 2002-10-12 18:37:52.000000000 -0400
+@@ -21,9 +21,9 @@
+ int use_caption);
+ virtual ~BC_Slider();
+
+- friend BC_ISlider;
+- friend BC_FSlider;
+- friend BC_PercentageSlider;
++ friend class BC_ISlider;
++ friend class BC_FSlider;
++ friend class BC_PercentageSlider;
+
+ virtual int handle_event() { return 0; };
+
+@@ -115,7 +115,7 @@
+ int use_caption = 0,
+ VFrame **data = 0);
+
+- friend BC_PercentageSlider;
++ friend class BC_PercentageSlider;
+
+ int update(float value);
+ int update(int pointer_motion_range, float value, float minvalue, float maxvalue);
+diff -ur old/guicast/bctextbox.h new/guicast/bctextbox.h
+--- old/guicast/bctextbox.h 2001-05-19 23:02:39.000000000 -0400
++++ new/guicast/bctextbox.h 2002-10-12 18:33:46.000000000 -0400
+@@ -101,8 +101,8 @@
+ void update_list(ArrayList<BC_ListBoxItem*> *data);
+ void reposition_window(int x, int y);
+
+- friend BC_PopupTextBoxText;
+- friend BC_PopupTextBoxList;
++ friend class BC_PopupTextBoxText;
++ friend class BC_PopupTextBoxList;
+
+ private:
+ int x, y, text_w, list_h;
+@@ -153,8 +153,8 @@
+ int get_h();
+ void set_boundaries(long min, long max);
+
+- friend BC_TumbleTextBoxText;
+- friend BC_TumbleTextBoxTumble;
++ friend class BC_TumbleTextBoxText;
++ friend class BC_TumbleTextBoxTumble;
+
+ private:
+ int x, y, text_w;
+diff -ur old/guicast/bcwindowbase.h new/guicast/bcwindowbase.h
+--- old/guicast/bcwindowbase.h 2001-05-19 23:02:39.000000000 -0400
++++ new/guicast/bcwindowbase.h 2002-10-12 18:17:35.000000000 -0400
+@@ -62,35 +62,35 @@
+ BC_WindowBase();
+ virtual ~BC_WindowBase();
+
+- friend BC_Bitmap;
+- friend BC_Button;
+- friend BC_GenericButton;
+- friend BC_Capture;
+- friend BC_Clipboard;
+- friend BC_DragWindow;
+- friend BC_FileBox;
+- friend BC_ListBox;
+- friend BC_Menu;
+- friend BC_MenuBar;
+- friend BC_MenuItem;
+- friend BC_MenuPopup;
+- friend BC_Meter;
+- friend BC_Pan;
+- friend BC_Pixmap;
+- friend BC_Popup;
+- friend BC_PopupMenu;
+- friend BC_Pot;
+- friend BC_ProgressBar;
+- friend BC_Repeater;
+- friend BC_Resources;
+- friend BC_ScrollBar;
+- friend BC_Slider;
+- friend BC_SubWindow;
+- friend BC_TextBox;
+- friend BC_Title;
+- friend BC_Toggle;
+- friend BC_Tumbler;
+- friend BC_Window;
++ friend class BC_Bitmap;
++ friend class BC_Button;
++ friend class BC_GenericButton;
++ friend class BC_Capture;
++ friend class BC_Clipboard;
++ friend class BC_DragWindow;
++ friend class BC_FileBox;
++ friend class BC_ListBox;
++ friend class BC_Menu;
++ friend class BC_MenuBar;
++ friend class BC_MenuItem;
++ friend class BC_MenuPopup;
++ friend class BC_Meter;
++ friend class BC_Pan;
++ friend class BC_Pixmap;
++ friend class BC_Popup;
++ friend class BC_PopupMenu;
++ friend class BC_Pot;
++ friend class BC_ProgressBar;
++ friend class BC_Repeater;
++ friend class BC_Resources;
++ friend class BC_ScrollBar;
++ friend class BC_Slider;
++ friend class BC_SubWindow;
++ friend class BC_TextBox;
++ friend class BC_Title;
++ friend class BC_Toggle;
++ friend class BC_Tumbler;
++ friend class BC_Window;
+
+ // Main loop
+ int run_window();
+Only in new/guicast: i686
+diff -ur old/guicast/vframe.h new/guicast/vframe.h
+--- old/guicast/vframe.h 2001-05-19 23:02:39.000000000 -0400
++++ new/guicast/vframe.h 2002-10-12 18:18:18.000000000 -0400
+@@ -32,7 +32,7 @@
+ VFrame();
+ ~VFrame();
+
+- friend PngReadFunction;
++ friend class PngReadFunction;
+
+ // Reallocate a frame without deleting the class
+ int reallocate(unsigned char *data,
+Only in new/libmpeg3: i686
+Only in new/libsndfile/i686: libsndfile.a
+Only in new/quicktime: i686
+diff -ur old/xmovie/fileavi.C new/xmovie/fileavi.C
+--- old/xmovie/fileavi.C 2001-05-19 23:02:37.000000000 -0400
++++ new/xmovie/fileavi.C 2002-10-12 18:39:16.000000000 -0400
+@@ -1,4 +1,5 @@
+ #ifdef USE_AVI
++using namespace std;
+ #include "asset.h"
+ #include "avifile.h"
+ #include "clip.h"
+Only in new/xmovie: i686
diff --git a/media-video/xmovie/xmovie-1.8-r4.ebuild b/media-video/xmovie/xmovie-1.8-r4.ebuild
new file mode 100644
index 000000000000..0c2be49d2c32
--- /dev/null
+++ b/media-video/xmovie/xmovie-1.8-r4.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2002 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-video/xmovie/xmovie-1.8-r4.ebuild,v 1.1 2002/10/21 08:56:21 mkennedy Exp $
+
+S=${WORKDIR}/${P}
+DESCRIPTION="A Player for MPEG and Quicktime movies"
+SRC_URI="http://heroinewarrior.com/${P}.tar.gz"
+HOMEPAGE="http://heroines.sourceforge.net/"
+
+RDEPEND="virtual/x11
+ =dev-libs/glib-1.2*
+ >=media-libs/libpng-1.2.1"
+
+DEPEND="${RDEPEND}
+ >=dev-lang/nasm-0.98"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="x86"
+
+src_unpack() {
+ unpack ${A}
+ # gcc3.2 fix (from bug #7227)
+ cd ${S} && patch -p1 <${FILESDIR}/xmovie-gcc3-gentoo.patch || die
+}
+
+src_compile() {
+ local myconf
+ use mmx || myconf="${myconf} --no-mmx"
+
+ ./configure ${myconf} || die
+ emake || die
+
+}
+
+src_install () {
+
+ into /usr
+ dobin xmovie/`uname -m`/xmovie
+ dodoc README
+ dohtml docs/*.html
+
+}