diff --git a/mailnews/mime/src/nsStreamConverter.cpp b/mailnews/mime/src/nsStreamConverter.cpp index 2c608f82010..76c41bc07d2 100644 --- a/mailnews/mime/src/nsStreamConverter.cpp +++ b/mailnews/mime/src/nsStreamConverter.cpp @@ -110,6 +110,7 @@ nsresult bridge_new_new_uri(void *bridgeStream, nsIURI *aURI, PRInt32 aOutputType) { nsMIMESession *session = (nsMIMESession *)bridgeStream; + const char **fixup_pointer = nsnull; if (session) { @@ -128,6 +129,7 @@ bridge_new_new_uri(void *bridgeStream, nsIURI *aURI, PRInt32 aOutputType) default_charset = &(mdd->options->default_charset); override_charset = &(mdd->options->override_charset); url_name = &(mdd->url_name); + fixup_pointer = &(mdd->options->url); } } else @@ -139,6 +141,7 @@ bridge_new_new_uri(void *bridgeStream, nsIURI *aURI, PRInt32 aOutputType) default_charset = &(msd->options->default_charset); override_charset = &(msd->options->override_charset); url_name = &(msd->url_name); + fixup_pointer = &(msd->options->url); } } @@ -190,6 +193,8 @@ bridge_new_new_uri(void *bridgeStream, nsIURI *aURI, PRInt32 aOutputType) if (!(*url_name)) return NS_ERROR_OUT_OF_MEMORY; + // rhp: Ugh, this is ugly...but it works. + *fixup_pointer = (const char *)*url_name; CRTFREEIF(urlString); } } diff --git a/mailnews/mime/tests/mimetest/mimetest.cpp b/mailnews/mime/tests/mimetest/mimetest.cpp index c8b27bd25f3..ec591d6e52a 100644 --- a/mailnews/mime/tests/mimetest/mimetest.cpp +++ b/mailnews/mime/tests/mimetest/mimetest.cpp @@ -368,6 +368,10 @@ public: NS_IMETHOD OpenDiskFile(nsFileSpec fs); NS_IMETHOD PumpFileStream(); + NS_IMETHOD ReadSegments(nsWriteSegmentFun writer, void * closure, PRUint32 count, PRUint32 *_retval) {return NS_OK;}; + NS_IMETHOD GetNonBlocking(PRBool *aNonBlocking) {return NS_OK;}; + NS_IMETHOD GetObserver(nsIInputStreamObserver * *aObserver) {return NS_OK;}; + NS_IMETHOD SetObserver(nsIInputStreamObserver * aObserver) {return NS_OK;}; private: PRUint32 mBufLen;