@@ -224,6 +224,7 @@ class SCMTreeDragAndDrop implements ITreeDragAndDrop<TreeElement> {
224
224
225
225
interface InputTemplate {
226
226
readonly inputWidget : SCMInputWidget ;
227
+ inputWidgetHeight : number ;
227
228
readonly elementDisposables : DisposableStore ;
228
229
readonly templateDisposable : IDisposable ;
229
230
}
@@ -258,7 +259,7 @@ class InputRenderer implements ICompressibleTreeRenderer<ISCMInput, FuzzyScore,
258
259
const inputWidget = this . instantiationService . createInstance ( SCMInputWidget , inputElement , this . overflowWidgetsDomNode ) ;
259
260
templateDisposable . add ( inputWidget ) ;
260
261
261
- return { inputWidget, elementDisposables : new DisposableStore ( ) , templateDisposable } ;
262
+ return { inputWidget, inputWidgetHeight : InputRenderer . DEFAULT_HEIGHT , elementDisposables : new DisposableStore ( ) , templateDisposable } ;
262
263
}
263
264
264
265
renderElement ( node : ITreeNode < ISCMInput , FuzzyScore > , index : number , templateData : InputTemplate ) : void {
@@ -268,10 +269,7 @@ class InputRenderer implements ICompressibleTreeRenderer<ISCMInput, FuzzyScore,
268
269
// Remember widget
269
270
this . inputWidgets . set ( input , templateData . inputWidget ) ;
270
271
templateData . elementDisposables . add ( {
271
- dispose : ( ) => {
272
- this . inputWidgets . delete ( input ) ;
273
- this . contentHeights . delete ( input ) ;
274
- }
272
+ dispose : ( ) => this . inputWidgets . delete ( input )
275
273
} ) ;
276
274
277
275
// Widget cursor selections
@@ -292,11 +290,11 @@ class InputRenderer implements ICompressibleTreeRenderer<ISCMInput, FuzzyScore,
292
290
// Rerender the element whenever the editor content height changes
293
291
const onDidChangeContentHeight = ( ) => {
294
292
const contentHeight = templateData . inputWidget . getContentHeight ( ) ;
295
- const lastContentHeight = this . contentHeights . get ( input ) ! ;
296
293
this . contentHeights . set ( input , contentHeight ) ;
297
294
298
- if ( lastContentHeight !== contentHeight ) {
295
+ if ( templateData . inputWidgetHeight !== contentHeight ) {
299
296
this . updateHeight ( input , contentHeight + 10 ) ;
297
+ templateData . inputWidgetHeight = contentHeight ;
300
298
templateData . inputWidget . layout ( ) ;
301
299
}
302
300
} ;
0 commit comments