1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-14 14:24:10 +02:00

Fixed crash when closing with autocomplete up

This commit is contained in:
Brian Fiete 2020-06-05 08:29:11 -07:00
parent 628a1340b2
commit a469707377
4 changed files with 40 additions and 20 deletions

View file

@ -0,0 +1,8 @@
namespace Mintest.zop
{
class Zoggle
{
//ZapZap mZoop;
}
}

View file

@ -2142,6 +2142,8 @@ namespace IDE.ui
if ((mAutoCompleteListWidget != null) && (mAutoCompleteListWidget.mWidgetWindow == null))
{
mAutoCompleteListWidget.Cleanup();
if (mListWindow?.mRootWidget == mAutoCompleteListWidget)
mListWindow.mRootWidget = null;
delete mAutoCompleteListWidget;
}
@ -2154,6 +2156,8 @@ namespace IDE.ui
if ((mInvokeWidget != null) && (mInvokeWidget.mWidgetWindow == null))
{
mInvokeWidget.Cleanup();
if (mInvokeWindow?.mRootWidget == mInvokeWidget)
mInvokeWindow.mRootWidget = null;
delete mInvokeWidget;
}

View file

@ -218,6 +218,23 @@ namespace IDE.ui
bool mHasCustomColors;
FastCursorState mFastCursorState ~ delete _;
public List<PersistentTextPosition> PersistentTextPositions
{
get
{
return ((Data)mData).mPersistentTextPositions;
}
}
public Data Data
{
get
{
return (Data)mData;
}
}
public this(EditWidgetContent refContent = null) : base(refContent)
{
mAllowVirtualCursor = true;
@ -246,22 +263,6 @@ namespace IDE.ui
return new Data();
}
public List<PersistentTextPosition> PersistentTextPositions
{
get
{
return ((Data)mData).mPersistentTextPositions;
}
}
public Data Data
{
get
{
return (Data)mData;
}
}
[CallingConvention(.Stdcall), CLink]
static extern char8* BfDiff_DiffText(char8* text1, char8* text2);

View file

@ -618,6 +618,13 @@ namespace IDE.ui
DeleteAndNullify!(mQueuedAutoComplete);
}
public void CloseAutocomplete()
{
var editWidgetContent = (SourceEditWidgetContent)mEditWidget.Content;
if (editWidgetContent.mAutoComplete != null)
editWidgetContent.mAutoComplete.Close();
}
void SetupEditWidget()
{
if (mEditWidget.mParent == null)
@ -2391,7 +2398,7 @@ namespace IDE.ui
#endif
}
public override void RemovedFromParent(Widget previousParent, WidgetWindow window)
protected override void RemovedFromWindow()
{
if (mHoverWatch != null)
mHoverWatch.Close();
@ -2406,7 +2413,7 @@ namespace IDE.ui
sourceEditWidgetContent.mAutoComplete.Close();
}
base.RemovedFromParent(previousParent, window);
base.RemovedFromWindow();
CloseOldVersion();
if (NeedsPostRemoveUpdate)