mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-12 05:14:10 +02:00
Fixed deps in filewatcher
This commit is contained in:
parent
5e9a6031fb
commit
c3a247d8aa
1 changed files with 17 additions and 11 deletions
|
@ -55,8 +55,8 @@ namespace IDE
|
||||||
Dictionary<String, DepInfo> mWatchedFiles = new Dictionary<String, DepInfo>() ~ DeleteDictionaryAndKeysAndValues!(_); // Including ref count
|
Dictionary<String, DepInfo> mWatchedFiles = new Dictionary<String, DepInfo>() ~ DeleteDictionaryAndKeysAndValues!(_); // Including ref count
|
||||||
List<ChangeRecord> mChangeList = new .() ~ DeleteContainerAndItems!(_);
|
List<ChangeRecord> mChangeList = new .() ~ DeleteContainerAndItems!(_);
|
||||||
Dictionary<String, ChangeRecord> mChangeMap = new .() ~ delete _;
|
Dictionary<String, ChangeRecord> mChangeMap = new .() ~ delete _;
|
||||||
HashSet<Object> mDependencyChangeSet = new .() ~ delete _;
|
HashSet<void*> mDependencyChangeSet = new .() ~ delete _;
|
||||||
List<Object> mDependencyChangeList = new .() ~ delete _;
|
List<void*> mDependencyChangeList = new .() ~ delete _;
|
||||||
List<QueuedRefreshEntry> mQueuedRefreshWatcherEntries = new List<QueuedRefreshEntry>() ~ delete _;
|
List<QueuedRefreshEntry> mQueuedRefreshWatcherEntries = new List<QueuedRefreshEntry>() ~ delete _;
|
||||||
public Monitor mMonitor = new Monitor() ~ delete _;
|
public Monitor mMonitor = new Monitor() ~ delete _;
|
||||||
List<QueuedFileChange> mQueuedFileChanges = new List<QueuedFileChange>() ~ DeleteContainerAndItems!(_);
|
List<QueuedFileChange> mQueuedFileChanges = new List<QueuedFileChange>() ~ DeleteContainerAndItems!(_);
|
||||||
|
@ -205,8 +205,9 @@ namespace IDE
|
||||||
projectItem = tryProjectItem;
|
projectItem = tryProjectItem;
|
||||||
if (dep != null)
|
if (dep != null)
|
||||||
{
|
{
|
||||||
if (mDependencyChangeSet.Add(dep))
|
var depPtr = Internal.UnsafeCastToPtr(dep);
|
||||||
mDependencyChangeList.Add(dep);
|
if (mDependencyChangeSet.Add(depPtr))
|
||||||
|
mDependencyChangeList.Add(depPtr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -565,7 +566,7 @@ namespace IDE
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dependentObject != null)
|
if (dependentObject != null)
|
||||||
mDependencyChangeSet.Remove(dependentObject);
|
mDependencyChangeSet.Remove(Internal.UnsafeCastToPtr(dependentObject));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -656,11 +657,14 @@ namespace IDE
|
||||||
{
|
{
|
||||||
using (mMonitor.Enter())
|
using (mMonitor.Enter())
|
||||||
{
|
{
|
||||||
if (mDependencyChangeList.IsEmpty)
|
while (true)
|
||||||
return null;
|
{
|
||||||
Object dep = mDependencyChangeList.PopFront();
|
if (mDependencyChangeList.IsEmpty)
|
||||||
mDependencyChangeSet.Remove(dep);
|
return null;
|
||||||
return dep;
|
var dep = mDependencyChangeList.PopFront();
|
||||||
|
if (mDependencyChangeSet.Remove(dep))
|
||||||
|
return Internal.UnsafeCastToObject(dep);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -668,7 +672,9 @@ namespace IDE
|
||||||
{
|
{
|
||||||
using (mMonitor.Enter())
|
using (mMonitor.Enter())
|
||||||
{
|
{
|
||||||
mDependencyChangeSet.Add(obj);
|
var depPtr = Internal.UnsafeCastToPtr(obj);
|
||||||
|
if (mDependencyChangeSet.Add(depPtr))
|
||||||
|
mDependencyChangeList.Add(depPtr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue