diff --git a/reactos/subsys/system/ibrowser/Makefile b/reactos/subsys/system/ibrowser/Makefile index 1abc8a1356a..9f6de5e910c 100644 --- a/reactos/subsys/system/ibrowser/Makefile +++ b/reactos/subsys/system/ibrowser/Makefile @@ -17,7 +17,7 @@ TARGET_INSTALLDIR := system32 TARGET_CFLAGS := \ -D__USE_W32API -DWIN32 -D_ROS_ \ -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 \ - -DUNICODE -fexceptions -Wall \ + -DUNICODE -fexceptions -Wall -Wno-unused-value \ -I../../../include/expat TARGET_CPPFLAGS := $(TARGET_CFLAGS) diff --git a/reactos/subsys/system/ibrowser/Makefile.MinGW b/reactos/subsys/system/ibrowser/Makefile.MinGW index 1d23264e049..cd1d90f5821 100644 --- a/reactos/subsys/system/ibrowser/Makefile.MinGW +++ b/reactos/subsys/system/ibrowser/Makefile.MinGW @@ -8,7 +8,7 @@ CC = gcc CXX = g++ LINK = g++ -CFLAGS = -DWIN32 -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 -fexceptions -Wall -I. -I$(EXPAT_INC) +CFLAGS = -DWIN32 -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 -fexceptions -Wall -Wno-unused-value -I. -I$(EXPAT_INC) RCFLAGS = -DWIN32 -D__WINDRES__ LFLAGS = -Wl,--subsystem,windows diff --git a/reactos/subsys/system/ibrowser/Makefile.PCH b/reactos/subsys/system/ibrowser/Makefile.PCH index f21c6224840..769da64315b 100644 --- a/reactos/subsys/system/ibrowser/Makefile.PCH +++ b/reactos/subsys/system/ibrowser/Makefile.PCH @@ -10,7 +10,7 @@ CC = gcc CXX = g++ LINK = g++ -CFLAGS = -DWIN32 -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 -fexceptions -Wall -I. -I$(EXPAT_INC) +CFLAGS = -DWIN32 -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 -fexceptions -Wall -Wno-unused-value -I. -I$(EXPAT_INC) RCFLAGS = -DWIN32 -D__WINDRES__ LFLAGS = -Wl,--subsystem,windows diff --git a/reactos/subsys/system/ibrowser/webchild.h b/reactos/subsys/system/ibrowser/webchild.h index e2ceb6f40f2..442bd42227d 100644 --- a/reactos/subsys/system/ibrowser/webchild.h +++ b/reactos/subsys/system/ibrowser/webchild.h @@ -115,25 +115,38 @@ template struct IComSrvQI : public BASE { } - STDMETHODIMP QueryInterface(REFIID riid, LPVOID* ppv) {*ppv=0; - if (IsEqualIID(riid, _uuid_base) || - IsEqualIID(riid, IID_IUnknown)) {*ppv=static_cast(this); this->AddRef(); return S_OK;} - return E_NOINTERFACE;} + STDMETHODIMP QueryInterface(REFIID riid, LPVOID* ppv) + { + *ppv = NULL; + + if (IsEqualIID(riid, _uuid_base) || IsEqualIID(riid, IID_IUnknown)) + {*ppv=static_cast(this); this->AddRef(); return S_OK;} + + return E_NOINTERFACE; + } protected: IComSrvQI() {} + virtual ~IComSrvQI() {} REFIID _uuid_base; }; template<> struct IComSrvQI : public IUnknown { - STDMETHODIMP QueryInterface(REFIID riid, LPVOID* ppv) {*ppv=0; - if (IsEqualIID(riid, IID_IUnknown)) {*ppv=this; AddRef(); return S_OK;} - return E_NOINTERFACE;} + STDMETHODIMP QueryInterface(REFIID riid, LPVOID* ppv) + { + *ppv = NULL; + + if (IsEqualIID(riid, IID_IUnknown)) + {*ppv=this; AddRef(); return S_OK;} + + return E_NOINTERFACE; + } protected: IComSrvQI() {} + virtual ~IComSrvQI() {} }; @@ -455,6 +468,8 @@ protected: struct DWebBrowserEvents2IF { + virtual ~DWebBrowserEvents2IF() {} + virtual void StatusTextChange(const BStr& text) {} @@ -594,6 +609,9 @@ protected: // MinGW defines a wrong FixedDWebBrowserEvents2 interface with virtual functions for DISPID calls, so we use our own, corrected version: interface FixedDWebBrowserEvents2 : public IDispatch { +#ifdef __GNUC__ + virtual ~FixedDWebBrowserEvents2() {} +#endif }; struct ANSUNC DWebBrowserEvents2Impl : public SimpleComObject,