mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-08 11:38:21 +02:00
Fixed save buffers during symbol rename
This commit is contained in:
parent
a9d9776bcb
commit
330eb037e8
4 changed files with 41 additions and 9 deletions
|
@ -73,7 +73,12 @@ namespace IDE
|
|||
return false;
|
||||
return mLastFileTextVersion != mEditWidget.Content.mData.mCurTextVersionId;
|
||||
}
|
||||
|
||||
|
||||
public bool HasEditPanel()
|
||||
{
|
||||
return mEditWidget.mPanel != null;
|
||||
}
|
||||
|
||||
public bool Reload()
|
||||
{
|
||||
mHadRefusedFileChange = false;
|
||||
|
|
|
@ -12762,6 +12762,9 @@ namespace IDE
|
|||
mLastFileChangeId = mFileWatcher.mChangeId;
|
||||
}
|
||||
|
||||
if (mSymbolReferenceHelper?.mKind == .Rename)
|
||||
return;
|
||||
|
||||
var app = gApp;
|
||||
Debug.Assert(app != null);
|
||||
|
||||
|
@ -13138,6 +13141,9 @@ namespace IDE
|
|||
|
||||
void VerifyModifiedBuffers()
|
||||
{
|
||||
if (mSymbolReferenceHelper?.mKind == .Rename)
|
||||
return;
|
||||
|
||||
mWorkspace.WithProjectItems(scope (projectItem) =>
|
||||
{
|
||||
var projectSource = projectItem as ProjectSource;
|
||||
|
|
|
@ -720,6 +720,8 @@ namespace IDE.ui
|
|||
|
||||
void Dispose()
|
||||
{
|
||||
bool hadChange = (mKind == Kind.Rename) && (mNewReplaceStr != mOrigReplaceStr);
|
||||
|
||||
mSourceViewPanel.CancelResolve(.GetSymbolInfo);
|
||||
if (mPassInstance != null)
|
||||
{
|
||||
|
@ -756,15 +758,24 @@ namespace IDE.ui
|
|||
editWidgetContent.mData.mText[i].mDisplayFlags &= 0xFF ^ (uint8)(SourceElementFlags.SymbolReference);
|
||||
}
|
||||
|
||||
using (gApp.mMonitor.Enter())
|
||||
editData.SetSavedData(null, IdSpan());
|
||||
var app = IDEApp.sApp;
|
||||
if ((mKind == Kind.Rename) && (IDEApp.IsBeefFile(editData.mFilePath)))
|
||||
if (hadChange)
|
||||
{
|
||||
for (var projectSource in editData.mProjectSources)
|
||||
app.mBfResolveCompiler.QueueProjectSource(projectSource, .None, false);
|
||||
app.mBfResolveCompiler.QueueDeferredResolveAll();
|
||||
using (gApp.mMonitor.Enter())
|
||||
editData.SetSavedData(null, IdSpan());
|
||||
|
||||
if (!editData.HasEditPanel())
|
||||
{
|
||||
gApp.SaveFile(editData);
|
||||
}
|
||||
|
||||
if (IDEApp.IsBeefFile(editData.mFilePath))
|
||||
{
|
||||
for (var projectSource in editData.mProjectSources)
|
||||
gApp.mBfResolveCompiler.QueueProjectSource(projectSource, .None, false);
|
||||
gApp.mBfResolveCompiler.QueueDeferredResolveAll();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -60,7 +60,7 @@ namespace IDE.Util
|
|||
|
||||
mUndoData.mUndoCount++;
|
||||
if (mUndoData.mPerforming)
|
||||
return true;
|
||||
return true;
|
||||
|
||||
mUndoData.mPerforming = true;
|
||||
for (var editData in mUndoData.mFileEditDatas)
|
||||
|
@ -78,6 +78,11 @@ namespace IDE.Util
|
|||
break;
|
||||
}
|
||||
|
||||
if (!editData.HasEditPanel())
|
||||
{
|
||||
gApp.SaveFile(editData);
|
||||
}
|
||||
|
||||
if (IDEApp.IsBeefFile(editData.mFilePath))
|
||||
{
|
||||
for (var projectSource in editData.mProjectSources)
|
||||
|
@ -122,6 +127,11 @@ namespace IDE.Util
|
|||
break;
|
||||
}
|
||||
|
||||
if (!editData.HasEditPanel())
|
||||
{
|
||||
gApp.SaveFile(editData);
|
||||
}
|
||||
|
||||
if (IDEApp.IsBeefFile(editData.mFilePath))
|
||||
{
|
||||
for (var projectSource in editData.mProjectSources)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue