From b7648f307bcfa079da5095efa8a16420f4c2d9a7 Mon Sep 17 00:00:00 2001 From: VioletGiraffe Date: Mon, 17 Mar 2014 22:58:12 +0200 Subject: [PATCH] Fixed #74 --- CPPCheckPlugin/CPPCheckPluginPackage.cs | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/CPPCheckPlugin/CPPCheckPluginPackage.cs b/CPPCheckPlugin/CPPCheckPluginPackage.cs index 77d14d3..8b57902 100644 --- a/CPPCheckPlugin/CPPCheckPluginPackage.cs +++ b/CPPCheckPlugin/CPPCheckPluginPackage.cs @@ -219,7 +219,16 @@ private void documentSaved(Document document) { return; } - var currentConfig = document.ProjectItem.ConfigurationManager.ActiveConfiguration; + + Configuration currentConfig = null; + try { currentConfig = document.ProjectItem.ConfigurationManager.ActiveConfiguration; } + catch (Exception) { currentConfig = null; } + if (currentConfig == null) + { + MessageBox.Show("Cannot perform check - no valid configuration selected", "Cppcheck error"); + return; + } + SourceFile sourceForAnalysis = createSourceFile(document.FullName, currentConfig, project); if (sourceForAnalysis == null) return; @@ -266,7 +275,13 @@ private void checkCurrentProject() System.Windows.MessageBox.Show("Only C++ projects can be checked."); return; } - currentConfig = ((Project)o).ConfigurationManager.ActiveConfiguration; + try { currentConfig = ((Project)o).ConfigurationManager.ActiveConfiguration; } + catch (Exception) { currentConfig = null; } + if (currentConfig == null) + { + MessageBox.Show("Cannot perform check - no valid configuration selected", "Cppcheck error"); + return; + } dynamic projectFiles = project.Files; foreach (dynamic file in projectFiles) {