Fixed Display Driver change impacts

NVIDIA just updated their device driver, and
as part of those changes, it changed the name
that was reported by the NVIDIA driver. This
impacts our profile matching, as we previously
used the name that it returned in the fingerprint
we store about connected displays. This change
removes that name so that it will correctly match
on the old driver or the new driver.

NOTE: This requires recreating the profiles though!
This commit is contained in:
Terry MacDonald 2021-04-04 18:59:38 +12:00
parent d410da935b
commit 40dd147388
2 changed files with 6 additions and 7 deletions

View File

@ -507,10 +507,15 @@ namespace DisplayMagicianShared
{ {
// Check each display in this profile and make sure it's currently available // Check each display in this profile and make sure it's currently available
int validDisplayCount = 0; int validDisplayCount = 0;
//validDisplayCount = (from connectedDisplay in ProfileRepository.ConnectedDisplayIdentifiers select connectedDisplay == profileDisplayIdentifier).Count();
foreach (string profileDisplayIdentifier in ProfileDisplayIdentifiers) foreach (string profileDisplayIdentifier in ProfileDisplayIdentifiers)
{ {
// If this profile has a display that isn't currently available then we need to say it's a no! // If this profile has a display that isn't currently available then we need to say it's a no!
if (ProfileRepository.ConnectedDisplayIdentifiers.Contains(profileDisplayIdentifier)) //if (ProfileRepository.ConnectedDisplayIdentifiers.Contains(profileDisplayIdentifier))
//validDisplayCount = (from connectedDisplay in ProfileRepository.ConnectedDisplayIdentifiers select connectedDisplay == profileDisplayIdentifier).Count();
if (ProfileRepository.ConnectedDisplayIdentifiers.Any(s => profileDisplayIdentifier.Equals(s)))
validDisplayCount++; validDisplayCount++;
} }
if (validDisplayCount == ProfileDisplayIdentifiers.Count) if (validDisplayCount == ProfileDisplayIdentifiers.Count)

View File

@ -762,8 +762,6 @@ namespace DisplayMagicianShared
// Get the list of connected devices // Get the list of connected devices
ConnectedDisplayIdentifiers = GenerateAllAvailableDisplayIdentifiers(); ConnectedDisplayIdentifiers = GenerateAllAvailableDisplayIdentifiers();
if (_profilesLoaded && _allProfiles.Count > 0) if (_profilesLoaded && _allProfiles.Count > 0)
{ {
@ -810,8 +808,6 @@ namespace DisplayMagicianShared
// Create an array of all the important display info we need to record // Create an array of all the important display info we need to record
string[] displayInfo = { string[] displayInfo = {
"NVIDIA", "NVIDIA",
myPhysicalGPU.CorrespondingLogicalGPU.ToString(),
myPhysicalGPU.ToString(),
myPhysicalGPU.ArchitectInformation.ShortName.ToString(), myPhysicalGPU.ArchitectInformation.ShortName.ToString(),
myPhysicalGPU.ArchitectInformation.Revision.ToString(), myPhysicalGPU.ArchitectInformation.Revision.ToString(),
myPhysicalGPU.Board.ToString(), myPhysicalGPU.Board.ToString(),
@ -958,8 +954,6 @@ namespace DisplayMagicianShared
// Create an array of all the important display info we need to record // Create an array of all the important display info we need to record
string[] displayInfo = { string[] displayInfo = {
"NVIDIA", "NVIDIA",
myPhysicalGPU.CorrespondingLogicalGPU.ToString(),
myPhysicalGPU.ToString(),
myPhysicalGPU.ArchitectInformation.ShortName.ToString(), myPhysicalGPU.ArchitectInformation.ShortName.ToString(),
myPhysicalGPU.ArchitectInformation.Revision.ToString(), myPhysicalGPU.ArchitectInformation.Revision.ToString(),
myPhysicalGPU.Board.ToString(), myPhysicalGPU.Board.ToString(),