@@ -69,24 +69,24 @@ void OnMetadataReferenceUpdated (object sender, MetadataReferenceUpdatedEventArg
69
69
return ;
70
70
71
71
lock ( metadataReferences ) {
72
- if ( ! RemoveMetadataReference_NoLock ( reference , workspace ) )
72
+ if ( ! RemoveMetadataReference_NoLock ( reference ) )
73
73
return ;
74
74
workspace . OnMetadataReferenceRemoved ( projectId , args . OldSnapshot ) ;
75
75
76
- AddMetadataReference_NoLock ( reference , workspace ) ;
76
+ AddMetadataReference_NoLock ( reference ) ;
77
77
workspace . OnMetadataReferenceAdded ( projectId , args . NewSnapshot . Value ) ;
78
78
}
79
79
}
80
80
81
- void AddMetadataReference_NoLock ( MonoDevelopMetadataReference metadataReference , MonoDevelopWorkspace ws )
81
+ void AddMetadataReference_NoLock ( MonoDevelopMetadataReference metadataReference )
82
82
{
83
83
System . Diagnostics . Debug . Assert ( Monitor . IsEntered ( metadataReferences ) ) ;
84
84
85
85
metadataReferences . Add ( metadataReference ) ;
86
86
metadataReference . SnapshotUpdated += OnMetadataReferenceUpdated ;
87
87
}
88
88
89
- bool RemoveMetadataReference_NoLock ( MonoDevelopMetadataReference metadataReference , MonoDevelopWorkspace ws )
89
+ bool RemoveMetadataReference_NoLock ( MonoDevelopMetadataReference metadataReference )
90
90
{
91
91
System . Diagnostics . Debug . Assert ( Monitor . IsEntered ( metadataReferences ) ) ;
92
92
@@ -96,12 +96,10 @@ bool RemoveMetadataReference_NoLock (MonoDevelopMetadataReference metadataRefere
96
96
97
97
public void Disconnect ( )
98
98
{
99
- if ( ! workspaceRef . TryGetTarget ( out var ws ) )
100
- return ;
101
-
102
99
lock ( metadataReferences ) {
103
100
foreach ( var reference in metadataReferences )
104
101
reference . SnapshotUpdated -= OnMetadataReferenceUpdated ;
102
+ metadataReferences . Clear ( ) ;
105
103
}
106
104
}
107
105
}
0 commit comments