Commit graph

23 commits

Author SHA1 Message Date
Yaroslav Kibysh a30e644dc4 [EXPLORER][SHPOLICY] Implement "NoSimpleStartMenu" policy (#1258)
- Enable "New Start Menu" control for all languages.
- Implement the "NoSimpleStartMenu" policy in shpolicy.c and its usage in explorer.
- Hide controls instead of disabling (as in Win XP/Vista).
2019-03-24 14:56:43 +01:00
Stanislav Motylkov cc99d3ad5f [SHELL32] Add line bar to About dialog for consistence
Addendum to f9d2931. CORE-15215
2019-03-23 19:11:28 +01:00
Yaroslav Kibysh 3999e875be [SHPOLICY] Fix the missing backslash in SHRestricted. CORE-15666 (#1267)
Import Wine commit https://source.winehq.org/git/wine.git/?a=commit;h=dbbfa481539acd29de47ff6cd5cc2d24a2e01871

Original patch from Yaroslav Kibysh, reported to Wine and committed there by Fabian Maurer.
Thank you all!
2019-03-23 18:28:39 +01:00
Ged Murphy 0649f25b48 [SHELL32] Implement SHTestTokenMembership and forward IsUserAnAdmin to it
Moved to the bottom of the file with the other ros functions to help keep wine syncs easier.
2019-03-04 11:54:43 +00:00
Mark Jansen d766391231
[SHELL32] Abort change notifications on a nullptr
CORE-15703
2019-02-18 23:00:31 +01:00
Hermès Bélusca-Maïto 7ee298bbfc
[SHELL32] In _SHExpandEnvironmentStrings(), fall back to SHExpandEnvironmentStringsForUserW() if the simplified code paths failed.
This allows the code to give a last chance for expanding the string.
And if it still fails, we bail out as expected and the caller will
take appropriate actions.

As a by-product, this commit (together with the previous one e2960914)
fixes the regression CORE-14981 (Quick-Launch bar couldn't be opened
in LiveCD).
2018-09-23 00:18:57 +02:00
Hermès Bélusca-Maïto e29609147b
[SHELL32] In _SHGetUserShellFolderPath(), check the return value of _SHExpandEnvironmentStrings()
and bail out if it failed. That way we won't use and cache in the registry an invalid-expanded string.

CORE-14981
2018-09-23 00:16:06 +02:00
Hermès Bélusca-Maïto 41a5b11fcd
[SHELL32] Partially synchronize wine/shellpath.c with Wine.
- Adjust the code with respect to:
  "shell32: Re-add support for expanding ALLUSERSPROFILE for backward compatibility."
  4a6855a575c02aa1569aab8b2e96720fc02f3f26 (Alexandre Julliard)

- "shell32: Avoid infinite loop in _SHExpandEnvironmentStrings."
  ceea5bda14ecf4c8ce262fc7ab88df49e500bc38 (Alexandre Julliard)

- "shell32: Assume that system directory always contains a drive letter."
  54530bc4933ae1014c3697c95e22b8ca5a275bc4 (Alexandre Julliard)

- "shell32: Use ARRAY_SIZE macro."
  612a1941331485725952d34f3dcd5866fc318dc2 (Nikolay Sivov)

- "shell32: Fix a trace message."
  bb09bb5750d617047aa23635731519a2f9486159 (Nikolay Sivov)

- "shell32: Fix SHGetFolderPathAndSubDir() trace message."
  f75d5625966933562b974540a3f29dfcd720ad50 (Nikolay Sivov)

- "shell32: Pass correct buffer length to RegQueryValueExW()."
  0bfb97dcba29552b51d8609fcc6e7bbc04bb8320 (Nikolay Sivov)

- "shell32: Remove unused string (Clang)."
  8d50a8a246960749afba21eac117b4fcbbf2c79d (André Hentschel)

- "shell32: Use E_NOT_SUFFICIENT_BUFFER definition."
  730e744e3bd6b706612fe0f90a7efb2e600f114f (Nikolay Sivov)
2018-09-23 00:16:02 +02:00
Hermès Bélusca-Maïto 74adcadbd0
[SHELL32] Silence a noisy DPRINT. 2018-07-29 17:39:09 +02:00
Hermès Bélusca-Maïto 2afb483a9e
[SHELL32] Shell Profile Folders fixes.
- Fix a regression introduced in r65415 (1795a3bf) where the directory
  paths stored in "Windows\CurrentVersion\Explorer\User Shell Folders"
  were stored in expanded format instead of in unexpanded format:
  _SHGetDefaultValue() *MUST* return unexpanded paths by design!!

- Augment _SHExpandEnvironmentStrings() and _SHGetUserShellFolderPath()
  to take a user token handle to be able to correctly resolve/expand
  user-specific directory paths.

- Fix _SHExpandEnvironmentStrings() so that it always retrieve the
  correct current user / all-users directory paths by calling userenv
  functions, instead of hardcoding a broken logic. As a result this
  removes the "C:\Documents and Settings\SYSTEM" ghost directory we got
  during ReactOS installation.

- Delimit the changes with respect to Wine by #if(n)def __REACTOS__ .
2018-06-30 18:20:08 +02:00
Katayama Hirofumi MZ 3189ec9428 [SHELL32] Add missing desktop.ini files (#640)
Add the "desktop.ini" files to the special folders to realize their custom icons.
CORE-10045
2018-06-27 23:11:31 +02:00
Mark Jansen b569195ecf
[SHELL32] Partially sync SHGetFileInfo with wine to improve folder type names.
CORE-14542
2018-04-22 17:38:44 +02:00
Pierre Schweitzer da8a41b97b
[SHELL32] Fix a directory handle leak when browsing folders
A bit of history: in r71528, I tried to fix our explorer often
crashing while browsing directories. It was linked to the fact
that a notification result may arrive while the notification
structure had already been deleted.

The fix for this was actually broken and was leading to a double
leak: the notification structure was leaked. But also the handle
to the directory that had been browsed!
This means that the directory couldn't be modified anymore as
a leaked handle to it was still open.

Actually, when notifications are cancel, the kernel properly
calls the notification routine, but with a specific error code.
So the correct fix is to stop handling that notification when
we receive this error code. This is the correct fix with no leaks.

This commit is a complete r71528 revert with the appropriate fix.

CORE-10941
CORE-12843
2018-03-06 20:30:21 +01:00
Giannis Adamopoulos 3263303844 [SHELL32] CShellItem: Fix GetDisplayName and Compare
The two methods were completely broken because they passed a full pidl to the parent folder (and not desktop folder).
Compile SHGetNameFromIDList to use it in CShellItem but don't export it.
2018-02-20 16:59:00 +02:00
Giannis Adamopoulos ac950ea01d [SHELL32] shellpath: sync a part of _SHGetDefaultValue with wine
on 32bit builds CSIDL_PROGRAM_FILESX86 is treated as CSIDL_PROGRAM_FILES and on wow64 builds CSIDL_PROGRAM_FILES gets treated as CSIDL_PROGRAM_FILESX86
2018-02-20 10:58:14 +02:00
Katayama Hirofumi MZ 338799bf8b improve SHGetFileInfo (#118)
This patch reduces failures of SHGetFileInfo function. CORE-7159
* improve WideByteToWideChar calls
* fix bugs related to file attributes and SHGFI_EXETYPE
* SHGFI_USEFILEATTRIBUTES and SHGFI_ICON fix
* s/sizeof(temppsfi)/0/
2018-02-16 11:00:08 +00:00
Amine Khaldi e83592920b [SHELL32] Remove unused debug channels and comment out unused variables. Silences some clang-cl warnings. 2017-12-07 23:54:22 +01:00
Serge Gautherie 57aa1f1fc6
[SHELL32] shellpath.c: it is _WIN32_WINNT, not WIN32_WINNT. We even need to use __REACTOS__ instead here. CORE-12580 2017-12-03 21:52:37 +01:00
Katayama Hirofumi MZ 87d276f05d [SHELL32] Don't show error when closing disk prop sheet (#144)
CORE-14035
2017-11-25 11:27:20 +02:00
Giannis Adamopoulos 78b78d6e73 [SHELL32] SHBrowseForFolderW: Fix creating directories in the desktop and in drives like C: CORE-13925 2017-11-05 12:11:10 +02:00
Giannis Adamopoulos dd4af77703 [SHELL32] SHBrowseForFolder: Fix creating a new folder (which was broken two years ago and was properly reported 3 days ago). CORE-13925 2017-11-03 12:12:58 +02:00
Amine Khaldi ce4ecd604d [SHELL32] Remove some unused members and comment out some unused Wine code. CORE-11799 (#94) 2017-10-27 23:51:44 +01:00
Colin Finck c2c66aff7d Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00