1
1
using System ;
2
2
using System . Linq ;
3
+ using System . Threading . Tasks ;
3
4
using Rubberduck . Parsing ;
4
5
using Rubberduck . Parsing . Symbols ;
5
6
using Rubberduck . VBEditor . Events ;
@@ -39,8 +40,11 @@ private void OnVbeSelectionChanged(object sender, SelectionChangedEventArgs e)
39
40
return ;
40
41
}
41
42
42
- var eventArgs = new DeclarationChangedEventArgs ( e . CodePane , _parser . State . FindSelectedDeclaration ( e . CodePane ) ) ;
43
- DispatchSelectedDeclaration ( eventArgs ) ;
43
+ new Task ( ( ) =>
44
+ {
45
+ var eventArgs = new DeclarationChangedEventArgs ( e . CodePane , _parser . State . FindSelectedDeclaration ( e . CodePane ) ) ;
46
+ DispatchSelectedDeclaration ( eventArgs ) ;
47
+ } ) . Start ( ) ;
44
48
}
45
49
46
50
private void OnVbeFocusChanged ( object sender , WindowChangedEventArgs e )
@@ -55,21 +59,21 @@ private void OnVbeFocusChanged(object sender, WindowChangedEventArgs e)
55
59
{
56
60
return ;
57
61
}
58
- DispatchSelectedDesignerDeclaration ( _vbe . SelectedVBComponent ) ;
62
+ new Task ( ( ) => DispatchSelectedDesignerDeclaration ( _vbe . SelectedVBComponent ) ) . Start ( ) ;
59
63
break ;
60
64
case WindowKind . CodeWindow :
61
65
//Caret changed in a code pane.
62
66
if ( e . CodePane != null && ! e . CodePane . IsWrappingNullReference )
63
67
{
64
- DispatchSelectedDeclaration ( new DeclarationChangedEventArgs ( e . CodePane , _parser . State . FindSelectedDeclaration ( e . CodePane ) ) ) ;
68
+ new Task ( ( ) => DispatchSelectedDeclaration ( new DeclarationChangedEventArgs ( e . CodePane , _parser . State . FindSelectedDeclaration ( e . CodePane ) ) ) ) . Start ( ) ;
65
69
}
66
70
break ;
67
71
}
68
72
}
69
73
else if ( e . EventType == FocusType . ChildFocus )
70
74
{
71
75
//Treeview selection changed in project window.
72
- DispatchSelectedProjectNodeDeclaration ( _vbe . SelectedVBComponent ) ;
76
+ new Task ( ( ) => DispatchSelectedProjectNodeDeclaration ( _vbe . SelectedVBComponent ) ) . Start ( ) ;
73
77
}
74
78
}
75
79
0 commit comments