@@ -132,7 +132,10 @@ export class SuggestController implements IEditorContribution {
132132 private readonly _selectors = new PriorityRegistry < ISuggestItemPreselector > ( s => s . priority ) ;
133133
134134 private readonly _onWillInsertSuggestItem = new Emitter < { item : CompletionItem } > ( ) ;
135- readonly onWillInsertSuggestItem : Event < { item : CompletionItem } > = this . _onWillInsertSuggestItem . event ;
135+ get onWillInsertSuggestItem ( ) { return this . _onWillInsertSuggestItem . event ; }
136+
137+ private _wantsForceRenderingAbove = false ;
138+
136139
137140 constructor (
138141 editor : ICodeEditor ,
@@ -226,6 +229,10 @@ export class SuggestController implements IEditorContribution {
226229 }
227230 } ) ) ;
228231
232+ if ( this . _wantsForceRenderingAbove ) {
233+ widget . forceRenderingAbove ( ) ;
234+ }
235+
229236 return widget ;
230237 } ) ) ;
231238
@@ -755,15 +762,20 @@ export class SuggestController implements IEditorContribution {
755762 }
756763
757764 forceRenderingAbove ( ) {
758- this . widget . value . forceRenderingAbove ( ) ;
765+ if ( this . widget . isInitialized ) {
766+ this . widget . value . forceRenderingAbove ( ) ;
767+ } else {
768+ // Defer this until the widget is created
769+ this . _wantsForceRenderingAbove = true ;
770+ }
759771 }
760772
761773 stopForceRenderingAbove ( ) {
762- if ( ! this . widget . isInitialized ) {
763- // This method has no effect if the widget is not initialized yet.
764- return ;
774+ if ( this . widget . isInitialized ) {
775+ this . widget . value . stopForceRenderingAbove ( ) ;
776+ } else {
777+ this . _wantsForceRenderingAbove = false ;
765778 }
766- this . widget . value . stopForceRenderingAbove ( ) ;
767779 }
768780
769781 registerSelector ( selector : ISuggestItemPreselector ) : IDisposable {
0 commit comments