From 1e916dca9d184c8e4fcaf9db71f7d4d22b7ab5cf Mon Sep 17 00:00:00 2001 From: sebaszm <45654185+sebaszm@users.noreply.github.com> Date: Tue, 17 Dec 2024 10:38:07 +0100 Subject: [PATCH 1/2] Fix channel open/close notifications (#1814) Co-authored-by: Pierre Wielders --- Source/Thunder/PluginServer.h | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/Source/Thunder/PluginServer.h b/Source/Thunder/PluginServer.h index 9da464f97..f109aa1cf 100644 --- a/Source/Thunder/PluginServer.h +++ b/Source/Thunder/PluginServer.h @@ -2726,12 +2726,8 @@ namespace PluginHost { POP_WARNING() ~ServiceMap() { - Core::ProxyType job(_job.Revoke()); + _job.Revoke(); - if (job.IsValid()) { - WorkerPool().Revoke(job); - _job.Revoked(); - } // Make sure all services are deactivated before we are killed (call Destroy on this object); ASSERT(_services.size() == 0); } @@ -3500,7 +3496,7 @@ namespace PluginHost { ChannelObservers _channelObservers; Channels _opened; Channels _closed; - Core::ThreadPool::JobType _job; + Core::WorkerPool::JobType _job; }; // Connection handler is the listening socket and keeps track of all open From c3c006d16874d5e7b3372330b04918963cd2e147 Mon Sep 17 00:00:00 2001 From: sebaszm <45654185+sebaszm@users.noreply.github.com> Date: Tue, 17 Dec 2024 11:07:51 +0100 Subject: [PATCH 2/2] [COM] Allow const methods with interface parameters (#1813) --- Source/com/IUnknown.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/com/IUnknown.h b/Source/com/IUnknown.h index 5f33e5df6..78cbc0f09 100644 --- a/Source/com/IUnknown.h +++ b/Source/com/IUnknown.h @@ -387,7 +387,7 @@ namespace ProxyStub { delete &_parent; } } - inline uint32_t Complete(const Core::instance_id& impl, const uint32_t id, const RPC::Data::Output::mode how) + inline uint32_t Complete(const Core::instance_id& impl, const uint32_t id, const RPC::Data::Output::mode how) const { // This method is called from the stubs. uint32_t result = Core::ERROR_NONE; @@ -500,7 +500,7 @@ POP_WARNING() { return (_unknown.Interface(implementation, id)); } - uint32_t Complete(const Core::instance_id& instance, const uint32_t id, const RPC::Data::Output::mode how) + uint32_t Complete(const Core::instance_id& instance, const uint32_t id, const RPC::Data::Output::mode how) const { return (_unknown.Complete(instance, id, how)); }