diff --git a/toolkit/components/downloads/src/Makefile.in b/toolkit/components/downloads/src/Makefile.in index 1afae90ce0a9..1e652274df5e 100644 --- a/toolkit/components/downloads/src/Makefile.in +++ b/toolkit/components/downloads/src/Makefile.in @@ -74,9 +74,11 @@ CPPSRCS = \ nsDownloadManager.cpp \ $(NULL) +ifndef GNU_CXX ifeq ($(OS_ARCH),WINNT) CPPSRCS += nsDownloadScanner.cpp endif +endif EXTRA_COMPONENTS = \ nsDownloadManagerUI.js \ diff --git a/toolkit/components/downloads/src/nsDownloadManager.cpp b/toolkit/components/downloads/src/nsDownloadManager.cpp index bf370b1ac0c4..67a22a03ddf5 100644 --- a/toolkit/components/downloads/src/nsDownloadManager.cpp +++ b/toolkit/components/downloads/src/nsDownloadManager.cpp @@ -82,8 +82,10 @@ #ifdef XP_WIN #include +#ifndef __MINGW32__ #include "nsDownloadScanner.h" #endif +#endif #define DOWNLOAD_MANAGER_BUNDLE "chrome://mozapps/locale/downloads/downloads.properties" #define DOWNLOAD_MANAGER_ALERT_ICON "chrome://mozapps/skin/downloads/downloadIcon.png" @@ -127,7 +129,7 @@ nsDownloadManager::GetSingleton() nsDownloadManager::~nsDownloadManager() { -#ifdef XP_WIN +#if defined(XP_WIN) and !defined(__MINGW32__) delete mScanner; #endif gDownloadManagerService = nsnull; @@ -836,7 +838,7 @@ nsDownloadManager::Init() getter_AddRefs(mBundle)); NS_ENSURE_SUCCESS(rv, rv); -#ifdef XP_WIN +#if defined(XP_WIN) and !defined(__MINGW32__) mScanner = new nsDownloadScanner(); if (!mScanner) return NS_ERROR_OUT_OF_MEMORY; @@ -1779,7 +1781,7 @@ nsDownload::SetState(DownloadState aState) // Transfers are finished, so break the reference cycle Finalize(); break; -#ifdef XP_WIN +#if defined(XP_WIN) and !defined(__MINGW32__) case nsIDownloadManager::DOWNLOAD_SCANNING: { nsresult rv = mDownloadManager->mScanner ? mDownloadManager->mScanner->ScanDownload(this) : NS_ERROR_NOT_INITIALIZED; @@ -2083,7 +2085,7 @@ nsDownload::OnStateChange(nsIWebProgress *aWebProgress, mPercentComplete = 100; mLastUpdate = PR_Now(); -#ifdef XP_WIN +#if defined(XP_WIN) and !defined(__MINGW32__) (void)SetState(nsIDownloadManager::DOWNLOAD_SCANNING); #else (void)SetState(nsIDownloadManager::DOWNLOAD_FINISHED); diff --git a/toolkit/components/downloads/src/nsDownloadManager.h b/toolkit/components/downloads/src/nsDownloadManager.h index a32676450ec5..01e36719cefd 100644 --- a/toolkit/components/downloads/src/nsDownloadManager.h +++ b/toolkit/components/downloads/src/nsDownloadManager.h @@ -71,7 +71,7 @@ typedef PRInt16 DownloadType; class nsDownload; -#ifdef XP_WIN +#if defined(XP_WIN) and !defined(__MINGW32__) class nsDownloadScanner; #endif @@ -88,7 +88,7 @@ public: static nsDownloadManager *GetSingleton(); virtual ~nsDownloadManager(); -#ifdef XP_WIN +#if defined(XP_WIN) and !defined(__MINGW32__) nsDownloadManager() : mScanner(nsnull) { }; private: nsDownloadScanner *mScanner;