1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-09 23:34:20 +00:00

Smart Pointers: Add a new enum for indicating if a smart point should increment a reference count or not

This commit is contained in:
Anthony Nicholls 2025-09-22 17:34:34 +01:00 committed by Anthony Nicholls
parent 8931d45fe9
commit e68627c9ed
68 changed files with 243 additions and 160 deletions

View file

@ -75,7 +75,6 @@ namespace ActiveXHelpers
JUCE_COMRESULT GetBorder (LPRECT) override { return E_NOTIMPL; }
JUCE_COMRESULT RequestBorderSpace (LPCBORDERWIDTHS) override { return E_NOTIMPL; }
JUCE_COMRESULT SetBorderSpace (LPCBORDERWIDTHS) override { return E_NOTIMPL; }
JUCE_COMRESULT SetActiveObject (IOleInPlaceActiveObject* a, LPCOLESTR) override { activeObject = addComSmartPtrOwner (a); return S_OK; }
JUCE_COMRESULT InsertMenus (HMENU, LPOLEMENUGROUPWIDTHS) override { return E_NOTIMPL; }
JUCE_COMRESULT SetMenu (HMENU, HOLEMENU, HWND) override { return S_OK; }
JUCE_COMRESULT RemoveMenus (HMENU) override { return E_NOTIMPL; }
@ -83,6 +82,12 @@ namespace ActiveXHelpers
JUCE_COMRESULT EnableModeless (BOOL) override { return S_OK; }
JUCE_COMRESULT TranslateAccelerator (LPMSG, WORD) override { return E_NOTIMPL; }
JUCE_COMRESULT SetActiveObject (IOleInPlaceActiveObject* a, LPCOLESTR) override
{
activeObject = ComSmartPtr (a, IncrementRef::yes);
return S_OK;
}
HRESULT OfferKeyTranslation (LPMSG lpmsg)
{
if (activeObject != nullptr)

View file

@ -671,7 +671,7 @@ public:
Callback<ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler> (
[&result] (HRESULT, ICoreWebView2Environment* env) -> HRESULT
{
result.environment = addComSmartPtrOwner (env);
result.environment = ComSmartPtr (env, IncrementRef::yes);
return S_OK;
}).Get());
@ -857,8 +857,10 @@ private:
{
method = "POST";
auto content = becomeComSmartPtrOwner (SHCreateMemStream ((BYTE*) urlRequest.postData.getData(),
(UINT) urlRequest.postData.getSize()));
auto content = ComSmartPtr (SHCreateMemStream ((BYTE*) urlRequest.postData.getData(),
(UINT) urlRequest.postData.getSize()),
IncrementRef::no);
request->put_Content (content);
}
@ -884,8 +886,9 @@ private:
{
if (auto responseData = owner.impl->handleResourceRequest (resourceRequestUri))
{
auto stream = becomeComSmartPtrOwner (SHCreateMemStream ((BYTE*) responseData->data.data(),
(UINT) responseData->data.size()));
ComSmartPtr stream { SHCreateMemStream ((BYTE*) responseData->data.data(),
(UINT) responseData->data.size()),
IncrementRef::no };
StringArray headers { "Content-Type: " + responseData->mimeType };
@ -1063,7 +1066,7 @@ private:
if (controller != nullptr)
{
weakThis->webViewController = addComSmartPtrOwner (controller);
weakThis->webViewController = ComSmartPtr (controller, IncrementRef::yes);
controller->get_CoreWebView2 (weakThis->webView.resetAndGetPointerAddress());
auto allUserScripts = weakThis->userScripts;