Skip to content

Commit 14665a3

Browse files
committed
Add missing Dispose for conditional returns.
1 parent b03a59d commit 14665a3

File tree

3 files changed

+31
-26
lines changed

3 files changed

+31
-26
lines changed

Rubberduck.VBEEditor/Events/VbeEvents.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ private void RegisterComponents(string projectId, string projectName)
7373
if (item.ProjectId == projectId && item.Name == projectName)
7474
{
7575
project = item;
76+
item.Dispose();
7677
break;
7778
}
7879

Rubberduck.VBEditor.VB6/SafeComWrappers/VB/VBProjects.cs

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -92,23 +92,25 @@ void VB._dispVBProjectsEvents.ItemRemoved([MarshalAs(UnmanagedType.Interface), I
9292
void VB._dispVBProjectsEvents.ItemRenamed([MarshalAs(UnmanagedType.Interface), In] VB.VBProject VBProject,
9393
[MarshalAs(UnmanagedType.BStr), In] string OldName)
9494
{
95-
var project = new VBProject(VBProject);
96-
97-
if (!IsInDesignMode())
95+
using (var project = new VBProject(VBProject))
9896
{
99-
project.Dispose();
100-
return;
101-
}
97+
if (!IsInDesignMode())
98+
{
99+
project.Dispose();
100+
return;
101+
}
102102

103-
var projectId = project.ProjectId;
103+
var projectId = project.ProjectId;
104104

105-
var handler = ProjectRenamed;
106-
if (handler == null || projectId == null)
107-
{
108-
project.Dispose();
109-
return;
105+
var handler = ProjectRenamed;
106+
if (handler == null || projectId == null)
107+
{
108+
project.Dispose();
109+
return;
110+
}
111+
112+
handler.Invoke(this, new ProjectRenamedEventArgs(projectId, project.Name, OldName));
110113
}
111-
handler.Invoke(project, new ProjectRenamedEventArgs(projectId, project.Name, OldName));
112114
}
113115

114116
public event EventHandler<ProjectEventArgs> ProjectActivated;

Rubberduck.VBEditor.VBA/SafeComWrappers/VB/VBProjects.cs

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -96,23 +96,25 @@ void VB._dispVBProjectsEvents.ItemRemoved([MarshalAs(UnmanagedType.Interface), I
9696
void VB._dispVBProjectsEvents.ItemRenamed([MarshalAs(UnmanagedType.Interface), In] VB.VBProject VBProject,
9797
[MarshalAs(UnmanagedType.BStr), In] string OldName)
9898
{
99-
var project = new VBProject(VBProject);
100-
101-
if (!IsInDesignMode() || VBProject.Protection == VB.vbext_ProjectProtection.vbext_pp_locked)
99+
using (var project = new VBProject(VBProject))
102100
{
103-
project.Dispose();
104-
return;
105-
}
101+
if (!IsInDesignMode() || VBProject.Protection == VB.vbext_ProjectProtection.vbext_pp_locked)
102+
{
103+
project.Dispose();
104+
return;
105+
}
106106

107-
var projectId = project.ProjectId;
107+
var projectId = project.ProjectId;
108108

109-
var handler = ProjectRenamed;
110-
if (handler == null || projectId == null)
111-
{
112-
project.Dispose();
113-
return;
109+
var handler = ProjectRenamed;
110+
if (handler == null || projectId == null)
111+
{
112+
project.Dispose();
113+
return;
114+
}
115+
116+
handler.Invoke(this, new ProjectRenamedEventArgs(projectId, project.Name, OldName));
114117
}
115-
handler.Invoke(project, new ProjectRenamedEventArgs(projectId, project.Name, OldName));
116118
}
117119

118120
public event EventHandler<ProjectEventArgs> ProjectActivated;

0 commit comments

Comments
 (0)