mirror of
https://github.com/love2d/love.git
synced 2026-08-17 11:00:31 +02:00
Reduced the number of explicit retain/release method calls on love objects. Less chance of bugs!
This commit is contained in:
@@ -37,7 +37,6 @@ Decoder::Decoder(Data *data, const std::string &ext, int bufferSize)
|
||||
, buffer(0)
|
||||
, eof(false)
|
||||
{
|
||||
data->retain();
|
||||
buffer = new char[bufferSize];
|
||||
}
|
||||
|
||||
@@ -45,8 +44,6 @@ Decoder::~Decoder()
|
||||
{
|
||||
if (buffer != 0)
|
||||
delete [](char *) buffer;
|
||||
if (data != 0)
|
||||
data->release();
|
||||
}
|
||||
|
||||
void *Decoder::getBuffer() const
|
||||
|
||||
@@ -53,7 +53,7 @@ protected:
|
||||
|
||||
// The encoded data. This should be replaced with buffered file
|
||||
// reads in the future.
|
||||
Data *data;
|
||||
Object::StrongRef<Data> data;
|
||||
|
||||
// File extension.
|
||||
std::string ext;
|
||||
|
||||
@@ -69,7 +69,7 @@ bool FLACDecoder::accepts(const std::string &ext)
|
||||
|
||||
love::sound::Decoder *FLACDecoder::clone()
|
||||
{
|
||||
return new FLACDecoder(data, ext, bufferSize, sampleRate);
|
||||
return new FLACDecoder(data.get(), ext, bufferSize, sampleRate);
|
||||
}
|
||||
|
||||
int FLACDecoder::decode()
|
||||
|
||||
@@ -86,7 +86,7 @@ bool GmeDecoder::accepts(const std::string &ext)
|
||||
|
||||
love::sound::Decoder *GmeDecoder::clone()
|
||||
{
|
||||
return new GmeDecoder(data, ext, bufferSize);
|
||||
return new GmeDecoder(data.get(), ext, bufferSize);
|
||||
}
|
||||
|
||||
int GmeDecoder::decode()
|
||||
|
||||
@@ -98,7 +98,7 @@ bool ModPlugDecoder::accepts(const std::string &ext)
|
||||
|
||||
love::sound::Decoder *ModPlugDecoder::clone()
|
||||
{
|
||||
return new ModPlugDecoder(data, ext, bufferSize);
|
||||
return new ModPlugDecoder(data.get(), ext, bufferSize);
|
||||
}
|
||||
|
||||
int ModPlugDecoder::decode()
|
||||
|
||||
@@ -96,7 +96,7 @@ void Mpg123Decoder::quit()
|
||||
|
||||
love::sound::Decoder *Mpg123Decoder::clone()
|
||||
{
|
||||
return new Mpg123Decoder(data, ext, bufferSize);
|
||||
return new Mpg123Decoder(data.get(), ext, bufferSize);
|
||||
}
|
||||
|
||||
int Mpg123Decoder::decode()
|
||||
|
||||
@@ -179,7 +179,7 @@ bool VorbisDecoder::accepts(const std::string &ext)
|
||||
|
||||
love::sound::Decoder *VorbisDecoder::clone()
|
||||
{
|
||||
return new VorbisDecoder(data, ext, bufferSize);
|
||||
return new VorbisDecoder(data.get(), ext, bufferSize);
|
||||
}
|
||||
|
||||
int VorbisDecoder::decode()
|
||||
|
||||
@@ -117,7 +117,7 @@ bool WaveDecoder::accepts(const std::string &ext)
|
||||
|
||||
love::sound::Decoder *WaveDecoder::clone()
|
||||
{
|
||||
return new WaveDecoder(data, ext, bufferSize);
|
||||
return new WaveDecoder(data.get(), ext, bufferSize);
|
||||
}
|
||||
|
||||
int WaveDecoder::decode()
|
||||
|
||||
Reference in New Issue
Block a user