From f4b66453c577c0bac2baf9c4ad7e92650b4410d0 Mon Sep 17 00:00:00 2001 From: Andrew McCreight Date: Mon, 11 Dec 2023 20:15:42 +0000 Subject: [PATCH] Bug 1868673 - Use StaticAutoPtr for gNeuteredWindows r=handyman Also, new is infallible, so remove a check. Differential Revision: https://phabricator.services.mozilla.com/D195890 --- ipc/glue/WindowsMessageLoop.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ipc/glue/WindowsMessageLoop.cpp b/ipc/glue/WindowsMessageLoop.cpp index 2f21c264f1b1..1305ecdea1ac 100644 --- a/ipc/glue/WindowsMessageLoop.cpp +++ b/ipc/glue/WindowsMessageLoop.cpp @@ -20,6 +20,7 @@ #include "mozilla/ipc/ProtocolUtils.h" #include "mozilla/mscom/Utils.h" #include "mozilla/PaintTracker.h" +#include "mozilla/StaticPtr.h" #include "mozilla/UniquePtr.h" #include "mozilla/WindowsProcessMitigations.h" @@ -89,7 +90,7 @@ const wchar_t kOldWndProcProp[] = L"MozillaIPCOldWndProc"; // This isn't defined before Windows XP. enum { WM_XP_THEMECHANGED = 0x031A }; -nsTArray* gNeuteredWindows = nullptr; +static StaticAutoPtr> gNeuteredWindows; typedef nsTArray> DeferredMessageArray; DeferredMessageArray* gDeferredMessages = nullptr; @@ -636,7 +637,6 @@ MessageChannel::SyncStackFrame::SyncStackFrame(MessageChannel* channel) if (!mStaticPrev) { NS_ASSERTION(!gNeuteredWindows, "Should only set this once!"); gNeuteredWindows = new AutoTArray(); - NS_ASSERTION(gNeuteredWindows, "Out of memory!"); } } @@ -655,7 +655,6 @@ MessageChannel::SyncStackFrame::~SyncStackFrame() { if (!mStaticPrev) { NS_ASSERTION(gNeuteredWindows, "Bad pointer!"); - delete gNeuteredWindows; gNeuteredWindows = nullptr; } }