Commit graph

70 commits

Author SHA1 Message Date
Thomas Faber 0aed0fd167
[BROWSEUI][SHELL32] Treat OnWinEvent's result parameter as optional. CORE-14443
Windows's explorer can call it with NULL.
2018-03-08 12:21:24 +01: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
Katayama Hirofumi MZ 1f4c636453 [SHELL32] Fix item order in Folder Options (#415) 2018-03-05 23:40:41 +01:00
Timo Kreuzer 0182dcd71b [PSDK][REACTOS] Fix definitions and usage of DWLP_MSGRESULT, DWLP_DLGPROC, and DWLP_USER
- Make sure the DWLP_* values are correct on _WIN64
- Don't use the DWL_* constants, they are not portable. Enforce this by removing them entirely from winuser.h
- Make sure Get/SetWindowLong*Ptr* is used and pointers are not truncated to LONG
2018-03-04 16:27:07 +01:00
Adam Słaboń 8fd9d3f59b [TRANSLATION] Polish translation update (#413)
Translation update for sndvol32, shell32 (right click drag menu), rapps and ks.inf.
2018-03-03 21:24:46 +01:00
Giannis Adamopoulos 5b38fed776 [SHELL32] -CMenuToolbarBase: Remove all buttons on destruction. CORE-13194
It seems that TBN_DELETINGBUTTON isn't called when the toolbar gets destroyed so the only way to avoid leaking the data is emptying it ourselves.
2018-02-23 12:27:48 +02:00
Thomas Faber b8741e2bb3 [SHELL32] Fix PIDL leak in CMenuSFToolbar::FillToolbar. CORE-13194 2018-02-22 11:53:34 +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 9d7313273c [SHELL32] CShellItem: Implement BindToHandler and improve GetAttributes based on wine
Fixes lots of tests.
2018-02-20 16:33:30 +02:00
Giannis Adamopoulos af97de39a2 [SHELL32] CShellItem: Fix return value of Compare method 2018-02-20 14:36:31 +02:00
Giannis Adamopoulos c361e475b4 [SHELL32] CDefaultContextMenu: Implement GetCommandString 2018-02-20 13:05:59 +02:00
Giannis Adamopoulos 7e48c20b3b [SHELL32] Fix a couple of tests 2018-02-20 11:48:40 +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
Giannis Adamopoulos 730d81b9f7 [SHELL32] Fix some test failures 2018-02-20 10:15:23 +02:00
Giannis Adamopoulos 48d88a3617 [SHELL32] CFSFolder: Fix some tests for GetAttributesOf 2018-02-19 02:01:02 +02:00
Giannis Adamopoulos fd209faa66 [SHELL32] CFSDropTarget: style fixes 2018-02-17 22:01:04 +02:00
Giannis Adamopoulos 4b19b1e49d [SHELL32] CDefView: remove a useless print 2018-02-17 21:40:16 +02:00
Giannis Adamopoulos 6f25b42a31 [SHELL32] CFSDropTarget: Use copy depending on the source drive
Show the default action as the default menu item in the right click menu.
2018-02-17 20:30:37 +02:00
Giannis Adamopoulos 6d91269eda [SHELL32] CFSDropTarget: Initial implementation of right click drag menu 2018-02-17 20:30:37 +02:00
Giannis Adamopoulos 8f8ab050db [SHELL32] CDefView: Implement several methods needed for drop targets
Set the view object as the site of the drop target.
Implement GetItemPosition, SelectAndPositionItems, IsDropOnSource, GetDragPoint.
Use DROPEFFECT_COPY only when the item supports it.
2018-02-17 20:30:37 +02:00
Giannis Adamopoulos 5bef945cc9 [SHELL32] Add menu resource which is used when dragging files with right click 2018-02-17 20:30:37 +02:00
Hermès Bélusca-Maïto 175e78e50f
[SHELL32] Fix COM registration of IShellFolder, IShellLinkA/W, IQueryContinue and IUserNotification classes. 2018-02-16 23:31:39 +01: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
Hermès Bélusca-Maïto fe4704fa64
[SHELL32] Implement the CUserNotification class, which implements the IUserNotification interface. CORE-13177 2018-02-15 22:38:22 +01:00
Giannis Adamopoulos 67f99833cd [SHELL32] CNewMenu: Don't use CWM_GETISHELLBROWSER.
CDefaultContextMenu: Set the site for context menu extensions
CNewMenu: Get SID_IFolderView service of the site to get the IShellView
2018-02-15 00:58:22 +02:00
Giannis Adamopoulos b97886ea9f [SHELL32] Fix the toolbar buttons in the file open dialog
CDefView: Make GetItemObject return an IContectMenu after setting itself as the site.
CDefViewBckgrndMenu: Make the inner context menu use the same site. Implement handling CMDSTR_VIEWLISTA and CMDSTR_VIEWDETAILSA.
CDefaultContextMenu: CMDSTR_VIEWLISTA and CMDSTR_VIEWDETAILSA shouldn't be handled in this class.
Fixes CORE-14327 and the two buttons that change the view mode
2018-02-15 00:23:18 +02:00
Joachim Henze e4aa45f63a [SHELL32] Fix glitch in de-DE.rc
checkbox captions are too long.
issue was introduced by 3624c5d6fd

fixes CORE-14329 for de-DE
2018-02-14 20:12:10 +01:00
Giannis Adamopoulos 111c40e012 [SHELL32] CDefViewBckgrndMenu: Fix handling string verbs.
It shouldn't be necessary for QueryContextMenu to be called before InvokeCommand.
Move retrieving the IContextMenu of the folder to the initialization of the class.
CORE-12866
2018-02-14 00:03:35 +02:00
Mark Jansen 058c2658a4 [SHELL32] CDefViewBckgrndMenu: Fix a crash when pasting on a new explorer window. 2018-02-05 17:39:32 +01:00
Hermès Bélusca-Maïto 131678a025
[SHELL32] Rewrite the wrapping code for shell taskbar notifications.
- Introduce the TRAYNOTIFYDATAW structure, as documented by Geoff
  Chappell in "WM_COPYDATA for Taskbar Interface", at
  http://www.geoffchappell.com/studies/windows/shell/shell32/api/shlnot/copydata.htm
  that is the data structure passed between shell32 and explorer for
  communicating shell notify icon information.

- In Shell_NotifyIcon(), correctly capture the (ANSI and) UNICODE
  structures provided by the caller, properly taking into account for
  the different NOTIFYICONDATA structure sizes existing out there.
  The different strings are now properly null-terminated (especially
  szTip if it needs to be truncated out), and the flags validated.

- Remove the now unneeded "SHELL_NotifyIcon()" helper function.

[EXPLORER] Use TRAYNOTIFYDATAW and adjust the callers.
2018-02-04 18:11:50 +01:00
Hermès Bélusca-Maïto 5ecabcce59
[SHELL32] Fix copy-pasta. 2018-02-04 01:56:56 +01:00
Stanislav Motylkov 3624c5d6fd [SHELL32] Fix file and folder properties dialogs
CORE-12755
2018-01-31 18:25:14 +01:00
Thomas Faber 682735fb56
[SHELLMENU] Add missing psdk dependency. 2018-01-31 11:48:37 +01:00
Luo Yufan 7082b621a5 [TRANSLATION] Simplified Chinese translation improved. (#346) 2018-01-30 21:49:40 +01:00
Luo Yufan 09168aae12 [TRANSLATION] Update Simplified Chinese Translations of SHELL32 and USRMGR (#340) 2018-01-29 18:21:20 +01:00
Joann Mõndresku d80ef2c90a [TRANSLATION] Various translations to Estonian (#329)
Estonian translations for shell + explorer, cpl files (access, appwiz, desk, timedate), devmgr, browseui, comctl32, aclui, avifil32, comdlg32 and credui.
2018-01-29 17:03:27 +01:00
Adam Słaboń fbcf05062e [TRANSLATION] Polish translation update (#328) 2018-01-27 13:21:22 +01:00
Kamil Smoliński 00ed9fc88b [SHELL32] Fix typo in Polish translation pl-PL.rc 2018-01-21 19:13:57 +01:00
Giannis Adamopoulos 6d9a0d0fd4 [SHELL32] CDrivesFolder: Fix showing the drive capacity. CORE-14201 2018-01-13 21:27:57 +02:00
Giannis Adamopoulos 5618b33c3b [SHELL32] CMenuBand: Redraw the toolbars if this is the menu bar of a window and its active state changed. Use COLOR_GRAYTEXT for the text of the inactive menu bar items. CORE-14197 2018-01-13 14:57:24 +02:00
Erdem Ersoy ba3f074320 [TRANSLATIONS] Update the email address and add a note in the Turkish translation document (#271) 2018-01-07 22:09:42 +01:00
Luo Yufan 59aa6b9e74 [TRANSLATION] Improve Simplified Chinese Translations (#265)
* Update Simplified Chinese translation of SYSSETUP
* Update Simplified Chinese translations and font settings.
* Update Translation of SHELL32.
2018-01-05 14:15:03 +01:00
Giannis Adamopoulos a671923037 [SHELL32] CMenuToolbarBase: Use COLOR_MENUTEXT color for the text color in normal menu items. CORE-13855 2018-01-05 11:53:35 +02:00
Luo Yufan 2524a0b636 [TRANSLATIONS] Simplified Chinese translation update. #251 2018-01-02 18:39:24 +01:00
Thomas Faber b20280a0f9
[CMAKE] Allow overriding the .dll extension for delay imports in MSVC builds.
Fixes delay-importing winspool.drv.
2018-01-01 19:05:30 +01:00
Timo Kreuzer a2f7de7ee8
Amd64/misc 64bit fixes (#236)
[REACTOS] Misc 64 bit fixes

* [NTOS:MM] Allow MEM_DOS_LIM in NtMapViewOfSection on x64 as well
* [NTOS:MM] Implement x64 version of MmIsDisabledPage
* [HAL] Remove obsolete code
* [NTOS:KE] Fix amd64 version of KeContextToTrapFrame and KeTrapFrameToContext
* [XDK] Fix CONTEXT_XSTATE definition
* [PCNET] Convert physical address types from pointers to PHYSICAL_ADDRESS
2018-01-01 12:07:50 +01:00
Hermès Bélusca-Maïto 9fa693e59b
[REACTOS] Switch to year 2018...
... and Happy New Year 2018 to everyone!!

☆.¸¸.•´☆.¸¸.•´☆.¸¸.•´☆.¸¸.•´☆

  ⋱★⋰⋱☆⋰⋱★⋰⋱☆⋰⋱☆⋰⋱★⋰⋱☆⋰⋱★⋰
░░░░░░█░█ █▀█ █▀█ █▀█ █░█░░░░░░
░░░░░░█▀█ █▀█ █▀▀ █▀▀ ▀█▀░░░░░░
░░░░░░▀░▀ ▀░▀ ▀░░ ▀░░ ░▀░░░░░░░
█▄░█ █▀▀ █░█░█░░█░█ █▀▀ █▀█ █▀█
█░██ █▀▀ █░█░█░░▀█▀ █▀▀ █▀█ ██▀
▀░░▀ ▀▀▀ ░▀▀▀░░░░▀░ ▀▀▀ ▀░▀ ▀░▀
  ⋱☆⋰⋱★⋰⋱☆⋰⋱★⋰⋱★⋰⋱☆⋰⋱★⋰⋱☆⋰
░░░▄████▄░▄███▄░░▄██░▄████▄░░░
░░░▀▀░▄██░██░██░████░██▄▄██░░░
░░░░▄██▀░░██░██░░░██░██▀▀██░░░
░░░██████░▀███▀░░░██░▀████▀░░░

☆.¸¸.•´☆.¸¸.•´☆.¸¸.•´☆.¸¸.•´☆
2018-01-01 00:00:00 +01:00
Katayama Hirofumi MZ 89f9c9101a
[TRANSLATION] Use correct font name in Korean resources, CORE-9566 (#228).
Localized resources should use the correct Korean fonts that are most suitable
for UI and compatible with Windows.
2017-12-29 01:51:15 +01:00
Katayama Hirofumi MZ 1ebe4a5b83
[TRANSLATION] Use correct font name in Chinese resources, Part 3/3, CORE-9566 (#223).
Localized resources should use the correct Chinese font names compatible with Windows.
2017-12-27 16:11:21 +01:00
Amine Khaldi a3797dba7a [SHELL32] Deduplicate MAX_PROPERTY_SHEET_PAGE and AddPropSheetPageCallback(). #179 2017-12-25 13:22:23 +01:00