Visual Lint 1.5 was released in November 2006, superseding Visual Lint 1.0. As a minor update, it also accepts Visual Lint 1.0 licences.
The following changes were included:
Added support for Visual Studio 6.0.
Added support for Visual Studio 2005 "Solution Folders".
Added support for Embedded Visual C++ 4.0. [220.127.116.11]
Added limited support (VS2002/VS2003) for Intel C++ compiler 9.1 (.icproj) projects. [18.104.22.168]
Added support for Visual Studio 2008. [22.214.171.124]
Added support for additional includes within inherited property sheets (.vsprops files). [VS2002/2003/2005/2008][126.96.36.199]
Added documentation for PC-lint message 834 ("Operator 'Name' followed by operator 'Name' is confusing. Use parentheses") using a message definition from the "Bug of the Month" at http://www.gimpel.com/html/bugs/bug834.htm.
Added an "Internal Errors" category to differentiate Internal PC-lint Errors (messages 200-299 and 1200-1299). If the analysis results parser cannot parse a message, it will also use this category. [188.8.131.52]
Added PC-lint 8.00v error 1085 (Invalid definition of 'String') to the message database. [184.108.40.206]
PC-lint project indirect files can now be generated directly by Visual Lint when hosted under Visual Studio 6.0 (this option was previously only available in VS2002 onwards). Any shell environment variables found within the files or additional include folders sections of a Visual Studio 6.0 project (.dsp) file will now be expanded correctly. [220.127.116.11]
Added the ability to perform analysis with only a std.lnt file (i.e. without an options.lnt file) at customer request. [18.104.22.168]
Corrected the text in the PC-lint message database for message 960 (MISRA Rule Violation). [22.214.171.124]
If runtime type information (RTTI) is enabled in a project configuration (/GR compiler switch), the _CPPRTTI macro is now automatically defined in the corresponding PC-lint project indirect file. [126.96.36.199]
If native wchar_t types are enabled in a project configuration (/ZC:wchar_t compiler switch), the _NATIVE_WCHAR_T_DEFINED macro is now automatically defined in the corresponding PC-lint project indirect file. [188.8.131.52]
Added Visual Lint Professional Edition. This offers features including whole project analysis, inclusion/exclusion of selected projects, customisable HTML report stylesheets, custom categories and per solution/project analysis configurations. As a result, trial installations now default to the Professional Edition rather than Standard Edition.
The Analysis Results Display and Message Lookup Display are now available in unregistered ("Free Edition") installations.
Removed non-applicable pages from the Options dialog for unregistered (trial expired) installations.
The installer and all binaries are now code signed.
Whilst uninstallation is in progress, the prompt asking whether commands should be removed now shows the Visual Lint version being uninstalled. This is necessary as upgrade installs (v1.0 => v1.5) will first remove the installed version, and the prompt to remove commands was therefore unexpected and confusing. Hopefully the inclusion of the version in the caption should alleviate any confusion in the future.
Updated the Getting Started Guide.
Minor updates to the watermark images, readme and licence files within the installer.
Integrated a new installer built using InstallAware Studio (we previously used the installation builder supplied with Visual Studio, but we have outgrown its capabilities). This installer also addresses compatibility issues with Windows Vista. [184.108.40.206]
The "Readme" page now preceeds the "Licence Agreement" page in the installer (they were the opposite way around previously). [220.127.116.11]
Added update checking, via an Installaware scheduled task. Note that the product update check is scheduled from a checkbox on the completion page rather than the InstallAware default of on the next login. Start menu entries for manually defining the update schedule and manually checking for updates have also been added. [18.104.22.168]
Removed the unnecessary balloon tip shown when updates are scheduled in the installer. [22.214.171.124]
Update checks initiated from the start menu are no longer silent. [126.96.36.199]
Corrected the icons installed in the start menu for update checks and scheduling. [188.8.131.52]
Added an option to allow the usage of the PC-lint options.lnt file to be specified as either defined in std.lnt or explicitly specified on the command line.
Added basic support for multiple platforms. When defining an analysis configuration the platform to configure can now be selected, and the corresponding includes will be used. If a solution using a different platform is subsequently loaded, the std.lnt file will be updated to reflect the correct include folder configuration for that platform.
Visual C++ project files with a UseofMfc property with value "2" (dynamically link to MFC) parsed by Visual Lint now force _AFX_DLL to be defined in the project specific .lnt file. Note that this change only takes effect if the option to override the default generation of project.lnt files by PC-lint is active.
The "Next" button in the Configuration Wizard "Select Files" page is now enabled by default, and balloon tips are used to indicate that a pathname must be specified before proceeding.
Visual Lint now checks the include configuration in std.lnt against that defined in the IDE when a workspace is loaded under Visual Studio 6.0 or Embedded Visual C++ 4.0 (comparable checks for later IDEs are already present). [184.108.40.206]
When the Configuration Wizard is used to create new PC-lint indirect files appropriate default filenames are now supplied. [220.127.116.11]
If a PC-lint std.lnt file is generated by Visual Lint, subsequent updates (either via the Configuration Wizard or when the include configuration changes) will identify the version of Visual Lint which performed the update. [18.104.22.168]
When the "excluded from build" property of a file is changed (VS2002 onwards) the new state is now written to the solution analysis configuration (.vloptions) file. This ensures that the status is persisted when the solution is reloaded. [22.214.171.124]
If the active platform is a non-C++ platform such as "Any CPU" the Configuration Wizard will now ignore it when determining which platforms to display in the "Includes" page. [126.96.36.199]
Files which are excluded from background analysis are longer automatically re-analysed when saved. [188.8.131.52]
The default value of the "Auto-show the Analysis Results Display when analysis results are available" option is now off, as the Visual Studio EnvDTE::Window::Activate() automation interface command used to implement this functionality can cause problems with the Visual Studio editor. [184.108.40.206]
Added support for whole project (i.e. non-unit checkout) background analysis. This feature is activated by a new option in the "Analysis" options page. To support this, a new file status of "Pending" has been added to represent files which are part of an active project analysis task but have not yet started analysis [Visual Lint Professional Edition].
The user can now select which projects in a solution should be included in Background Analysis, via either the Analysis Status Display or (in VS2002 onwards) a context menu command in the Solution Explorer. Note that this feature is available in Visual Lint Professional Edition only.
Added support for "in progress" display of analysis results, for both manual and background analysis of files.
Added support for solution and project specific analysis configurations [Visual Lint Professional Edition].
Added support for custom issue categories. For each custom category, the visible properties and the issues assigned to it can be defined, exported or imported [Visual Lint Professional Edition].
Added an option to write project indirect (.lnt) files directly, for compatibility with non-Win32 projects (for which VCCLCompiler interfaces cannot be retrieved under Visual Studio 2005).
When the user changes a project file, Visual Lint will now regenerate the corresponding indirect (.lnt) file the next time the analysis queue is regenerated.
When a header file is saved, the corresponding implementation file is now marked as stale.
When a project indirect (.lnt) file is written directly by Visual Lint, it now also includes details of the source files within the project (this change is required to support whole-project analysis).
When the analysis queue is regenerated, stale files are queued in descending order of issue count. This ensures that files most likely to be affected by subsequent code changes are re-analysed first.
Files which are excluded from the build under VS2002 onwards are now automatically excluded from analysis. Note that this feature is currently available when hosted under Visual Studio 2002, 2003 or 2005, but not Visual Studio 6.0.
Any unnecessary relative paths (e.g. "c:\Folder1\..\Folder2") are now removed from additional include folder paths before writing them to project indirect (.lnt) files (such paths can occur when environment vars are expanded, and confuse PC-lint).
If a PC-lint issue whose message number is not recognised is found, it is now categorised as an error.
Modified the PC-lint project analysis results parser for compatibility with PC-lint 8.00q generated analysis results (which are in a slightly different format from those generated by PC-lint 8.00u).
Raw analysis results files are now marked with status "Complete" if they contain one or more fatal errors. This prevents the file from being marked as status "Incomplete" because it does not contain an "Error 900" summary line.
The analysis results parser now copes better with PC-lint analysis results which are not in the defined format. This can happen with some fatal error messages or those generated during a specific walk.
Files which are excluded from build (currently supported under VS2002 onwards) are no longer used when calculating analysis progress metrics. [220.127.116.11]
When a file is manually analysed, the corresponding command line is now displayed in the "Visual Lint Status" pane of the Output Window (this already during background analysis). [18.104.22.168]
Made a minor correction to the way Additional Include Folders are resolved. [22.214.171.124]
Additional include folders "." and ".\" are now ignored while writing PC-lint project indirect files as these resolve to the project folder itself. [126.96.36.199]
PC-lint project indirect files are now by default written directly by Visual Lint rather than by PC-lint. This avoids problems with MFC projects and the definitions of _AFXDLL and /MD[d]. [188.8.131.52]
When a file is saved, any analysis tasks currently running on that file are now aborted to avoid parallel re-analysis tasks on the same file. Note that under VS2005, such analysis tasks are stopped prior to the file save being executed to avoid problems with file locking [184.108.40.206]
Individual files can now be manually excluded from background analysis in Visual Lint Professional Edition (this feature works in much the same way as the current project level feature). As part of this change, a "Background Lint Analysis" command has been added to the context menu for C/C++ implementation files in the VS2002/VS2003/VS2005 Solution Explorer. [220.127.116.11]
Whole project analysis now takes into account whether files are excluded from analysis, provided Visual Lint is configured to write PC-lint project indirect files directly. [18.104.22.168]
Added support for per-file Preprocessor Definitions and Additional Include Folders. Note that as PC-lint does not provide a way to override the settings in an indirect file the properties added are in addition to those defined in the corresponding project indirect file. As a result, these properties are used only in single file (unit checkout) analysis and the Visual Studio $(NoInherit) property cannot be supported [Visual Lint Professional Edition]. [22.214.171.124]
Orphaned temporary analysis files (.tmp) are now deleted from project analysis results folders when a solution is loaded or the active solution configuration is changed. [126.96.36.199]
PC-lint project indirect files are now uniquely named for IDE, configuration and platform. This ensures that indirect files for the same configuration but different platforms in the same project do not conflict. [188.8.131.52]
The analysis configuration is now automatically reloaded when the active platform is changed. [184.108.40.206]
Visual Lint will now attempt to expand internal platform based environment variables where possible. This is primarily an issue with embedded projects (notably for Smartphone and Pocket PC platforms). [220.127.116.11]
If an unexpected (and undefined) environment variable is encountered within a project during the process of writing a PC-lint project indirect file, Visual Lint now refers to an XML configuration file in order to expand the variable. A default file (Platforms.xml) is installed by default into the Visual Lint installation folder. Note that this issue primarily affects eVC4 and VS2005 installations used for embedded and mobile development. [18.104.22.168]
Analysis results files are no longer parsed when a solution is loaded under Visual Lint Free Edition. [22.214.171.124]
When a file with up to date analysis results is saved while the IDE is in Build or Debug mode its status is now correctly set to "Stale". [126.96.36.199]
File status within the Analysis Results Display is now correctly set to "Complete" when the manual analysis of a file completes in Visual Lint Free Edition. [188.8.131.52]
Improved the handling of per file configuration properties. In particular, file specific preprocessor directives will now be correctly used during PC-lint whole project analysis under VS2002 and later versions. [184.108.40.206]
Improved support for per file preprocessor symbols during single file ("unit checkout") analysis when hosted in VS2002 and later versions. [220.127.116.11]
If the "LINT" environment variable is set, Visual Lint will now issue a warning in the status window and clear it within the process. This change is necessary to prevent the injected command line parameters causing analysis failures. If required, the same effect can be achieved via the "Custom Analysis Options" control on the "Command Line" options page. [18.104.22.168]
Inherited property sheet (.vsprops) file specifications of the form ".\FolderName" are now parsed correctly. [VS2002/2003/2005/2008][22.214.171.124]
Preprocessor directives defined within inherited property sheet (.vsprops) files are now included within the returned project configuration. [VS2002/2003/2005/2008][126.96.36.199]
When a whole project analysis task is aborted, the status of the project is now reset to "Not Analysed". [188.8.131.52]
If a header file is the active file in the IDE and the corresponding implementation file is being analysed, the Analysis Results Display is now updated accordingly.
The Analysis Results Display now has the capability to display raw analysis results directly. This feature is intended to replace the existing "Lint Analysis Results" pane within the Output Window (although that will still be optionally available in VS2002 onwards) and extends the capability to easily view raw analysis results to developers running Visual Lint within Visual Studio 6.0.
In consequence, the "Preferred window for analysis results" option has been removed, and an option added to determine whether raw analysis results should be echoed to the Output Window as well as the Analysis Results Display. By default, this option is enabled.
The Analysis Status Display now preloads the display of projects while the solution is loaded. Projects which have not yet been loaded by Visual Lint display with the status "Loading" and are displayed in grey.
The Analysis Status Display no longer resets the selected project or fully refreshes as the solution is loaded. All updates are now incremental, and the current selection is preserved.
The "All Projects" option in the Analysis Status Display now displays status information for complete projects rather than individual files. The new "All Files" view now performs the same function as "All Projects" did previously.
Revised the colours used in the Analysis Status Display and added icons. Also rationalised the code to decide what colour display elements should be in preparation for making it customisable.
The Analysis Status Display now sorts the display after a project is updated. This ensures that the display remains correctly sorted during project loading.
The Analysis Results and Status Display now display pathnames using ellipses to fit the available space.
Files containing fatal errors are now displayed within the Analysis Status Display in white text on a red background in order to draw attention to them.
Fatal errors are now displayed in white text on a red background in the Analysis Results Display in order to draw attention to them.
Changed the colour used for Elective Notes to one which does not conflict with the colours used to indication project and file status in the Analysis Status Display. Also changed the colour for Informational messages as a result.
Added an icon to the Analysis Results Display to indicate the status of the analysed file.
Added a "pin file" button to the Analysis Results Display. When activated, this control will pin the current file within the display, preventing its contents from being replaced when the active file changes.
When an issue in the Analysis Results Display is double clicked, the line the issue relates to is vertically centred in the code editor. Note that this change has been made for VS2002 onwards - the behaviour under VS 6.0 is unchanged at present since it does not expose the necessary interfaces.
When an issue is double clicked on in the Analysis Results Display, the selection is extended by one character to ensure that long lines are not scrolled to the extreme right in the code editor.
Added an icon to the Analysis Results Display to indicate the status of the analysed file.
Added a "Command Line" page to the Options Dialog. This allows the user to determine whether IDE tab settings and project for loop compliance should be reflected during the analysis process. It also allows the size of the PC-lint line and macro buffers to be specified, along with custom PC-lint options.
Improved the layout and operation of the Manual Analysis Dialog.
Improved the layout of the "Analysis" Options page.
Simplified the Registration Key dialog and added explanatory text.
Retitled the "Write project.lnt files directly option on the C/C++ options page as "Override PC-lint's generation of project.lnt files" and modified the option so that it is unavailable when hosted under Visual Studio 6.0.
Increased the display duration of the main tooltips displayed by the Analysis Status and Results Displays from 5s (the default) to 30s.
Replaced a number of icons with high-colour alternatives.
The configuration of solutions/workspaces being loaded is now displayed in the "Visual Lint Status" pane of the Output Window [VS2002/2003/2005] and Macros tab. [VS6]
When a new issue category is added, defaults for the "Plural Name" and "XML Element" fields are now automatically filled in from the category name. [184.108.40.206]
Changed the colour of the "Back" button in the Analysis Status Display from green to blue, to reflect current Windows conventions. [220.127.116.11]
The "Pin" button in the Analysis Results Display is now hidden in Visual Lint Free Edition, as it only works in Standard Edition and above. [18.104.22.168]
When an issue category is edited, the ordering of the categories within the "Categories" options page is now defined automatically by severity. In consequence, the "Move Up" and "Move Down" buttons have been removed. [22.214.171.124]
Where possible the Visual Studio service pack level is now identified in the Status View on startup, and in the subject of emails sent from the About Box. [126.96.36.199]
When a solution containing a single project is loaded, the Analysis Status Display will automatically show the contents of that project when loading completes, rather than leaving "All Projects" selected. [188.8.131.52]
Clicking on the column in the Analysis Status Display containing a count of the total issues in a category now sets the category filter in the Analysis Results Display to that category. [184.108.40.206]
Added a "Close this dialog when analysis completes" checkbox to the Manual Analysis Dialog. Also corrected the calculation of the content string extent to avoid unwanted text wrapping. [220.127.116.11]
Added a "Do not ask me again" checkbox to the include folder mismatch prompt displayed when a discrepency between the contents of std.lnt and the current include folder configuration is detected. When activated, the "Automatically update the lint include configuration when the Visual Studio include folder configuration is changed" option is deactivated. [18.104.22.168]
Added an option to the "Command Line" page to determine whether std.lnt or the project.lnt file should be located first on the command line. This can be important when files of the same name as SDK include files are referenced through project additional includes. [22.214.171.124]
Revised the layout and appearance of the About Box. [126.96.36.199]
Added a horizontal scrollbar to the "Include Folders" control in the Configuration Wizard. [188.8.131.52]
Disabled or hid a number of irrelevant controls under VS6/eVC4. [184.108.40.206]
Converted some message boxes to Windows Vista Task Dialogs for consistancy with the Windows Vista User Experience Guidelines. When running on earlier operating systems, simulated Task Dialogs are used instead. [220.127.116.11]
New style file dialogs are displayed when running under Windows Vista. [18.104.22.168]
Added an option to the "Displays" options page to allow the progress control in the Manual Analysis Dialog to be hidden if desired. [22.214.171.124]
Added a "View Results" button to the Manual Analysis Dialog. [126.96.36.199]
The "Show display colours" option in the "Categories" option page is now persistant. [188.8.131.52]
When the "Pin" in the Analysis Results Display is deactivated, the display will now re-synchronise with the active file. [184.108.40.206]
The Analysis Results Display no longer clears when the corresponding file is closed if the "pin" is active. [220.127.116.11]
The Analysis Results Display now updates appropriately as each project within the solution loads (previously, it did not load until the solution load completed). [18.104.22.168]
The Analysis Results Display is now cleared when a workspace is closed under Visual Studio 6.0 or eMbedded Visual C++ 4.0. [22.214.171.124]
The Manual Analysis Dialog now uses a marquee progress bar when running on Windows Vista or later. [126.96.36.199]
"Analysis of this file is currently in progress" messages in the raw analysis results displays are now suffixed with the analysis results collected so far. [188.8.131.52]
Raw Analysis Results are now displayed using the correct "Output Window" font settings when running under Visual Studio 6.0 or eMbedded Visual C++ 4.0. [184.108.40.206]
Removed the "Indirect File Order" controls which were erroneously left on the "Command Line" page in Visual Lint options (this functionality was moved to the "Analysis" page in 220.127.116.11). [18.104.22.168]
The Manual Analysis Dialog and Options Property Sheet now have persistant positioning within a given session. [22.214.171.124]
Added a "Project" control to the Analysis Results Display. This allows for easier viewing of the analysis results for files which are physically shared between projects. In consequence, selecting a new project for a shared file in the Analysis Results Display will now cause the Project/selected File in the Analysis Status Display to automatically update if "Auto select project" is active. [126.96.36.199]
Added an option to filter out duplicated issues from the Analysis Status and Results Displays. [188.8.131.52]
Minor improvements to the Configuration Wizard "Select Folder" page. [184.108.40.206]
Modifications to reduce flicker in the Analysis Status Display. These are effective when running under ComCtl32 v6 or later (i.e. VS2005 or later on XP, 2003 or Vista). [220.127.116.11]
Moved the "Indirect File Order" option from the "Command Line" options page to the "Analysis" options page, and added interlocks to make it obvious that the "Project, then global options" option is only applicable to single file analysis. [18.104.22.168]
Replaced the "Analysis Underway" icon with a better alternative. [22.214.171.124]
The Analysis Results Display now checks to see whether the analysis results have changed before reloading its contents. [126.96.36.199]
Reduced the size of the icon shown in ballon tips from 32x32 to 24x24. [188.8.131.52]
The "icon" control in the Lint Category Properties dialog now paints high-colour icons correctly. [184.108.40.206]
The Riverblade logo in the About Box now has a transparent background. [220.127.116.11]
When a PC-lint issue is double clicked on in the Analysis Results Display under Visual C++ 6.0 or eMbedded Visual C++, the selected line is now more appropriately positioned within the code editor. [18.104.22.168]
Improved the prompt shown by the Configuration Wizard when the PC-lint installation folder cannot be located. [22.214.171.124]
If a background analysis task causes a manual analysis task to abort, the manual analysis dialog will now be closed. [126.96.36.199]
".\" additional include paths are no longer filtered out when PC-lint project indirect files are written. [188.8.131.52]
Added registry keys to allow the font used for raw analysis results to be set independently of the IDE "Text Output Tool Windows" setting. [184.108.40.206]
Added Goto Previous/Next Location buttons to the Analysis Results Display. [VS2002/2003/2005/2008][220.127.116.11]
Pressing the Enter key in the Message Lookup Display is now equivalent to pressing the "Go!" button. [18.104.22.168]
The title and registration text in the About Box is now highlighted in colour. [22.214.171.124]
The Copy to clipboard context menu command now terminates lines with \r\n rather than \n.
Added a context menu offering "Copy" and "Go to Source" commands to the Analysis Results Display.
The "Delete Analysis Results" command now also removes project.lnt files for the active configuration (provided they are read-write). They will be re-created when the project is queued for analysis.
Added 24 bit command bar images for the "Perform Lint Analysis" and "View Getting Started Guide" commands [VS2005].
Corrected the bitmap for the View Analysis Results Display command [VS2005].
Added a "Lookup Meaning" command to the context menu of the Analysis Results Display. When activated, this will display details of the selected issue in the Lint Message Lookup Display, making the Display visible if required. [126.96.36.199]
If the selected project in the Solution Explorer is not a C/C++ project, the "Lint Configuration" command is no longer shown on its context menu. [VS2002/2003/2005/2008][188.8.131.52]
Added a "Go to Reference" command to the Analysis Results Display context menu. Activating the command opens a submenu containing the locations specified in any following informational messages 830 and 831 ("Reference/Location cited in prior message). [184.108.40.206]
Added support for customisable report stylesheets (Visual Lint Professional Edition only). The XSL stylesheets for Solution and Project reports are now installed into the installation folder as templates from which custom reports can be derived.
If a custom report stylesheet cannot be found, Visual Lint will now issue a warning (via the Lint Analysis Status pane in the Output Window) and use the default one instead. [220.127.116.11]
Modifications for compatibility with Windows Vista and Data Execution Prevention (DEP).
Fixed a crash when a project within a solution failed to load (i.e. it had been deleted from source control, but not the solution).
Fixed an intermittent crash in the Analysis Status Display.
Fixed an intermittent access violation if the solution is closed under heavy load conditions.
Fixed a bug which was preventing the status of files from being updated correctly when analysis results were deleted.
Fixed a bug which was causing the active file in the Analysis Results Display to be erroneously changed when the analysis of a file is aborted.
Fixed a minor bug which was causing the Analysis Status Display to erroneously attempt to display issue counts on files with status "Not Analysed" etc.
Fixed a case dependency bug in pathname lookup which could cause the Analysis Results Display to fail to synchronise correctly.
Fixed a case dependency bug in the PC-lint Analysis Results parser.
Fixed a bug in the Manual Analysis dialog which prevented it working with files which were not part of the loaded VS6 workspace or which Visual Lint had not yet loaded.
Fixed inconsistancies in the way the Options property sheet is centred when opened.
Fixed a missing icon in the Registration Key dialog shown when an upgrade base key is required.
Sort ascending by issue count in the Analysis Status Display "All Projects" view now works correctly.
Corrected the calculation of analysis complete percentages for partially analysed projects.
Double clicking on an issue in the raw analysis results view within the Analysis Results Display now correctly synchronises the contents of the Message Lookup Display to the corresponding issue.
Prevented the Analysis Results Display from being unnecessarily refreshed when an implementation file was activated after its corresponding header file.
In the Analysis Status Display, a file containing one or more Fatal Errors would previously have been displayed in gray if the analysis did not complete. This has now been corrected.
Projects now clear their raw analysis results cache when analysis starts. This prevents potential parsing failures on the second and subsequent analysis of the same project.
Corrected a data validation focus failure in the "Reports" options page.
The parent window of the About Box and Configuration Wizard are now set correctly.
Added a "watchdog" check of whether the solution is open or not in the WindowActivated event handler, to allow the add-in to cope with systems which fail to reliably source Solution Events under VS2002/2003/2005.
The Registration Key Dialog now allows the "OK" button to be pressed if "Don't ask me again" is checked even if no key has been entered.
When an issue is double clicked on in the Analysis Results Display, the selection is extended by one character to ensure that long lines are not scrolled to the extreme right in the code editor.
Prevented the Analysis Results Display from being unnecessarily refreshed when an implementation file was activated after its corresponding header file.
The icon displayed for projects containing stale files now takes those files into account - otherwise we could wrongly show the project as having "No issues" if all files are stale.
Fixed a potential crash when a file was removed from a project. [18.104.22.168]
Fixed a bug in the generation of PC-lint command lines which was preventing Visual Lint from using the PC-lint executable if it was located in a folder path containing one or more spaces. [22.214.171.124]
Fixed bugs which were preventing solution/project warning policy files from being configured unless a corresponding solution/project analysis configuration file was also defined. [126.96.36.199]
Fixed a minor bug in the validation of fields in the Lint Issue Categories Dialog. [188.8.131.52]
Corrected the default value for the "Warning Policy Usage" control on the "Project" Options page. [184.108.40.206]
Corrected the operation of the "Back" button in the Analysis Status Display. [220.127.116.11]
Resetting the solution or project lint configuration now enables/disables all controls appropriately. [18.104.22.168]
The "Project specific custom analysis options" control on the "Project" Options page is now enabled/disabled appropriately. [22.214.171.124]
Widened the inital width of the "Category Name" column in the Analysis Results Display slightly so the built-in category "Elective Note" is not truncated. [126.96.36.199]
Improved handling of relative paths within Visual Studio 6.0 projects. [188.8.131.52]
When a file completes analysis, the Analysis Status Display no longer re-sorts if the current sort column is "Filename". [184.108.40.206]
Fixed a bug in the Analysis Results Display which could cause an erroneous "Invalid Pointer" error message if a file could not be opened. [220.127.116.11]
Fixed a bug in the generation of project lint analysis command lines which could cause analysis to fail under some circumstances. [18.104.22.168]
Corrected the default sort order in the project analysis report template. [22.214.171.124]
The Analysis Status and Results Displays now check that pathnames are valid before attempting to open the corresponding file [126.96.36.199]
Links in HTML reports are now generated using forward slashes rather than backslashes for compatibility with Apache [188.8.131.52]
Fixed a bug in the Analysis Status Display which caused the included/excluded from analysis status of a project to be incorrectly toggled when text in a column other than the first was clicked. [184.108.40.206]
Fixed a bug in the Analysis Status Display which could cause the status of a project to fail to update as analysis proceeded. [220.127.116.11]
IApplication (Visual Studio 6.0 automation) pointers are now marshalled correctly between threads. [18.104.22.168]
PathResolve() is no longer called when writing additional includes to a .lnt file if the includes are relative. This change prevents fully qualified relative paths from being resolved incorrectly. [22.214.171.124]
Fixed a possible crash when an issue count is clicked in the Analysis Status Display. [126.96.36.199]
Fixed a potential buffer overflow in the project file parser. [188.8.131.52]
Fixed a bug in the resolution of relative pathnames while activating items in the Analysis Results Display. [184.108.40.206]
Fixed a bug in the column order persistance within the Analysis Status Display. [220.127.116.11]
Fixed a bug which was preventing custom solution/project analysis options from being loaded correctly. [18.104.22.168]
Fixed a minor bug in the way fonts are displayed in Task Dialogs. [22.214.171.124]
Fixed a minor bug in the Visual Studio service pack reading code which was causing it to fail when run under a limited user account. [126.96.36.199]
Improved lockouts which prevent toolwindows being docked when the Visual Assist "VA View" is active under Visual Studio 6.0 or Embedded Visual C++ 4.0. [188.8.131.52]
Corrected calls to PathResolve() to ensure that the correct drive is used when resolving paths of the form "\folder1\folder2" while generating project specific .lnt files. [184.108.40.206]
If the Visual Studio 6.0/eMbedded Visual C++ 4.0 add-in determines that its VSPackage is missing (which can happen if a legacy version of Visual Studio is installed after Visual Lint) it will attempt to deploy it to the correct folder (note that this is likely to fail under Windows Vista due to UAC, so additional work may be necessary on this platform). [220.127.116.11]
Fixed two potential divide by zero errors. [18.104.22.168]
Fixed a bug in the options code which could cause the default "IndirectFileOrder" option to be saved incorrectly. [22.214.171.124]
Fixed a bug which could cause relative pathnames in solution options files to be resolved incorrectly. [126.96.36.199]
Fixed a bug in the "Report" Options page which could cause the pathnames of custom solution and project stylesheets to be saved incorrectly. [188.8.131.52]
Fixed a bug in the import of custom categories. [184.108.40.206]
PC-lint project indirect files are now written with correct Windows line endings (CR + LF as opposed to just LF). [220.127.116.11]
If a PC-lint whole project analysis task aborts due to a fatal analysis error, the status of individual files within the project is now set correctly. [18.104.22.168]
Desensitised Visual Lint to consequtive backslashes in global include folder specifications and in project additional include folder specifications (where they can cause the folder paths to be resolved incorrectly). Also converted forward slashes to backslashes before writing project specific includes to a PC-lint indirect file. [22.214.171.124]
The PC-lint project indirect file writer no longer attempts to resolve relative pathnames enclosed in quotes. This ensures that filenames such as "..\Folder1\Folder2" are not incorrectly expanded to fully qualified pathnames. [126.96.36.199]
Fixed a bug which was preventing the Analysis Results Display from updating if the corresponding file was not the active document. [188.8.131.52]
Fixed a bug which could cause projects to be incorrectly excluded from analysis when running with a Standard Edition licence. [184.108.40.206]
Fixed a bug which was preventing the background analysis status from being set correctly when Visual Lint was loaded. [220.127.116.11]
Minor corrections to the PC-lint analysis results parser to handle malformed raw analysis results. [18.104.22.168]
The "View Results" button in the Manual Analysis Dialog now forces the correct results to be shown in the Analysis Results Display. [22.214.171.124]
Desensitised the PC-lint analysis results parser to repeated backslashes ('\\') in pathnames. [126.96.36.199]
Fixed a bug which was causing crashes in Visual Studio 2005 and 2008. [1.5.7..74]
Fixed a bug in the Visual Studio 6.0 project file parser which caused preprocessor definitions of the form "/D _SYMBOL=Value" to fail to parse correctly. [188.8.131.52]
Fixed a bug in the storage of historical solution result metrics. [184.108.40.206]
Fixed a bug in the analysis results parser which caused it to fail if a pathname in the raw analysis results contains an opening bracket. Also added a test case for such results containing such pathnames to the corresponding unit tests. [220.127.116.11]
Fixed a bug in the storage of report options. [18.104.22.168]
Fixed a case sensitivity bug in the project file parser. [22.214.171.124]
Fixed a bug which was causing the Analysis Results Display to be cleared when a window was closed in Visual Lint Free Edition. [126.96.36.199]
Fixed a potential bottleneck in the processing of options changes. [188.8.131.52]
Reduced memory usage during PC-lint whole project analysis. [184.108.40.206]
Clicking on the white space to the right of the item label in the first column of the Analysis Status Display no longer incorrectly toggles the analysis state of the project or file. Note that this behaviour was due to a bug in the common controls library itself; this change simply implements a workaround for the incorrect behaviour. [220.127.116.11]
The PC-lint analysis results parser no longer requires a completion line such as "error 900: (Note -- Successful completion, nnn messages produced)". This prevents the status of files being marked as "Incomplete" if PC-lint forgot to include the completion message. [18.104.22.168]
Modified options to be stored on a per-IDE version basis where appropriate, rather than being common to all supported IDEs. [22.214.171.124]
PC-lint whole project analysis now handles multipass analysis correctly. [126.96.36.199]
Revised the DSSharedObjects::IApplicationEvents event sink implementation for better compatibility with eMbedded Visual C++ 4.0. [188.8.131.52]
Fixed a crash in the third party colour picker control used in the Category Properties Dialog. [184.108.40.206]
Fixed potential buffer overflows in CRT library function calls. [220.127.116.11]
Fixed a potential deadlock when the "Delete Analysis Results" command is activated during whole project analysis. [18.104.22.168]
Fixed a bug in the PC-lint project indirect file writer which was causing the length of quoted relative pathnames containing spaces to be incorrectly reported and thus truncated when written to the file. [22.214.171.124]
Fixed a bug in the resolution of relative include paths within PC-lint project indirect files. [126.96.36.199]
Fixed a bug which was preventing "ItemPropertyChange" events from being recognised under Visual Studio 2005. [188.8.131.52]
Fixed a case dependency bug in the checking of project types. [184.108.40.206]
Fixed a bug in the parsing of whole project analysis results. [220.127.116.11]
Fixed a bug which could prevent PC-lint project indirect files being written correctly if one or more projects was unloaded. [18.104.22.168]
Added workarounds for failings in the Visual Studio 2008 Visual C++ automation interfaces. [22.214.171.124]
Escaped quotes (""") found in additional include folder definitions within VS.NET project files will now be correctly converted back to nonescaped quotes before writing to the corresponding PC-lint project indirect file. [126.96.36.199]
Improved the method used to check for the existance of preprocessor definitions in the PC-lint project indirect file writer so it will not incorrectly identify _AFX_DLL as being defined when a symbol containing it as a substring (for example "_HYPER_AFX_DLL") is found. [188.8.131.52]
Filenames containing spaces will now be enclosed in quotes when written to PC-lint project indirect files. [184.108.40.206]
Fixed a crash in the Analysis Results Display. [220.127.116.11]
Fixed several potential resource leaks. [18.104.22.168]
Fixed a bug which could cause PC-lint whole project analysis comand lines to be incorrectly generated if the PC-lint project indirect file failed to generate. [22.214.171.124]
Fixed a bug in the parsing of intermediate file folders within Visual C++ projects. [126.96.36.199]
Fatal errors during whole project analysis are now reported correctly. [188.8.131.52]
Modifications to prevent unwanted files from being inadvertantly installed into the Satellite DLL subfolder. [184.108.40.206]
Visual C++ 6.0 project (.dsp) files containing only one project configuration are now parsed correctly. [220.127.116.11]
The "Projects" Analysis Configuration page now handles solution folders correctly. [18.104.22.168]
Added additional diagnostics when loading Intel C++ compiler (.icproj) projects under VS2002, VS2003, VS2005 and VS2008. This is necessary as some versions of the compiler suite have flaws in the integration of the compiler into the Visual Studio automation model which affect compatibility with Visual Lint. [22.214.171.124]
Fixed a bug in the Analysis Results Display which was preventing the "Go to Reference" command from working if the selected item was the first item in the display. [126.96.36.199]
Fixed a validation bug in the Configuration Wizard. [188.8.131.52]
Corrected the ordering of additional include folder specifications inherited from a .vsprops file. [184.108.40.206]
Replaced std::sort with std::stable_sort to ensure deterministic secondary sort ordering in the Analysis Status and Results Displays. [220.127.116.11]
If an ATL exception occurs during the solution/workspace loading process, a message box will no longer be shown - the warning will instead be logged to the status window. [18.104.22.168]
Fixed a bug in the Analysis Options page which was preventing the indirect file ordering option from being applied correctly in Visual Lint Standard Edition. [22.214.171.124]
Fixed a bug in the resolution of relative paths within .vsprops files. [126.96.36.199]
Fixed a bug in the generation of HTML reports. [188.8.131.52]
Fixed a validation bug in the Configuration Wizard. [184.108.40.206]
Added direct support for the $(SolutionDir), $(ProjectDir) and $(ConfigurationName) macros. This change is only required to support Visual Studio 2008, which is unreliable when it comes to expanding Visual Studio environment variables via its automation interfaces. [220.127.116.11]
The UseAutoGeneratedProjectLntFile project property is now saved into the solution analysis configuration (.vloptions) file correctly [Visual Lint Professional Edition]. [18.104.22.168]
Fixed a bug in the installer which was preventing the update check wizard from being run correctly. [22.214.171.124]
Corrected a focus issue when hosted in Visual C++ 6.0 or eMbedded Visual C++ 4.0. [126.96.36.199]
When an issue in the Analysis Results Display is activated (by a double click or one of the "Go to..." commands), the file details within the display are no longer changed if the activated file is an implementation file or its primary header file. [188.8.131.52]