Skip to content

Commit fafb764

Browse files
committed
fixed references sink
1 parent 4b106de commit fafb764

File tree

1 file changed

+26
-24
lines changed

1 file changed

+26
-24
lines changed

RetailCoder.VBE/App.cs

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -93,20 +93,6 @@ public App(VBE vbe, IMessageBox messageBox,
9393
UiDispatcher.Initialize();
9494
}
9595

96-
private void ReferencesEvents_ItemAdded(Reference reference)
97-
{
98-
var state = _parser.State.Status;
99-
_parser.LoadComReference(reference);
100-
_parser.State.SetModuleState(state);
101-
}
102-
103-
private void ReferencesEvents_ItemRemoved(Reference reference)
104-
{
105-
var state = _parser.State.Status;
106-
_parser.UnloadComReference(reference);
107-
_parser.State.SetModuleState(state);
108-
}
109-
11096
private void _hooks_MessageReceived(object sender, HookEventArgs e)
11197
{
11298
var hookType = sender.GetType();
@@ -183,8 +169,6 @@ async void sink_ProjectRemoved(object sender, DispatcherEventArgs<VBProject> e)
183169

184170
async void sink_ProjectAdded(object sender, DispatcherEventArgs<VBProject> e)
185171
{
186-
_vbe.Events.ReferencesEvents[e.Item].ItemAdded += ReferencesEvents_ItemAdded;
187-
_vbe.Events.ReferencesEvents[e.Item].ItemRemoved += ReferencesEvents_ItemRemoved;
188172
_parser.State.AddProject(e.Item);
189173

190174
if (!_parser.State.AllDeclarations.Any())
@@ -202,21 +186,39 @@ async void sink_ProjectAdded(object sender, DispatcherEventArgs<VBProject> e)
202186
IConnectionPoint connectionPoint;
203187
connectionPointContainer.FindConnectionPoint(ref interfaceId, out connectionPoint);
204188

205-
var sink = new VBComponentsEventsSink();
206-
sink.ComponentActivated += sink_ComponentActivated;
207-
sink.ComponentAdded += sink_ComponentAdded;
208-
sink.ComponentReloaded += sink_ComponentReloaded;
209-
sink.ComponentRemoved += sink_ComponentRemoved;
210-
sink.ComponentRenamed += sink_ComponentRenamed;
211-
sink.ComponentSelected += sink_ComponentSelected;
189+
var componentsSink = new VBComponentsEventsSink();
190+
componentsSink.ComponentActivated += sink_ComponentActivated;
191+
componentsSink.ComponentAdded += sink_ComponentAdded;
192+
componentsSink.ComponentReloaded += sink_ComponentReloaded;
193+
componentsSink.ComponentRemoved += sink_ComponentRemoved;
194+
componentsSink.ComponentRenamed += sink_ComponentRenamed;
195+
componentsSink.ComponentSelected += sink_ComponentSelected;
196+
197+
var referencesSink = new ReferencesEventsSink();
198+
referencesSink.ReferenceAdded += referencesSink_ReferenceAdded;
199+
referencesSink.ReferenceRemoved += referencesSink_ReferenceRemoved;
212200

213201
int cookie;
214-
connectionPoint.Advise(sink, out cookie);
202+
connectionPoint.Advise(componentsSink, out cookie);
215203

216204
_componentsEventsConnectionPoints.Add(e.Item.VBComponents, Tuple.Create(connectionPoint, cookie));
217205
_parser.State.OnParseRequested(sender);
218206
}
219207

208+
private void referencesSink_ReferenceRemoved(object sender, DispatcherEventArgs<Reference> e)
209+
{
210+
var state = _parser.State.Status;
211+
_parser.UnloadComReference(e.Item);
212+
_parser.State.SetModuleState(state);
213+
}
214+
215+
private void referencesSink_ReferenceAdded(object sender, DispatcherEventArgs<Reference> e)
216+
{
217+
var state = _parser.State.Status;
218+
_parser.LoadComReference(e.Item);
219+
_parser.State.SetModuleState(state);
220+
}
221+
220222
async void sink_ComponentSelected(object sender, DispatcherEventArgs<VBComponent> e)
221223
{
222224
if (!_parser.State.AllDeclarations.Any())

0 commit comments

Comments
 (0)