diff --git a/dom/ipc/FilePickerParent.cpp b/dom/ipc/FilePickerParent.cpp index 1438e374fe..0271890758 100644 --- a/dom/ipc/FilePickerParent.cpp +++ b/dom/ipc/FilePickerParent.cpp @@ -286,6 +286,7 @@ FilePickerParent::RecvOpen(const int16_t& aSelectedType, } } + MOZ_ASSERT(!mCallback); mCallback = new FilePickerShownCallback(this); mFilePicker->Open(mCallback); diff --git a/dom/ipc/FilePickerParent.h b/dom/ipc/FilePickerParent.h index 332007a715..7ab2f7dab1 100644 --- a/dom/ipc/FilePickerParent.h +++ b/dom/ipc/FilePickerParent.h @@ -69,7 +69,7 @@ class FilePickerParent : public PFilePickerParent private: virtual ~FilePickerShownCallback() {} - FilePickerParent* mFilePickerParent; + RefPtr mFilePickerParent; }; private: @@ -78,7 +78,7 @@ class FilePickerParent : public PFilePickerParent // This runnable is used to do some I/O operation on a separate thread. class IORunnable : public Runnable { - FilePickerParent* mFilePickerParent; + RefPtr mFilePickerParent; nsTArray> mFiles; nsTArray mResults; nsCOMPtr mEventTarget;