diff --git a/widget/cocoa/nsMenuItemIconX.h b/widget/cocoa/nsMenuItemIconX.h index c9d908063f6d0..c2d3442cbb5d6 100644 --- a/widget/cocoa/nsMenuItemIconX.h +++ b/widget/cocoa/nsMenuItemIconX.h @@ -13,6 +13,7 @@ #import #include "mozilla/widget/IconLoader.h" +#include "mozilla/WeakPtr.h" class nsIconLoaderService; class nsIURI; @@ -62,7 +63,7 @@ class nsMenuItemIconX final : public mozilla::widget::IconLoader::Listener { Listener* mListener; // [weak] nsIntRect mImageRegionRect; RefPtr mComputedStyle; - RefPtr mPresContext; + mozilla::WeakPtr mPresContext; NSImage* mIconImage = nil; // [strong] RefPtr mIconLoader; }; diff --git a/widget/cocoa/nsMenuItemIconX.mm b/widget/cocoa/nsMenuItemIconX.mm index 5954d4573625f..4beb04aef16af 100644 --- a/widget/cocoa/nsMenuItemIconX.mm +++ b/widget/cocoa/nsMenuItemIconX.mm @@ -167,10 +167,10 @@ [mIconImage release]; mIconImage = nil; } - + RefPtr pc = mPresContext.get(); mIconImage = [[MOZIconHelper iconImageFromImageContainer:aImage withSize:NSMakeSize(kIconSize, kIconSize) - presContext:mPresContext + presContext:pc computedStyle:mComputedStyle subrect:mImageRegionRect scaleFactor:0.0f] retain];