Commit graph

281 commits

Author SHA1 Message Date
Thomas Faber eab8a0b968
[BEEPMIDI] Don't busy-wait when no notes are playing. CORE-12860
- Use a new work_available event to allow ProcessPlayingNotes to sleep when no
  notes are to be played.
- Get rid of the pointless thread_termination_complete event, wait on the
  thread handle instead.
- Don't leak thread_handle.
2018-03-01 08:58:33 +01:00
Giannis Adamopoulos 2f11904000 [SHIMGVW] -Add the 123 manifest to load the v6 comctl32. CORE-14415
This shows that we may have problems in the future with applications using just comctl32 v5
2018-03-01 09:23:06 +02:00
Giannis Adamopoulos 6d4a091b4a [BROWSEUI] CBandSite: Implement SetBandSiteInfo and GetBandSiteInfo
Only BSIS_LOCKED, BSIS_NOGRIPPER, BSIS_ALWAYSGRIPPER and BSIS_NOCAPTION supported so far.
2018-02-28 17:20:46 +02:00
Giannis Adamopoulos 6785192fe6 [BROWSEUI] CBandSite: Style fixes 2018-02-28 17:20:44 +02:00
Hermès Bélusca-Maïto 295ea36f9e
[ADVAPI32] Few improvements for Services.
- Set some last errors.
- Fix error code returned by ScLookupServiceByServiceName().
- Check the validity of the handler proc in RegisterServiceCtrlHandler(Ex)W().
- Improve some traces; comment some code.
2018-02-26 00:37:09 +01:00
Hermès Bélusca-Maïto 2e3f80f940
[ADVAPI32] Code formatting + improve two traces. 2018-02-26 00:37:05 +01:00
Hermès Bélusca-Maïto 0c44925ec1
[ADVAPI32] ScStartService(): Just start the thread straight ahead, and return a suitable error code if thread creation failed. 2018-02-26 00:37:01 +01:00
Hermès Bélusca-Maïto 91b50f9ccb
[ADVAPI32] Take into account the service handler context when dispatching a control notification to a service. (Used e.g. by tcpsvcs.) 2018-02-26 00:36:57 +01:00
Hermès Bélusca-Maïto 635aabb011
[ADVAPI32] Use RPC types where needed. Comments cleanup. 2018-02-26 00:36:53 +01:00
Thomas Faber af6c5806d5
[SHLWAPI] Cherry-pick Wine commit 7be8beab68c (Don't attempt to un-expect ComputerName in PathUnExpandEnvStrings) by Katayama Hirofumi MZ. CORE-13816 2018-02-24 14:18:29 +01:00
Eric Kohl 1dfbed9c3d [SERVICES][ADVAPI32] Fix the broken service stop sequence
services\database.c:
- Refactor ScmControlService() so that it can be used to send the dispatcher loop stop command.
- Separate the code to decrement the image run counter from the service image cleanup code.

services\rpcserver.c:
- RSetServiceStatus(): Stop the dispatcher loop when the image run counter is zero and remove the service image after that.

advapi32\service\sctrl.c:
- Do not terminate the service dispatcher loop when the last service is being stopped. Wait for an explicit dispatcher stop command (empty service name).

CORE-12413
2018-02-24 11:14:05 +01:00
Serge Gautherie b6c060ce04 [IPHLPAPI] Fix getNumRoutes() return value, on Mib error (#391) 2018-02-23 17:35:02 +00: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
Thomas Faber 182a31074f [IPHLPAPI] Fix memory leak in getNumRoutes. CORE-14353 2018-02-21 18:42:43 +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
Timo Kreuzer d281d14fd1 [REACTOS] Fix a number of Get/SetWindowsLong*Ptr* issues and use GWLP_* instead of GWL_* where appropriate. 2018-02-19 22:36:36 +01:00
Mark Jansen ee7f479c57
[RTL][XDK][KERNERL32_WINETEST] Import wine actctx changes from 3.2-37c98396
This adds support for reading the trustInfo (requestedExecutionLevel),
and the compatibility (supportedOs) sections.
2018-02-19 22:23:39 +01:00
Giannis Adamopoulos 48d88a3617 [SHELL32] CFSFolder: Fix some tests for GetAttributesOf 2018-02-19 02:01:02 +02:00
Mark Jansen b02d78586c
[COMCTL32] Export GetWindowSubclass by name.
CORE-14346
2018-02-18 23:04:45 +01: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
Hermès Bélusca-Maïto eb3987e172
[SHLWAPI] Import wine commit 2c163225730e88 as addendum to the SHCreateWorkerWindowW/A fixes from commit 770bf93. 2018-02-13 22:30:59 +01:00
Mark Jansen fb7caa7452
[COMCTL32] Import wine commit 71cf0a31d99feb to fix the name column width in rapps. 2018-02-13 19:48:18 +01:00
Hermès Bélusca-Maïto 770bf93be3
[SHLWAPI] Improvements for SHCreateWorkerWindowW/A() prototypes + fix x64-bit compatibility. Sent upstream.
[SHLWAPI] Refactor the SHCreateWorkerWindowW() prototype to match its ANSI SHCreateWorkerWindowA() counterpart.

The last parameter is really to be understood as an extra window data, and not a "message result" (as it would be the case for dialog window procedure).
That is why I also remove the mention of "DWLP_MSGRESULT" in the SetWindowLongPtrW() call.
SHCreateWorkerWindowA() had it OK but SHCreateWorkerWindowW() did not.

------------------

[SHLWAPI] Make SHCreateWorkerWindowA() and SHCreateWorkerWindowW() x64-compatible.

The first parameter of these functions is a pointer to a window procedure, having a definite prototype, so employ a correct typedef WNDPROC,
which ensures both correct pointer size and parameter type enforcement.
This also ensures that we use instead a correct pointer size, since otherwise LONG remains 32-bits for Windows compatibility on x64 platforms.
The wndProc parameter is thus casted to LONG_PTR to comply with the SetWindowLongPtrA/W calls.

In SHCreateWorkerWindowW(), the last "wnd_extra" parameter should also be LONG_PTR to be able to pass 64-bit data pointer on x64 platforms.
Therefore fix also setting the wc.cbWndExtra size. One should note that the ANSI SHCreateWorkerWindowA() function had everything OK already.
2018-02-13 00:13:47 +01:00
Luo Yufan 19737a2cb9 [TRANSLATION] Simplified Chinese translation update for NETID and PING. (#369) 2018-02-07 14:03:42 +01:00
Giannis Adamopoulos e05f08be4e [SYSSETUP] Hackfix CORE-14228
Wine's comctl32 somehow fails to load an 24bpp image with ImageList_LoadImageW
when crMask is CLR_NONE so use a color that doesn't exist in the bitmaps until
comctl32 gets fixed.

I prefer to add this silly hack in a non critical dll than make a hasty change in the
critical comctl32 until some proper tests are written for this absurd failure.
2018-02-07 02:26:28 +02:00
Giannis Adamopoulos 218b8eda92 [SYSSETUP] Don't load ISOLATIONAWARE_MANIFEST_RESOURCE_ID manually
Such a manifest is meant to be activated by the caller of the exports of the dll.
This means that the user of syssetup which is setup.exe is the one that should do the proper handling of the manifests.
Since setup.exe is the one that needs to do the right thing, add a CREATEPROCESS_MANIFEST_RESOURCE_ID to it and avoid
dealing with ISOLATIONAWARE_MANIFEST_RESOURCE_ID altogether (which is supposed to be used by activating the activation context
before calling the exports of the dll that has it). We don't really use ISOLATIONAWARE_MANIFEST_RESOURCE_ID correctly in any
place in the tree so let's rely on CREATEPROCESS_MANIFEST_RESOURCE_ID for now.

This fixes one part of CORE-14228 where no image was shown in the theme selector buttons. This happened because comctl32 was
statically linked and calling ImageList_LoadImage ended up creating an image list with comctl32 v5. Then we passed this image
list to a button created with comctl32 v6 and as a result the image list was unusable. This is yet another issue that needs
to be addressed in the future. Namely, it seems that in windows comctl32 v6 can use image lists created by comctl32 v5 whereas
we cannot.

This fix is not a hack but cleverly works around these two bugs that need to be addressed some time in the future.
CORE-14228
2018-02-07 01:15:49 +02:00
Luo Yufan b97f0a8fed [TRANSLATION][BROWSEUI][MEDIA] Simplified Chinese translations update (#360) 2018-02-05 18:47:53 +01:00
Mark Jansen 058c2658a4 [SHELL32] CDefViewBckgrndMenu: Fix a crash when pasting on a new explorer window. 2018-02-05 17:39:32 +01:00
Eric Kohl e5870819a3 [SETUPAPI] Machine handles are pointers. 2018-02-04 22:03:17 +01:00
Eric Kohl 19fc20f222 [SETUPAPI] Add a proper (SEH protected) check for LOG_CONF handles 2018-02-04 20:23:51 +01:00
Eric Kohl 60a218948e [SETUPAPI] Fix the coding style, annotations and debug messages
* Fix the coding style.
* Add missing annotations.
* Add the function name to the debug messages.
* Treat all machine handles like pointers.
2018-02-04 20:16:46 +01:00