diff --git a/IDE/mintest/src/zop/Zoggle.bf b/IDE/mintest/src/zop/Zoggle.bf new file mode 100644 index 00000000..6bb13d75 --- /dev/null +++ b/IDE/mintest/src/zop/Zoggle.bf @@ -0,0 +1,8 @@ +namespace Mintest.zop +{ + class Zoggle + { + //ZapZap mZoop; + + } +} diff --git a/IDE/src/ui/AutoComplete.bf b/IDE/src/ui/AutoComplete.bf index 16d69128..4c1e0c43 100644 --- a/IDE/src/ui/AutoComplete.bf +++ b/IDE/src/ui/AutoComplete.bf @@ -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; } diff --git a/IDE/src/ui/SourceEditWidgetContent.bf b/IDE/src/ui/SourceEditWidgetContent.bf index bdaf0f33..1db3092b 100644 --- a/IDE/src/ui/SourceEditWidgetContent.bf +++ b/IDE/src/ui/SourceEditWidgetContent.bf @@ -218,6 +218,23 @@ namespace IDE.ui bool mHasCustomColors; FastCursorState mFastCursorState ~ delete _; + + public List 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 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); diff --git a/IDE/src/ui/SourceViewPanel.bf b/IDE/src/ui/SourceViewPanel.bf index 2411af72..90017423 100644 --- a/IDE/src/ui/SourceViewPanel.bf +++ b/IDE/src/ui/SourceViewPanel.bf @@ -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,8 +2398,8 @@ namespace IDE.ui #endif } - public override void RemovedFromParent(Widget previousParent, WidgetWindow window) - { + protected override void RemovedFromWindow() + { if (mHoverWatch != null) mHoverWatch.Close(); @@ -2406,8 +2413,8 @@ namespace IDE.ui sourceEditWidgetContent.mAutoComplete.Close(); } - base.RemovedFromParent(previousParent, window); - CloseOldVersion(); + base.RemovedFromWindow(); + CloseOldVersion(); if (NeedsPostRemoveUpdate) {