[Bug 5056] New: [ddraw/dsurface/main.c] LPRECT parameters for Main_DirectDrawSurface_Lock

Wine Bugs wine-bugs at winehq.org
Wed Apr 12 13:37:14 CDT 2006


http://bugs.winehq.org/show_bug.cgi?id=5056

           Summary: [ddraw/dsurface/main.c] LPRECT parameters for
                    Main_DirectDrawSurface_Lock
           Product: Wine
           Version: 0.9.11.
          Platform: Other
               URL: http://www.winehq.com/hypermail/wine-
                    devel/2005/02/0363.html
        OS/Version: other
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: wine-directx-ddraw
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: nospam at thenerdshow.com


"the game tries to lock a surface with width and/or height 
equal to zero.the game tries to lock a surface with width and/or height 
equal to zero."

I've re-produced this bug by installing "Feeding Frenzy 2" from Pop Cap Games today.

err:ddraw:Main_DirectDrawSurface_Lock  Invalid values in LPRECT !!!
err:ddraw:Main_DirectDrawSurface_Lock  Invalid values in LPRECT !!!

The patch:

--- dlls/ddraw/dsurface/main.c    2005-01-09 18:35:44.000000000 +0100
+++ dlls/ddraw/dsurface/main.c    2005-02-14 21:03:36.511738080 +0100
@@ -1111,8 +1111,8 @@
        (prect->left < 0) ||
        (prect->bottom < 0) ||
        (prect->right < 0) ||
-        (prect->left >= prect->right) ||
-        (prect->top >= prect->bottom) ||
+        (prect->left > prect->right) ||
+        (prect->top > prect->bottom) ||
        (prect->left >= This->surface_desc.dwWidth) ||
        (prect->right > This->surface_desc.dwWidth) ||
        (prect->top >= This->surface_desc.dwHeight) ||

reportedly works around the problem, but is not a solution.  Your mission,
should you choose to accept it, is to find an actual solution, instead of this
crude workaround.

This quote, from the mailing list url (above):

"This patch won't be applied.
The things to do is to write a test case and run it under Windows.
Once the exact behaviour is determined, a proper fix can be written.
Also note that the data in LPRECT may has been corrupted at some point. 
The problem is thus elsewhere.

Bye,
Christian"

Any help with writing a test case would be appreciated.  Thanks.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the wine-bugs mailing list