howto fix bug 13462

Louis. Lenders xerox_xerox2000 at yahoo.co.uk
Sun Sep 28 07:15:06 CDT 2008


Rob Shearman <robertshearman <at> gmail.com> writes:

> 
> 2008/9/15 Louis Lenders <xerox_xerox2000 <at> yahoo.co.uk>:
> > Rob Shearman <robertshearman <at> gmail.com> writes:
> I suggest you write a test case that replicates what the 
> application does and either send it to wine-patches 
> with appropriate todo_wine's or attach it to the bug.
>  > Well, it looks like the app is only checking if the uuid of the 
> interface is defined using Context_QueryInterface, 
> and that's about it.
>  It doesn't really seem to try to use anything from it, as 
> Erich's initial hack is already enough to get the apps running as 
> well (this one:http://bugs.winehq.org/attachment.cgi?id=13379)
> 
> That's fine. You can still add a test that does the same
> > as what the app does.
>

Hi, as there isn't really much activity in the bug 
(understatement haha) i tried to hack up a test myself.
 Rob, is the test below more or less what you meant? 
or am i way off... 
(The test passes on winxp, and fails in wine, so afaics shows we 
should support the interface )

diff --git a/dlls/ole32/tests/compobj.c b/dlls/ole32/tests/compobj.c
index bdc34d9...49c3276 100644
--- a/dlls/ole32/tests/compobj.c
+++ b/dlls/ole32/tests/compobj.c
@@ -28,6 +28,7 @@
 #include "objbase.h"
 #include "shlguid..h"
 #include "urlmon.h" /* for CLSID_FileProtocol */
+//#include "ctxtcall.h"
 
 #include "wine/test.h"
 
@@ -61,6 +62,15 @@ static const IID IID_IWineTest =
     0x4fd0,
     {0xa1, 0xa2, 0x5d, 0x5a, 0x36, 0x54, 0xd3, 0xbd}
 }; /* 5201163f-8164-4fd0-a1a2-5d5a3654d3bd */
+
+static const IID IID_IContextCallback = 
+{
+    0x000001da ,
+    0x0000,
+    0x0000,
+    {0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46 }
+};
+
 static const CLSID CLSID_WineOOPTest = {
     0x5201163f,
     0x8164,
@@ -1022,6 +1032,26 @@ static void test_CoGetObjectContext(void)
     CoUninitialize();
 }
 
+static void test_ContextCallBack(void)
+{
+
+    HRESULT hr;
+    IComThreadingInfo *pComThreadingInfo;
+
+    if (!pCoGetObjectContext)
+    {
+        skip("CoGetObjectContext not present\n");
+        return;
+    }
+
+    pCoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
+
+    hr = pCoGetObjectContext(&IID_IContextCallback, (void **)&pComThreadingInfo);
+    
+    ok_ole_success(hr, "CoGetObjectContext");
+    CoUninitialize();
+}
+
 START_TEST(compobj)
 {
     HMODULE hOle32 = GetModuleHandle("ole32");
@@ -1050,4 +1080,5 @@ START_TEST(compobj)
     test_registered_object_thread_affinity();
     test_CoFreeUnusedLibraries();
     test_CoGetObjectContext();
+    test_ContextCallBack();
 }



      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.winehq.org/pipermail/wine-devel/attachments/20080928/03a5c01a/attachment.htm 


More information about the wine-devel mailing list