Наша сборка Qt VS Tools
giy
2022-09-02 ca47896204482bf4a6979e3838bf7f09f61cebeb
QtVsTools.Package/QML/Debugging/V4/QmlDebugV4Protocol.cs
@@ -53,10 +53,10 @@
        IMessageEventSink sink;
        DebugClient client;
        int nextRequestSeq = 0;
        Dictionary<int, PendingRequest> pendingRequests = new Dictionary<int, PendingRequest>();
        readonly Dictionary<int, PendingRequest> pendingRequests = new Dictionary<int, PendingRequest>();
        Task eventHandlingThread;
        EventWaitHandle eventReceived = new EventWaitHandle(false, EventResetMode.AutoReset);
        ConcurrentQueue<Event> eventQueue = new ConcurrentQueue<Event>();
        readonly EventWaitHandle eventReceived = new EventWaitHandle(false, EventResetMode.AutoReset);
        readonly ConcurrentQueue<Event> eventQueue = new ConcurrentQueue<Event>();
        public uint? ThreadId { get { return client.ThreadId; } }
@@ -92,7 +92,8 @@
        protected override void DisposeFinally()
        {
            eventReceived.Set();
            eventHandlingThread.Wait();
            QtVsToolsPackage.Instance.JoinableTaskFactory.Run(
                async () => await Task.WhenAll(new[] { eventHandlingThread }));
            eventReceived.Dispose();
        }
@@ -100,8 +101,7 @@
        {
            while (!Disposing) {
                eventReceived.WaitOne();
                Event evt;
                while (!Disposing && eventQueue.TryDequeue(out evt))
                while (!Disposing && eventQueue.TryDequeue(out Event evt))
                    sink.NotifyEvent(evt);
            }
        }
@@ -209,8 +209,8 @@
        public class PendingRequest : Finalizable
        {
            public Request Request { get; private set; }
            EventWaitHandle responded;
            public Request Request { get; }
            readonly EventWaitHandle responded;
            public PendingRequest()
            {