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@iss.tu-darmstadt.de