<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman, new york, times, serif;font-size:12pt"><div>Rob Shearman <robertshearman <at> gmail.com> writes:<br><br>> <br>> 2008/9/15 Louis Lenders <xerox_xerox2000 <at> yahoo.co.uk>:<br>> > Rob Shearman <robertshearman <at> gmail.com> writes:<br>> I suggest you write a test case that replicates what the <br>> application does and either send it to wine-patches <br>> with appropriate todo_wine's or attach it to the bug.<br>> > Well, it looks like the app is only checking if the uuid of the <br>> interface is defined using Context_QueryInterface, <br>> and that's about it.<br>> It doesn't really seem to try to use anything from it, as <br>> Erich's initial hack is already enough to get the apps running as <br>> well (this
one:http://bugs.winehq.org/attachment.cgi?id=13379)<br>> <br>> That's fine. You can still add a test that does the same<br>> > as what the app does.<br>><br><br>Hi, as there isn't really much activity in the bug <br>(understatement haha) i tried to hack up a test myself.<br> Rob, is the test below more or less what you meant? <br>or am i way off... <br>(The test passes on winxp, and fails in wine, so afaics shows we <br>should support the interface )<br><br>diff --git a/dlls/ole32/tests/compobj.c b/dlls/ole32/tests/compobj.c<br>index bdc34d9..49c3276 100644<br>--- a/dlls/ole32/tests/compobj.c<br>+++ b/dlls/ole32/tests/compobj.c<br>@@ -28,6 +28,7 @@<br> #include "objbase.h"<br> #include "shlguid.h"<br> #include "urlmon.h" /* for CLSID_FileProtocol */<br>+//#include "ctxtcall.h"<br> <br> #include "wine/test.h"<br> <br>@@ -61,6 +62,15 @@ static const IID IID_IWineTest =<br>
0x4fd0,<br> {0xa1, 0xa2, 0x5d, 0x5a, 0x36, 0x54, 0xd3, 0xbd}<br> }; /* 5201163f-8164-4fd0-a1a2-5d5a3654d3bd */<br>+<br>+static const IID IID_IContextCallback = <br>+{<br>+ 0x000001da ,<br>+ 0x0000,<br>+ 0x0000,<br>+ {0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46 }<br>+};<br>+<br> static const CLSID CLSID_WineOOPTest = {<br> 0x5201163f,<br> 0x8164,<br>@@ -1022,6 +1032,26 @@ static void test_CoGetObjectContext(void)<br> CoUninitialize();<br> }<br> <br>+static void test_ContextCallBack(void)<br>+{<br>+<br>+ HRESULT hr;<br>+ IComThreadingInfo *pComThreadingInfo;<br>+<br>+ if (!pCoGetObjectContext)<br>+ {<br>+ skip("CoGetObjectContext not
present\n");<br>+ return;<br>+ }<br>+<br>+ pCoInitializeEx(NULL, COINIT_APARTMENTTHREADED);<br>+<br>+ hr = pCoGetObjectContext(&IID_IContextCallback, (void **)&pComThreadingInfo);<br>+ <br>+ ok_ole_success(hr, "CoGetObjectContext");<br>+ CoUninitialize();<br>+}<br>+<br> START_TEST(compobj)<br> {<br> HMODULE hOle32 = GetModuleHandle("ole32");<br>@@ -1050,4 +1080,5 @@ START_TEST(compobj)<br> test_registered_object_thread_affinity();<br> test_CoFreeUnusedLibraries();<br> test_CoGetObjectContext();<br>+ test_ContextCallBack();<br> }<br></div></div><br>
</body></html>