WinGui: It seems some systems don't allow access to the System management info withou...
authorsr55 <sr55.hb@outlook.com>
Tue, 25 Nov 2014 19:28:36 +0000 (19:28 +0000)
committersr55 <sr55.hb@outlook.com>
Tue, 25 Nov 2014 19:28:36 +0000 (19:28 +0000)
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6556 b64f7644-9d1e-0410-96f1-a4d463321fa5

win/CS/HandBrake.ApplicationServices/Utilities/GeneralUtilities.cs
win/CS/HandBrake.ApplicationServices/Utilities/SystemInfo.cs

index 301145975b062a11ad7072ee34336a1bea92ff89..19c465fb06cf69a81249bcbd66b6744f7e1c29d5 100644 (file)
@@ -123,6 +123,11 @@ namespace HandBrake.ApplicationServices.Utilities
                 gpuBuilder.AppendLine(string.Format("  {0}", item));\r
             }\r
 \r
+            if (string.IsNullOrEmpty(gpuBuilder.ToString().Trim()))\r
+            {\r
+                gpuBuilder.Append("GPU Information is unavailable");\r
+            }\r
+\r
             logHeader.AppendLine(String.Format("HandBrake {0} - {1}", VersionHelper.GetVersion(), VersionHelper.GetPlatformBitnessVersion()));\r
             logHeader.AppendLine(String.Format("OS: {0} - {1}", Environment.OSVersion, Environment.Is64BitOperatingSystem ? "64bit" : "32bit"));\r
             logHeader.AppendLine(String.Format("CPU: {0}", SystemInfo.GetCpuCount));\r
index 2ea664f1a3c84110726a083c4bb4b39b76a61b5b..f7e0ae0ed06fbeea80e2e9a08ce4c6566ca5b8e8 100644 (file)
@@ -127,27 +127,35 @@ namespace HandBrake.ApplicationServices.Utilities
             get\r
             {\r
                 List<string> gpuInfo = new List<string>();\r
-                ManagementObjectSearcher searcher = new ManagementObjectSearcher(\r
-                "select * from " + "Win32_VideoController");\r
 \r
-                foreach (ManagementObject share in searcher.Get())\r
+                try\r
                 {\r
-                    string gpu = string.Empty, version = string.Empty;\r
+                    ManagementObjectSearcher searcher =\r
+                        new ManagementObjectSearcher("select * from " + "Win32_VideoController");\r
 \r
-                    foreach (PropertyData PC in share.Properties)\r
+                    foreach (ManagementObject share in searcher.Get())\r
                     {\r
-                        if (!string.IsNullOrEmpty(PC.Name) && PC.Value != null)\r
+                        string gpu = string.Empty, version = string.Empty;\r
+\r
+                        foreach (PropertyData PC in share.Properties)\r
                         {\r
-                            if (PC.Name.Equals("DriverVersion")) version = PC.Value.ToString();\r
-                            if (PC.Name.Equals("Name")) gpu = PC.Value.ToString();\r
+                            if (!string.IsNullOrEmpty(PC.Name) && PC.Value != null)\r
+                            {\r
+                                if (PC.Name.Equals("DriverVersion")) version = PC.Value.ToString();\r
+                                if (PC.Name.Equals("Name")) gpu = PC.Value.ToString();\r
+                            }\r
                         }\r
-                    }\r
 \r
-                    if (!string.IsNullOrEmpty(gpu) && !string.IsNullOrEmpty(version))\r
-                    {\r
-                        gpuInfo.Add(string.Format("{0} - {1}", gpu, version));\r
+                        if (!string.IsNullOrEmpty(gpu) && !string.IsNullOrEmpty(version))\r
+                        {\r
+                            gpuInfo.Add(string.Format("{0} - {1}", gpu, version));\r
+                        }\r
                     }\r
                 }\r
+                catch (Exception)\r
+                {\r
+                    // Do Nothing. We couldn't get GPU Information.\r
+                }\r
 \r
                 return gpuInfo;\r
             }\r