Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
6b5f516
[ZH] Basic preprocessor fixes
zzambers Apr 1, 2025
176f1ce
[ZH] Replacements of _int64 with __int64
zzambers Apr 1, 2025
5ec2ac7
[ZH] Introdution of CPP_11 macro for code requiring c++11 or higher
zzambers Mar 30, 2025
43c49b2
[ZH] Forward enum declacrations portability fix
zzambers Apr 1, 2025
d89f254
[ZH] Fix of missing forward declarations
zzambers Apr 1, 2025
3c05bd8
[ZH] Fix of missing includes
zzambers Apr 1, 2025
1a37f94
[ZH] Fix of accesses to parent class members
zzambers Mar 29, 2025
3d4c893
[ZH] Fixes of template specializations
zzambers Apr 1, 2025
32c2234
[ZH] Removal of static keyword for enums
zzambers Apr 1, 2025
eaf937e
[ZH] Fixed boolean redefinition
zzambers Mar 29, 2025
f5e72d9
[ZH] Fix of non-static declarations with static definitions
zzambers Apr 1, 2025
862b45d
[ZH] Fix of function pointer catsts to void*
zzambers Apr 1, 2025
337a01d
[ZH] Fix of direct constructor calls
zzambers Apr 1, 2025
d8fb831
[ZH] Fix of unsigned values in signed arrays
zzambers Apr 1, 2025
be8d67b
[ZH] COM related fixes
zzambers Apr 1, 2025
11928ee
[ZH] Fixes of test main methods
zzambers Apr 1, 2025
95e8064
[ZH] Fix to do stack trace only when support is enabled
zzambers Apr 1, 2025
ed1a5dd
[ZH] Fix of unsigned short casts
zzambers Mar 29, 2025
6e6fad4
[ZH] typename fixes
zzambers Mar 29, 2025
81f4234
[ZH] Fix of virtual method declarations
zzambers Mar 29, 2025
4cb8d7c
[ZH] Fix of sizeof operators
zzambers Mar 29, 2025
1073855
[ZH] Fix of forgotten BitTest macro usage
zzambers Mar 29, 2025
ef1d840
[ZH] Fix making use of proper MouseButtonState constants
zzambers Mar 29, 2025
cd6be77
[ZH] Fix to avoid unsupported __try and __except on GCC
zzambers Mar 29, 2025
9edf0f4
[ZH] Fix to avoid VS specific new operators on GCC
zzambers Apr 1, 2025
63ec6dd
[ZH] Fix of loop counter scope
zzambers Mar 29, 2025
aa30755
[ZH] Fix of calls with excess argument
zzambers Mar 29, 2025
23a34a9
[ZH] Removal of duplicit strtrim
zzambers Mar 30, 2025
b117146
[ZH] Fix of strtok_r redefinition on mingw
zzambers Mar 29, 2025
feba1d3
[ZH] Use feature testing macros for std::atomic_flag::{wait,notify_one}
zzambers Apr 1, 2025
c5cc49c
[ZH] Fixes to intrin_compat.h
zzambers Apr 2, 2025
ff2197f
[ZH] Rest of asm code made VC only
zzambers Apr 2, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions Dependencies/Utility/Utility/CppMacros.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,13 @@
#define NOEXCEPT_17
#endif

// noexcept for methods of IUNKNOWN interface
#if defined(_MSC_VER)
#define IUNKNOWN_NOEXCEPT NOEXCEPT_17
#else
#define IUNKNOWN_NOEXCEPT
#endif

#if __cplusplus >= 201103L
#define CPP_11(code) code
#else
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,9 +113,9 @@ class WebBrowser :
// IUnknown methods
//---------------------------------------------------------------------------
protected:
HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject) NOEXCEPT_17;
ULONG STDMETHODCALLTYPE AddRef(void) NOEXCEPT_17;
ULONG STDMETHODCALLTYPE Release(void) NOEXCEPT_17;
HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject) IUNKNOWN_NOEXCEPT;
ULONG STDMETHODCALLTYPE AddRef(void) IUNKNOWN_NOEXCEPT;
ULONG STDMETHODCALLTYPE Release(void) IUNKNOWN_NOEXCEPT;

//---------------------------------------------------------------------------
// IBrowserDispatch methods
Expand Down
2 changes: 1 addition & 1 deletion GeneralsMD/Code/GameEngine/Source/Common/GameEngine.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ GameEngine::GameEngine( void )
m_quitting = FALSE;
m_isActive = FALSE;

_Module.Init(NULL, ApplicationHInstance);
_Module.Init(NULL, ApplicationHInstance, NULL);
}

//-------------------------------------------------------------------------------------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ WebBrowserURL * WebBrowser::makeNewURL(AsciiString tag)
*
******************************************************************************/

STDMETHODIMP WebBrowser::QueryInterface(REFIID iid, void** ppv) NOEXCEPT_17
STDMETHODIMP WebBrowser::QueryInterface(REFIID iid, void** ppv) IUNKNOWN_NOEXCEPT
{
*ppv = NULL;

Expand Down Expand Up @@ -270,7 +270,7 @@ STDMETHODIMP WebBrowser::QueryInterface(REFIID iid, void** ppv) NOEXCEPT_17
*
******************************************************************************/

ULONG STDMETHODCALLTYPE WebBrowser::AddRef(void) NOEXCEPT_17
ULONG STDMETHODCALLTYPE WebBrowser::AddRef(void) IUNKNOWN_NOEXCEPT
{
return ++mRefCount;
}
Expand All @@ -290,7 +290,7 @@ ULONG STDMETHODCALLTYPE WebBrowser::AddRef(void) NOEXCEPT_17
*
******************************************************************************/

ULONG STDMETHODCALLTYPE WebBrowser::Release(void) NOEXCEPT_17
ULONG STDMETHODCALLTYPE WebBrowser::Release(void) IUNKNOWN_NOEXCEPT
{
DEBUG_ASSERTCRASH(mRefCount > 0, ("Negative reference count"));
--mRefCount;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,11 @@ Bool W3DWebBrowser::createBrowserWindow(const char *tag, GameWindow *win)
return FALSE;
}

#ifdef __GNUC__
CComQIIDPtr<I_ID(IDispatch)> idisp(m_dispatch);
#else
CComQIPtr<IDispatch> idisp(m_dispatch);
#endif
if (m_dispatch == NULL)
{
return FALSE;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,6 @@ library BROWSERDISPATCHLib
]
interface IBrowserDispatch : IUnknown
{
[id(1), helpstring("method TestMethod")] HRESULT TestMethod(Int num1);
[id(1), helpstring("method TestMethod")] HRESULT TestMethod(int num1);
};
};
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
//
// typelib filename: <could not determine filename>

import "oaidl.idl";
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file was already moved to Core folder so you will need to replicate this there.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The IDL file was generated by a tool. Perhaps add a fat comment here that this has been added by hand.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Error by widl is:

BrowserEngine.idl:31:44: error: type 'IDispatch' not found in global namespace

    interface IFEBrowserEngine2 : IDispatch {
                                           ^

IDispatch is in oaidl.idl in wine headers.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same with MinGW headers. (IDispatch is in oaidl.idl)

[
uuid(6EE45698-21BA-420D-AD40-1B547699BEFB),
version(1.0)
Expand Down