shell32/brsfolder.c

Michael Jung mjung at iss.tu-darmstadt.de
Tue Apr 12 16:12:09 CDT 2005


Hi Wolfgang,

On Tuesday 12 April 2005 22:30, you wrote:
> As you might have guessed, I don't have too much knowledge about
> Windows programming. All I wanted to do in the first place was getting
> the DVD Shrink dialog to work ;-)

I didn't mean to bash your patch. If DVD Shrink doesn't work as on Windows 
then obviously there something is not correctly implemented in wine. I'm not 
that familiar with the Windows API either, but I do have two more comments on 
your patch.

> So in order to fix the DVD Shrink failure, only the following change is
> needed:
>
> # -----8<-----(snip)----------
> @@ -100,6 +100,13 @@
>      ILRemoveLastID(pidlParent);
>      pidlChild = ILClone(ILFindLastID(root));
>
> +    /* This is needed to avoid duplication of the Desktop GUID,
> +       when an empty PIDL is passed in! */
> +    if (_ILIsDesktop(pidlChild)) {
> +        ILFree( pidlChild );
> +        pidlChild = NULL;
> +    }
> +
>      if (_ILIsDesktop(pidlParent)) {
>          hr = SHGetDesktopFolder(&lpsfParent);
>      } else {
> # ----->8-----(snap)----------
>
> I still like the BFFM_SETSELECTION feature though.

You should probably split this up into two individual patches, then. This 
would make it easier to find misbehaving code later on. 

> +    {
> +        /* Always show selection */
> +        LONG_PTR dlg_style;
> +        dlg_style = GetWindowLongPtrW(hwndTreeView, GWL_STYLE);
> +        dlg_style |= TVS_SHOWSELALWAYS;
> +        SetWindowLongPtrW(hwndTreeView, GWL_STYLE, dlg_style );
> +    }
> +

This probably belongs into the shell32_*.rc files (look for 
SHBRSFORFOLDER_MSGBOX). Unfortunately, you have to fix it for all the 
localized versions.


I (and I'm sure all of the wine folks, too) do appreciate your effort. Please 
go ahead and submit to wine-patches. Alexandre will decide if it's ready for 
inclusion.

Bye,
--
Michael Jung
mjung at iss.tu-darmstadt.de



More information about the wine-devel mailing list