Browse Source

ReaperEmbeddedViewDemo: Make refcounting slightly more consistent

v6.1.6
reuk 3 years ago
parent
commit
9fbcedb93e
No known key found for this signature in database GPG Key ID: 9ADCD339CFC98A11
1 changed files with 5 additions and 7 deletions
  1. +5
    -7
      examples/Plugins/ReaperEmbeddedViewPluginDemo.h

+ 5
- 7
examples/Plugins/ReaperEmbeddedViewPluginDemo.h View File

@@ -121,13 +121,14 @@ public:
return listener.handledEmbeddedUIMessage (msg, parm2, parm3); return listener.handledEmbeddedUIMessage (msg, parm2, parm3);
} }
Steinberg::uint32 PLUGIN_API addRef() override { return (Steinberg::uint32) ++refCount; }
Steinberg::uint32 PLUGIN_API release() override { return (Steinberg::uint32) --refCount; }
Steinberg::uint32 PLUGIN_API addRef() override { return ++refCount; }
Steinberg::uint32 PLUGIN_API release() override { return --refCount; }
Steinberg::tresult PLUGIN_API queryInterface (const Steinberg::TUID tuid, void** obj) override Steinberg::tresult PLUGIN_API queryInterface (const Steinberg::TUID tuid, void** obj) override
{ {
if (std::memcmp (tuid, iid, sizeof (Steinberg::TUID)) == 0) if (std::memcmp (tuid, iid, sizeof (Steinberg::TUID)) == 0)
{ {
++refCount;
*obj = this; *obj = this;
return Steinberg::kResultOk; return Steinberg::kResultOk;
} }
@@ -138,7 +139,7 @@ public:
private: private:
EmbeddedViewListener& listener; EmbeddedViewListener& listener;
std::atomic<int> refCount { 1 };
std::atomic<Steinberg::uint32> refCount { 1 };
}; };
JUCE_END_IGNORE_WARNINGS_GCC_LIKE JUCE_END_IGNORE_WARNINGS_GCC_LIKE
@@ -237,11 +238,8 @@ public:
int32_t queryIEditController (const Steinberg::TUID tuid, void** obj) override int32_t queryIEditController (const Steinberg::TUID tuid, void** obj) override
{ {
if (std::memcmp (tuid, embeddedUi.iid, sizeof (Steinberg::TUID)) == 0)
{
*obj = &embeddedUi;
if (embeddedUi.queryInterface (tuid, obj) == Steinberg::kResultOk)
return Steinberg::kResultOk; return Steinberg::kResultOk;
}
*obj = nullptr; *obj = nullptr;
return Steinberg::kNoInterface; return Steinberg::kNoInterface;


Loading…
Cancel
Save