uhandled exception error

celticht32 at aol.com celticht32 at aol.com
Tue Jul 15 09:21:30 CDT 2008


 I have finally tracked this down and have the patch for an unhandled exception error.

The error occurs in? provider.c in routine :

static HRESULT DXDiag_InitDXDiagDirectShowFiltersContainer(IDxDiagContainer* pSubCont) which is in provider.c in dxdiagn dll.








I won't post the whole routine as I rewrote it and cleaned it up considerably and removed the GOTO's and so forth which are not part of the fix..

The fix is down at the bottom of the routine there is a call to IEnumMoniker_Release(pEnum) and when the call is done for some reason pEnum is still 
NULL and is not checked for so there is the following :

fixme:dxdiag:DXDiag_InitDXDiagDirectShowFiltersContainer        ClassEnumerator for clsid({cc7bfb41-f175-11d1-a392-00e0291f3959}) pEnum((nil))
trace:dxdiag:DXDiag_InitDXDiagDirectShowFiltersContainer Enum Moniker release
trace:dxdiag:DXDiag_InitDXDiagDirectShowFiltersContainer pEnum <(null)>
wine: Unhandled page fault on read access to 0x00000000 at address 0x61091d2b (thread 0009), starting debugger...
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x61091d2b).

by putting in a check for NULL before the call to IEnumMoniker_Release the pagefault is now gone.

Now mind you this should be done. However, it doesnt explain why the pEnum is NULL.

Since I cleaned up the routine and added this fix to the pagefault how would I submit the cleaned up routine?

I know with the bug I will put the patch on the Bugzilla page for the page fault and also put it on the patch list as well. But how do we 
submit cleaned up code?

I have this thing over using goto's and started clearing the code up and found that it was actually smaller when I was done and alot cleaner to follow. 
Goto's tend to make debugging very difficult.


Chris



 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.winehq.org/pipermail/wine-devel/attachments/20080715/53eecd2b/attachment-0001.htm 


More information about the wine-devel mailing list