Eric Pouech : dbghelp: Silence a couple of C++ oriented requests in SymGetTypeInfo().

Alexandre Julliard julliard at winehq.org
Fri Oct 29 16:29:08 CDT 2021


Module: wine
Branch: master
Commit: ec0af6dc3e603b4b65d33c2a9e15a5947b765768
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=ec0af6dc3e603b4b65d33c2a9e15a5947b765768

Author: Eric Pouech <eric.pouech at gmail.com>
Date:   Fri Oct 29 15:37:57 2021 +0200

dbghelp: Silence a couple of C++ oriented requests in SymGetTypeInfo().

Signed-off-by: Eric Pouech <eric.pouech at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/dbghelp/type.c | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/dlls/dbghelp/type.c b/dlls/dbghelp/type.c
index 3a7ebfb6a0a..b7eb49116e2 100644
--- a/dlls/dbghelp/type.c
+++ b/dlls/dbghelp/type.c
@@ -991,10 +991,26 @@ BOOL symt_get_info(struct module* module, const struct symt* type,
         X(DWORD) = symt_ptr2index(module, ((const struct symt_array*)type)->index_type);
         break;
 
-    case TI_GET_CLASSPARENTID:
-        /* FIXME: we don't support properly C++ for now, pretend this symbol doesn't
-         * belong to a parent class
+    case TI_GET_SYMINDEX:
+        /* not very useful as it is...
+         * native sometimes (eg for UDT) return id of another instance
+         * of the same UDT definition... maybe forward declaration?
          */
+        X(DWORD) = symt_ptr2index(module, type);
+        break;
+
+        /* FIXME: we don't support properly C++ for now */
+    case TI_GET_VIRTUALBASECLASS:
+    case TI_GET_VIRTUALTABLESHAPEID:
+    case TI_GET_VIRTUALBASEPOINTEROFFSET:
+    case TI_GET_CLASSPARENTID:
+    case TI_GET_THISADJUST:
+    case TI_GET_VIRTUALBASEOFFSET:
+    case TI_GET_VIRTUALBASEDISPINDEX:
+    case TI_GET_IS_REFERENCE:
+    case TI_GET_INDIRECTVIRTUALBASECLASS:
+    case TI_GET_VIRTUALBASETABLETYPE:
+    case TI_GET_OBJECTPOINTERTYPE:
         return FALSE;
 
 #undef X




More information about the wine-cvs mailing list