diff --git a/IDE/src/ui/AutoComplete.bf b/IDE/src/ui/AutoComplete.bf index aa118a9f..e2178cc2 100644 --- a/IDE/src/ui/AutoComplete.bf +++ b/IDE/src/ui/AutoComplete.bf @@ -514,6 +514,9 @@ namespace IDE.ui public void UpdateWidth() { + if (mWidgetWindow == null) + return; + int firstEntry = (int)(-(int)mScrollContent.mY / mItemSpacing); int lastEntry = (int)((-(int)mScrollContent.mY + mScrollContentContainer.mHeight) / mItemSpacing); diff --git a/IDE/src/ui/RenameSymbolDialog.bf b/IDE/src/ui/RenameSymbolDialog.bf index ab19e118..53d4f468 100644 --- a/IDE/src/ui/RenameSymbolDialog.bf +++ b/IDE/src/ui/RenameSymbolDialog.bf @@ -115,16 +115,16 @@ namespace IDE.ui } } - /*public this() + public this() { - Debug.WriteLine("SymbolReferenceHelper this {0}", this); + //Debug.WriteLine("SymbolReferenceHelper this {0}", this); } public ~this() { - Debug.WriteLine("SymbolReferenceHelper ~this {0}", this); - }*/ + //Debug.WriteLine("SymbolReferenceHelper ~this {0}", this); + } public void Init(SourceViewPanel sourceViewPanel, Kind kind) { diff --git a/IDE/src/ui/SourceEditWidgetContent.bf b/IDE/src/ui/SourceEditWidgetContent.bf index 2e843c39..454d7704 100644 --- a/IDE/src/ui/SourceEditWidgetContent.bf +++ b/IDE/src/ui/SourceEditWidgetContent.bf @@ -5211,7 +5211,7 @@ namespace IDE.ui public override void InsertText(int index, String text) { - if (IDEApp.sApp.mSymbolReferenceHelper != null) + if ((IDEApp.sApp.mSymbolReferenceHelper != null) && (mSourceViewPanel != null)) IDEApp.sApp.mSymbolReferenceHelper.SourcePreInsertText(this, index, text); for (var persistentTextPosition in PersistentTextPositions) diff --git a/IDEHelper/Compiler/BfExprEvaluator.cpp b/IDEHelper/Compiler/BfExprEvaluator.cpp index a751cc9d..fc52768e 100644 --- a/IDEHelper/Compiler/BfExprEvaluator.cpp +++ b/IDEHelper/Compiler/BfExprEvaluator.cpp @@ -14030,7 +14030,16 @@ BfLambdaInstance* BfExprEvaluator::GetLambdaInstance(BfLambdaBindExpression* lam { wasCapturingMethodInfo = autoComplete->mIsCapturingMethodMatchInfo; - if (autoComplete->IsAutocompleteNode(lambdaBindExpr, lambdaBindExpr->mFatArrowToken)) + bool isAutocompleteNode = false; + if (lambdaBindExpr->mFatArrowToken != NULL) + { + if (autoComplete->IsAutocompleteNode(lambdaBindExpr, lambdaBindExpr->mFatArrowToken)) + isAutocompleteNode = true; + } + else if (autoComplete->IsAutocompleteNode(lambdaBindExpr, lambdaBindExpr->mCloseParen)) + isAutocompleteNode = true; + + if (isAutocompleteNode) autoComplete->CheckInvocation(lambdaBindExpr, lambdaBindExpr->mOpenParen, lambdaBindExpr->mCloseParen, lambdaBindExpr->mCommas); if (autoComplete->mIsCapturingMethodMatchInfo)