Skip to content

Commit

Permalink
Try to fix hsG3DDeviceSelector enumerator issues
Browse files Browse the repository at this point in the history
  • Loading branch information
dpogue committed Sep 9, 2023
1 parent 163831b commit 071247d
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 4 deletions.
7 changes: 5 additions & 2 deletions Sources/Plasma/PubUtilLib/plPipeline/hsG3DDeviceSelector.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,10 @@ hsG3DDeviceModeRecord& hsG3DDeviceModeRecord::operator=(const hsG3DDeviceModeRec
///////////////////////////////////////////////////
///////////////////////////////////////////////////

std::list<hsG3DDeviceSelector::DeviceEnumerator> hsG3DDeviceSelector::sEnumerators;
std::list<hsG3DDeviceSelector::DeviceEnumerator>& hsG3DDeviceSelector::Enumerators() {
static std::list<hsG3DDeviceSelector::DeviceEnumerator> sEnumerators;
return sEnumerators;
}

hsG3DDeviceSelector::~hsG3DDeviceSelector()
{
Expand Down Expand Up @@ -354,7 +357,7 @@ void hsG3DDeviceSelector::Enumerate(hsWindowHndl winRef)
ITryDirect3DTnL(winRef);
#endif

for (const auto& enumerator : sEnumerators) {
for (const auto& enumerator : Enumerators()) {
enumerator(fRecords);
}
}
Expand Down
4 changes: 2 additions & 2 deletions Sources/Plasma/PubUtilLib/plPipeline/hsG3DDeviceSelector.h
Original file line number Diff line number Diff line change
Expand Up @@ -322,7 +322,7 @@ class hsG3DDeviceSelector : public hsRefCnt
typedef std::function<void(std::vector<hsG3DDeviceRecord>&)> DeviceEnumerator;

protected:
static std::list<DeviceEnumerator> sEnumerators;
static std::list<DeviceEnumerator>& Enumerators();

std::vector<hsG3DDeviceRecord> fRecords;
char fErrorString[ 128 ];
Expand All @@ -344,7 +344,7 @@ class hsG3DDeviceSelector : public hsRefCnt
void ISetFudgeFactors( uint8_t chipsetID, hsG3DDeviceRecord &record );

public:
static void AddDeviceEnumerator(const DeviceEnumerator& de) { sEnumerators.emplace_back(de); }
static void AddDeviceEnumerator(const DeviceEnumerator& de) { Enumerators().emplace_back(de); }

hsG3DDeviceSelector() { }
virtual ~hsG3DDeviceSelector();
Expand Down

0 comments on commit 071247d

Please sign in to comment.