Picasa2- slideshow mode fixes [patch #1]
Matthew Mastracci
matt at aclaro.com
Sun Mar 6 01:55:29 CST 2005
Woohoo! With my patch from before and some extra hacking, I managed to
get the slideshow working in Picasa by faking out some DirectDraw
capabilities. Apparently, it requires the presence of the
DDCAPS_OVERLAY and DDCAPS_OVERLAYSTRETCH to do its slideshow properly
(and aborts silently if they aren't there).
Adding the fake capabilities lets the slideshow run, though the images
aren't stretched to the entire size of the window unless the slideshow
overlay is showing at the bottom. It's hard to describe and a little
jarring when you're interacting with the slideshow. Not sure if this is
because of the lack of true overlay surface support, but this message
seems to indicate so:
trace:ddraw:Main_DirectDraw_CreateSurface App didn't request a valid
surface type - assuming offscreenplain
I don't know if I should submit this as part of a patch, since it
doesn't implement the functionality. Here is the change, for those
interested:
Index: dlls/ddraw/ddraw/user.c
===================================================================
RCS file: /home/wine/wine/dlls/ddraw/ddraw/user.c,v
retrieving revision 1.22
diff -u -r1.22 user.c
--- dlls/ddraw/ddraw/user.c 8 Sep 2004 01:50:37 -0000 1.22
+++ dlls/ddraw/ddraw/user.c 6 Mar 2005 07:04:29 -0000
@@ -143,7 +143,7 @@
#define BLIT_CAPS (DDCAPS_BLT | DDCAPS_BLTCOLORFILL | DDCAPS_BLTDEPTHFILL \
| DDCAPS_BLTSTRETCH | DDCAPS_CANBLTSYSMEM | DDCAPS_CANCLIP \
| DDCAPS_CANCLIPSTRETCHED | DDCAPS_COLORKEY \
- | DDCAPS_COLORKEYHWASSIST)
+ | DDCAPS_COLORKEYHWASSIST | DDCAPS_OVERLAY | DDCAPS_OVERLAYSTRETCH)
#define CKEY_CAPS (DDCKEYCAPS_DESTBLT | DDCKEYCAPS_SRCBLT)
#define FX_CAPS (DDFXCAPS_BLTALPHA | DDFXCAPS_BLTMIRRORLEFTRIGHT \
| DDFXCAPS_BLTMIRRORUPDOWN | DDFXCAPS_BLTROTATION90 \
Matthew Mastracci wrote:
> I've been trying to get the slideshow mode in Picasa2 to work, but it
> seems like it's relying on IDirectDrawSurface->Lock() to return
> DDERR_SURFACEBUSY if the surface is already locked. If this call
> doesn't return the error, it seems to keep hammering the function
> until it does. It then proceeds to hit a stack overflow condition
> somehow and dies. :)
>
> I think it's a bug in Picasa, but my ddraw-surface-lock.diff patch in
> wine-patches fixes this behaviour (but not the feature, unfortunately).
>
> Note that now the slideshow mode now just terminates without error.
> I'll keep on looking to see what's happening.
>
> Matt.
>
More information about the wine-devel
mailing list