Rename ALCdevice_struct and ALCcontext_struct

A (possibly contentious?) change in the public headers. Those names were never
part of any specification, and I don't know why the struct names differed from
the actual type name. But with C++, which takes the original struct declaration
as the original name, it was affecting the type's internal symbols.

This shouldn't affect user code since ALCdevice_struct and ALCcontext_struct
were never part of the spec. If issues arise from this change, it should be
reported.
This commit is contained in:
Chris Robinson 2019-01-01 18:13:33 -08:00
parent 1630a33567
commit 399dfca1e3
4 changed files with 18 additions and 20 deletions

View File

@ -2189,17 +2189,16 @@ static ALCenum UpdateDeviceParams(ALCdevice *device, const ALCint *attrList)
}
ALCdevice_struct::ALCdevice_struct(DeviceType type)
: Type{type}
ALCdevice::ALCdevice(DeviceType type) : Type{type}
{
}
/* ALCdevice_struct::~ALCdevice_struct
/* ALCdevice::~ALCdevice
*
* Frees the device structure, and destroys any objects the app failed to
* delete. Called once there's no more references on the device.
*/
ALCdevice_struct::~ALCdevice_struct()
ALCdevice::~ALCdevice()
{
TRACE("%p\n", this);
@ -2311,8 +2310,7 @@ static DeviceRef VerifyDevice(ALCdevice *device)
}
ALCcontext_struct::ALCcontext_struct(ALCdevice *device)
: Device{device}
ALCcontext::ALCcontext(ALCdevice *device) : Device{device}
{
}
@ -2373,12 +2371,12 @@ static ALvoid InitContext(ALCcontext *Context)
}
/* ALCcontext_struct::~ALCcontext_struct()
/* ALCcontext::~ALCcontext()
*
* Cleans up the context, and destroys any remaining objects the app failed to
* delete. Called once there's no more references on the context.
*/
ALCcontext_struct::~ALCcontext_struct()
ALCcontext::~ALCcontext()
{
TRACE("%p\n", this);

View File

@ -61,7 +61,7 @@ struct SourceSubList {
*/
using ALeffectslotPtr = std::unique_ptr<ALeffectslot>;
struct ALCcontext_struct {
struct ALCcontext {
RefCount ref{1u};
al::vector<SourceSubList> SourceList;
@ -129,10 +129,10 @@ struct ALCcontext_struct {
ALlistener Listener{};
ALCcontext_struct(ALCdevice *device);
ALCcontext_struct(const ALCcontext_struct&) = delete;
ALCcontext_struct& operator=(const ALCcontext_struct&) = delete;
~ALCcontext_struct();
ALCcontext(ALCdevice *device);
ALCcontext(const ALCcontext&) = delete;
ALCcontext& operator=(const ALCcontext&) = delete;
~ALCcontext();
DEF_NEWDEL(ALCcontext)
};

View File

@ -663,7 +663,7 @@ struct RealMixParams {
using POSTPROCESS = void(*)(ALCdevice *device, ALsizei SamplesToDo);
struct ALCdevice_struct {
struct ALCdevice {
RefCount ref{1u};
std::atomic<bool> Connected{true};
@ -795,10 +795,10 @@ struct ALCdevice_struct {
std::atomic<ALCdevice*> next{nullptr};
ALCdevice_struct(DeviceType type);
ALCdevice_struct(const ALCdevice_struct&) = delete;
ALCdevice_struct& operator=(const ALCdevice_struct&) = delete;
~ALCdevice_struct();
ALCdevice(DeviceType type);
ALCdevice(const ALCdevice&) = delete;
ALCdevice& operator=(const ALCdevice&) = delete;
~ALCdevice();
ALsizei bytesFromFmt() const noexcept { return BytesFromDevFmt(FmtType); }
ALsizei channelsFromFmt() const noexcept { return ChannelsFromDevFmt(FmtChans, mAmbiOrder); }

View File

@ -31,9 +31,9 @@ extern "C" {
#define ALC_VERSION_0_1 1
/** Opaque device handle */
typedef struct ALCdevice_struct ALCdevice;
typedef struct ALCdevice ALCdevice;
/** Opaque context handle */
typedef struct ALCcontext_struct ALCcontext;
typedef struct ALCcontext ALCcontext;
/** 8-bit boolean */
typedef char ALCboolean;