mirror of
https://github.com/roytam1/basilisk55.git
synced 2026-05-26 15:02:46 +00:00
ported from UXP: Clear weak pointers in FT2 font list shutdown observers. (f3de54e8)
This commit is contained in:
@@ -812,6 +812,15 @@ public:
|
||||
: mFontList(aFontList)
|
||||
{ }
|
||||
|
||||
void Remove()
|
||||
{
|
||||
nsCOMPtr<nsIObserverService> obs = services::GetObserverService();
|
||||
if (obs) {
|
||||
obs->RemoveObserver(this, NS_XPCOM_WILL_SHUTDOWN_OBSERVER_ID);
|
||||
}
|
||||
mFontList = nullptr;
|
||||
}
|
||||
|
||||
protected:
|
||||
virtual ~WillShutdownObserver()
|
||||
{ }
|
||||
@@ -847,11 +856,7 @@ gfxFT2FontList::gfxFT2FontList()
|
||||
gfxFT2FontList::~gfxFT2FontList()
|
||||
{
|
||||
if (mObserver) {
|
||||
nsCOMPtr<nsIObserverService> obs = services::GetObserverService();
|
||||
if (obs) {
|
||||
obs->RemoveObserver(mObserver, NS_XPCOM_WILL_SHUTDOWN_OBSERVER_ID);
|
||||
}
|
||||
mObserver = nullptr;
|
||||
mObserver->Remove();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ using mozilla::dom::FontListEntry;
|
||||
class FontNameCache;
|
||||
typedef struct FT_FaceRec_* FT_Face;
|
||||
class nsZipArchive;
|
||||
class WillShutdownObserver;
|
||||
|
||||
class FT2FontEntry : public gfxFontEntry
|
||||
{
|
||||
@@ -194,7 +195,7 @@ private:
|
||||
|
||||
mozilla::UniquePtr<FontNameCache> mFontNameCache;
|
||||
int64_t mJarModifiedTime;
|
||||
nsCOMPtr<nsIObserver> mObserver;
|
||||
RefPtr<WillShutdownObserver> mObserver;
|
||||
};
|
||||
|
||||
#endif /* GFX_FT2FONTLIST_H */
|
||||
|
||||
Reference in New Issue
Block a user