File tree Expand file tree Collapse file tree 1 file changed +19
-2
lines changed
Rubberduck.VBEEditor/SafeComWrappers Expand file tree Collapse file tree 1 file changed +19
-2
lines changed Original file line number Diff line number Diff line change @@ -41,7 +41,14 @@ public virtual void Release(bool final = false)
41
41
if ( final )
42
42
{
43
43
_rcwReferenceCount = Marshal . FinalReleaseComObject ( Target ) ;
44
- _logger . Trace ( $ "Final released COM wrapper of type { this . GetType ( ) } with remaining reference count { _rcwReferenceCount } .") ;
44
+ if ( HasBeenReleased )
45
+ {
46
+ _logger . Trace ( $ "Final released COM wrapper of type { this . GetType ( ) } .") ;
47
+ }
48
+ else
49
+ {
50
+ _logger . Warn ( $ "Final released COM wrapper of type { this . GetType ( ) } did not release the wrapper: remaining reference count is { _rcwReferenceCount } .") ;
51
+ }
45
52
}
46
53
else
47
54
{
@@ -51,7 +58,17 @@ public virtual void Release(bool final = false)
51
58
}
52
59
catch ( COMException exception )
53
60
{
54
- _logger . Warn ( exception , $ "Failed to release COM wrapper of type { this . GetType ( ) } .") ;
61
+ var logMessage = $ "Failed to release COM wrapper of type { this . GetType ( ) } .";
62
+ if ( _rcwReferenceCount . HasValue )
63
+ {
64
+ logMessage = logMessage + $ "The previous reference count has been { _rcwReferenceCount } .";
65
+ }
66
+ else
67
+ {
68
+ logMessage = logMessage + "There has not yet been an attempt to release the COM wrapper." ;
69
+ }
70
+
71
+ _logger . Warn ( exception , logMessage ) ;
55
72
}
56
73
}
57
74
You can’t perform that action at this time.
0 commit comments