mirror of
https://github.com/taglib/taglib.git
synced 2025-05-27 21:20:26 -04:00
Make RefCounter compile on OS X with the 10.4 SDK
The 10.4 SDK defines OSAtomic functions as int32_t, while 10.5 and newer SDKs define them as volatile int32_t. This caused a compilation error when compiling against the 10.4 SDK. I'd have prefered a preprocessor-based solution, but I couldn't find any macro that says the SDK version, so I copied this cast solution from Apple's WebKit. I assume then know what they are doing if they have to workaround their own API. :)
This commit is contained in:
parent
efeccbf726
commit
dc062a0844
@ -100,8 +100,8 @@ namespace TagLib {
|
||||
RefCounter() : refCount(1) {}
|
||||
|
||||
#ifdef TAGLIB_ATOMIC_MAC
|
||||
void ref() { OSAtomicIncrement32Barrier(&refCount); }
|
||||
bool deref() { return ! OSAtomicDecrement32Barrier(&refCount); }
|
||||
void ref() { OSAtomicIncrement32Barrier(const_cast<int32_t*>(&refCount)); }
|
||||
bool deref() { return ! OSAtomicDecrement32Barrier(const_cast<int32_t*>(&refCount)); }
|
||||
int32_t count() { return refCount; }
|
||||
private:
|
||||
volatile int32_t refCount;
|
||||
|
Loading…
Reference in New Issue
Block a user