http://bugzilla.novell.com/show_bug.cgi?id=499566
Summary: a QueryInterface in C++ on C# COM object only works
for directly implemented interfaces not interfaces
implemented by base classes. .NET Difference
Classification: Mono
Product: Mono: Runtime
Version: SVN
Platform: i686
OS/Version: Linux
Status: NEW
Severity: Normal
Priority: P5 - None
Component: interop
AssignedTo: [email protected]
ReportedBy: [email protected]
QAContact: [email protected]
Found By: ---
Created an attachment (id=289056)
--> (http://bugzilla.novell.com/attachment.cgi?id=289056)
Allows cominterop_ccw_queryinterface to find interfaces implemented by base
classes.
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.8)
Gecko/2009032711 Ubuntu/8.04 (hardy) Firefox/3.0.8
a QueryInterface in C++ on C# COM object only works for directly implemented
interfaces not interfaces implemented by base classes.
For example: class' defined in C#
class A : IX, IY
{
}
class B : A, IZ
{
}
in C++
// Assuming b is an instance of B
b->QueryInterface(IZ) // works
b->QueryInterface(IX) // doesn't work but should
b->QueryInterface(IY) // doesn't work but should
// Assuming a is an instance of A
b->QueryInterface(IX> // works
b->QueryInterface(IY> // works
Attached patch to fix this issue.
Reproducible: Always
Steps to Reproduce:
1.
2.
3.
--
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
_______________________________________________
mono-bugs maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-bugs