A strange problem with xmpeg

Waldeck Schutzer schutzer at math.rutgers.edu
Wed Jan 22 14:56:45 CST 2003


I'm successfully running xmpeg 4.5 with the current snapshot of wine. 
However, occasionally I get this very strange glitches:

1. When the splash screen desapears, so does all of my desktop. I have 
to make a Refresh Desktop to get it back. Judging by the log below, I am 
suspecting of something in the DirectDraw functions. Upon request I will 
gladily send a (45Kb) screen shot of this.

2. Whenever I click on a radio button for YV12 under Project 
Options/Post Processing, it crashes with the message

wine: main.c:572: DDRAW_width_bpp_to_pitch: Assertion `bpp != 0' failed.

I traced this down to the ddraw module and made the following very ugly 
hack around it by changing the macro PFGET_BPP to make sure it never 
returns zero:

Index: wine/dlls/ddraw/ddraw_private.h
===================================================================
RCS file: /home/wine/wine/dlls/ddraw/ddraw_private.h,v
retrieving revision 1.35
diff -u -p -r1.35 ddraw_private.h
--- wine/dlls/ddraw/ddraw_private.h     2 Jan 2003 19:51:25 -0000       1.35
+++ wine/dlls/ddraw/ddraw_private.h     20 Jan 2003 20:02:45 -0000
@@ -331,7 +331,8 @@ const ddraw_driver* DDRAW_FindDriver(con
 /* Get DDSCAPS of surface (shortcutmacro) */
 #define SDDSCAPS(iface) ((iface)->s.surface_desc.ddsCaps.dwCaps)
 /* Get the number of bytes per pixel for a given surface */
-#define PFGET_BPP(pf) 
(pf.dwFlags&DDPF_PALETTEINDEXED8?1:((pf.u1.dwRGBBitCount+7)/8))
+#define PFGET_BPPZ(pf) 
(pf.dwFlags&DDPF_PALETTEINDEXED8?1:((pf.u1.dwRGBBitCount+7)/8))
+#define PFGET_BPP(x) (PFGET_BPPZ(x)==0?1:PFGET_BPPZ(x))
 #define GET_BPP(desc) PFGET_BPP(desc.u4.ddpfPixelFormat)

 LONG DDRAW_width_bpp_to_pitch(DWORD width, DWORD bpp);

Now it won't crash anymore, but when I click on that button, the whole 
dialog box gets misteriously sent to the back!

Anybody else having these problems? Any hints as to what could to be the 
problem?

Waldeck

-------------- next part --------------
fixme:keyboard:X11DRV_KEYBOARD_DetectLayout Your keyboard layout was not found!
Using closest match instead (United States keyboard layout) for scancode mapping.
Please define your layout in windows/x11drv/keyboard.c and submit them
to us for inclusion into future Wine releases.
See the Wine User Guide, chapter "Keyboard" for more information.
mcop warning: user defined signal handler found for SIG_PIPE, overriding
fixme:ole:MSFT_DoTypeInfo Assign constructor/destructor memid
fixme:ole:MSFT_DoTypeInfo Assign constructor/destructor memid
fixme:win32:PE_CreateModule Unknown directory 15 ignored
fixme:win32:PE_CreateModule Unknown directory 15 ignored
fixme:win32:PE_CreateModule Unknown directory 15 ignored
fixme:win32:PE_CreateModule Unknown directory 15 ignored
fixme:commctrl:InitCommonControlsEx Unknown class! dwICC=0x8000
fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x402c3f50)->(00010021,00000008)
fixme:ddraw:Main_DirectDraw_CreateSurface App didn't request a valid surface type - assuming offscreenplain


More information about the wine-users mailing list