mirror of
https://github.com/classilla/tenfourfox.git
synced 2026-04-24 08:18:31 +00:00
#500: M1458270 M1452576 M1459162 M1450688 M1456975 M1459693 M1464784
This commit is contained in:
+16
-2
@@ -45,6 +45,7 @@ using mozilla::MutexAutoLock;
|
||||
|
||||
nsTArray<GfxDriverInfo>* GfxInfoBase::mDriverInfo;
|
||||
bool GfxInfoBase::mDriverInfoObserverInitialized;
|
||||
bool GfxInfoBase::mShutdownOccurred;
|
||||
|
||||
// Observes for shutdown so that the child GfxDriverInfo list is freed.
|
||||
class ShutdownObserver : public nsIObserver
|
||||
@@ -64,11 +65,17 @@ public:
|
||||
delete GfxInfoBase::mDriverInfo;
|
||||
GfxInfoBase::mDriverInfo = nullptr;
|
||||
|
||||
for (uint32_t i = 0; i < DeviceFamilyMax; i++)
|
||||
for (uint32_t i = 0; i < DeviceFamilyMax; i++) {
|
||||
delete GfxDriverInfo::mDeviceFamilies[i];
|
||||
GfxDriverInfo::mDeviceFamilies[i] = nullptr;
|
||||
}
|
||||
|
||||
for (uint32_t i = 0; i < DeviceVendorMax; i++)
|
||||
for (uint32_t i = 0; i < DeviceVendorMax; i++) {
|
||||
delete GfxDriverInfo::mDeviceVendors[i];
|
||||
GfxDriverInfo::mDeviceVendors[i] = nullptr;
|
||||
}
|
||||
|
||||
GfxInfoBase::mShutdownOccurred = true;
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
@@ -911,6 +918,13 @@ GfxInfoBase::GetFeatureStatusImpl(int32_t aFeature,
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
if (mShutdownOccurred) {
|
||||
// This is futile; we've already commenced shutdown and our blocklists have
|
||||
// been deleted. We may want to look into resurrecting the blocklist instead
|
||||
// but for now, just don't even go there.
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
// Shortcut this logic for TenFourFox: we don't support *anything*
|
||||
// right now.
|
||||
*aStatus = nsIGfxInfo::FEATURE_BLOCKED_OS_VERSION;
|
||||
|
||||
Reference in New Issue
Block a user