Commit graph

45136 commits

Author SHA1 Message Date
Michael Martin 0a6bb0f70d [Win32k]
- co_IntSendMessageWithCallBack: Insert the message into the messagequeue before attempting to wake the queue. Probably fixes bug 5580.
- Remove the use of MSQ_SENTNOWAIT that was used to determine if messagequeues needed dereferencing. Instead use the SenderQueue member of the message.
- Do not close the NewMessagesHandle member of the messagequeue in IntDereferenceMessageQueue. 
The last reference on a messagequeue could be released by a thread belonging to a process other than the on that created the handle.
Also the creating process could already be long gone. Instead close this handle in MsqDestroyMessageQueue which is in the thread/process that created the handle. Problem noticed by smiley.
- Revert change done in 51254. James you are indeed correct. 
Testing shows that the WM_PARENTNOTIFY message is not sent when the program is exiting.

svn path=/trunk/; revision=51275
2011-04-07 23:57:00 +00:00
Johannes Anderwald 07de2df4a2 [SNDVOL32]
- Implement retrieving current volume level and mute state and set the dialog controls on startup
- Remove last line separator from GUI
- Implement updating slider / switch control when another application modifies volume settings
- Implement writing current selected lines settings into registry when the preference dialog is closed
- Implement helper functions which receive / set volume level
- Sndvol32 is now fully functional and has been tested in Windows XP SP3
- TODO: implement support for setting volume balance (left - right slider)
- TODO: Resources have not yet been commited

svn path=/trunk/; revision=51274
2011-04-07 21:31:21 +00:00
Aleksey Bragin 3983f64027 [KERNEL32]
- Finish the ldr.c rewrite. Properly implement LoadLibraryExW (which contained some good code pieces added by Alex). Implement BasepLoadLibraryAsDatafile, however it doesn't support redirection yet and a call to load alternate resource module is commented out (it's totally absent in the existing ntdll/ldr API now).
- Mark GetDllLoadPath as deprecated, should be removed when SearchPathW is rewritten (or at least, reviewed). The new function to use is BasepGetDllPath.

svn path=/trunk/; revision=51272
2011-04-06 21:49:04 +00:00
Johannes Anderwald 446f42d3af [SNDVOL32]
- Implement loading of resources and parsing the dialog template in memory
- Store the created windows in an array
- Implement destroying of controls when mixer is changed / line selection is altered
- Implement generating layout for each new line
- Implement setting line name
- Resources have not yet been commited
- Sndvol32 is not yet functional

svn path=/trunk/; revision=51271
2011-04-06 21:05:05 +00:00
Aleksey Bragin 672303db6b [KERNEL32]
- Rewrite most of kernel32 module loading APIs (except for LoadLibraryExW, for testing purposes it's gonna be committed in a separate commit). Rewritten parts include:
* Better definition of LOADPARMS32 structure for LoadModule, and rewritten LoadModule which is now a well structured function with proper parameters validation, proper work algorithm and setting proper last error values in failure cases. Optimization of allocating MAX_PATH buffer on stack instead of in the heap is saved from the old version of the function.
* LoadLibraryA, added a path-hack (present at least up to Windows 2003) for twain_32.dll loading (not that important, but still a compatibility issue).
* Make GetProcAddress() use BasepMapModuleHandle for mapping the passed-in handle (including properly handling NULL module handle which was incorrectly handled by the old implementation), and check for a special failure case when LdrGetProcedureAddress returns pointer to the image base address.

svn path=/trunk/; revision=51270
2011-04-06 19:03:20 +00:00
Timo Kreuzer 0e072c5063 [RPCRT4]
Fix return type of *ClientCall functions.
Merged from cmake branch

svn path=/trunk/; revision=51269
2011-04-06 18:49:16 +00:00
Jérôme Gardou 8324997bc4 [CMAKE]
RosTests : buildno_header is no longer a valid target

svn path=/trunk/; revision=51267
2011-04-06 13:28:32 +00:00
James Tabor 5cf13573ed - Turn on test_capture_4.
svn path=/trunk/; revision=51266
2011-04-06 12:56:46 +00:00
James Tabor 3890323807 [User32|Win32k]
- Pass all the wine test_capture_1/2/3/4.
- Fix the menu tracking pop up hang issue by looking for deceased windows that pass on while in the start of tracking. This could be a fix for other wine tests.
- ReactOS is not Linux and wine is not enough!

svn path=/trunk/; revision=51265
2011-04-06 12:53:52 +00:00
James Tabor 374e21b4e0 [Win32k]
- The Reak fix to unfocused explorer minimize hang, spotted by R3dDr4g0n <vins8920@hotmail.com>.

svn path=/trunk/; revision=51264
2011-04-06 12:23:54 +00:00
James Tabor f43d2fe8ca [Win32k]
- Fix to unfocused explorer minimize hang, spotted by R3dDr4g0n <vins8920@hotmail.com>.

svn path=/trunk/; revision=51263
2011-04-06 01:31:50 +00:00
Eric Kohl ddb4a8780d [WIDL]
Reapply the switchtype patch.

svn path=/trunk/; revision=51262
2011-04-05 21:37:54 +00:00
Rafal Harabien 26504807cd [USRMGR]
Free buffer instead of freeing pointer to buffer

svn path=/trunk/; revision=51261
2011-04-05 21:24:25 +00:00
Rafal Harabien 4ce4beb1cb [SYSTEMINFO]
Add Italian translation (patch by Vincenzo Cotugno <vins8920 at hotmail dot com>)
Decrease buffer size
Don't print NULL domain/workgroup
Add network adapters detection

svn path=/trunk/; revision=51260
2011-04-05 21:20:42 +00:00
Rafal Harabien be54395eb8 [PSDK]
Add GetAdaptersAddresses declaration
Add forgotten GetComputerNameEx macro

svn path=/trunk/; revision=51259
2011-04-05 21:14:18 +00:00
Michael Martin 6ecaf80fcf [NTOS/MM]
- Update PoolTag used with ExFreePooWithTag to match changes made in 46987 by richard.

svn path=/trunk/; revision=51258
2011-04-05 11:42:38 +00:00
Eric Kohl 35a75304b7 [ADVAPI32/LSASRV]
- Implement LsaLookupNames2 in advapi32.dll.
- Implement LsarLookupNames3 in lsasrv.dll as a mock-up which returns a hard-coded user account (Administrator).

This fixes several wine tests.

svn path=/trunk/; revision=51257
2011-04-04 22:08:45 +00:00
Michael Martin 862d46f96e - Revert 51255 that was committed on accident. The patch is not ready yet.
svn path=/trunk/; revision=51256
2011-04-04 22:08:39 +00:00
Michael Martin 771f834c43 [Win32k]
- co_MsqDispatchOneSentMessage: After calling the windows procedure check if the message was a callback. If so place the message into the calling MessageQueue.  Also check if the current MessageQueue is the calling MessageQueue in which case dont call the Windows procedure but call the callback routine. SendMessageCallback is now properly implemented.
- Remove the use of MSQ_SENTNOWAIT and instead use the SenderQueue and CallBackSenderQueue members to determine if the MessageQueues need to be dereferenced.
- Modify co_MsqSendMessage to accept more parameters so that it can handle Notification, Callback and Internal messages. These changes make this function more complex but removes duplicate code in messages.c and move the handling for all queued messages in one location.
- co_IntSendMessageWithCallBack: If the callback is for the same Message Queue, call it vice queuing it.
Insert the message into the MessageQueue before waking the thread to handle the message. Should fix bug 5580.

svn path=/trunk/; revision=51255
2011-04-04 21:50:24 +00:00
Michael Martin 9990b69447 [Win32k]
- Do not block calling thread when sending WM_PARENTNOTIFY messages. Fixes hang at end of user32 winetest for msg.

svn path=/trunk/; revision=51254
2011-04-04 21:15:07 +00:00
Aleksey Bragin 7fcd953546 [KERNEL32]
- Minor cleanup, better flag names (thanks to ProcessHacker team for the good names and values).
- Return error in failure path of BasepGetModuleHandleExW.
- Optimize GetModuleHandleExA so that it calls the internal routine directly, without going through GetModuleHandleExW first and thus validating parameters second time.

svn path=/trunk/; revision=51253
2011-04-04 19:35:24 +00:00
Johannes Anderwald 15474a66e9 [SNDVOL32]
- Set Control variable to null, which prevents that mixer controls being assigned to another line when the current line does not have any controls. Bug was highlighted when opening the property window. In that case sndvol32 frees the previous setting, so all mixer lines are also getting freed including their controls, which caused a double free in the case the line did not have any controls assigned.

svn path=/trunk/; revision=51252
2011-04-04 14:27:29 +00:00
James Tabor 94b1cd39cd - Fix build.
svn path=/trunk/; revision=51249
2011-04-04 07:22:41 +00:00
James Tabor 7a18540a92 [User32|Win32k]
- Working on wine win test_capture_4, pass all the tests in test_capture_4_proc but still waiting forever in MenuTrackMenu:WaitMessage!

svn path=/trunk/; revision=51248
2011-04-04 07:18:54 +00:00
Sylvain Petreolle 594dd8de49 [RBUILD]
Use msvcrt as default crt for DLLs/OCX modules.

svn path=/trunk/; revision=51247
2011-04-03 22:09:07 +00:00
Aleksey Bragin 53af1b545e [KERNEL32]
- Implement BasepMapModuleHandle and use it in GetModuleFileNameW. Later, it'll be used by other module and loader related functions in kernel32.
- Wrap a call to RtlImageNtHeader into SEH, because winetest and for some reason FF installer call it with incorrect handle and expect it to not crash (Windows also has SEH, but inside RtlImageNtHeader).
- Fix null-termination problems in GetModuleFileNameA, and incorrect calculation of characters returned in GetModuleFileNameW.
- Various smaller improvements to the rewritten code (missing parenthesis, better variable names, use pretty LDR_ macros from http://msdn.microsoft.com/en-us/library/ms684179(v=vs.85).aspx ).
- Thanks for your feedback!
See issue #6079 for more details.

svn path=/trunk/; revision=51246
2011-04-03 21:46:42 +00:00
James Tabor 526f2d84e4 [Win32k]
- Fix GetPeekMessage apitest that was broken when fixing the last two post quite message test.

svn path=/trunk/; revision=51245
2011-04-03 21:12:40 +00:00
Sylvain Petreolle 9d955773ac [CONSOLE]
Fix french resource file name.
Dedicated to HeisSpiter & JanusMagnus.


svn path=/trunk/; revision=51243
2011-04-03 20:26:57 +00:00
Ged Murphy 4c2b7d67a1 [FULLFAT]
- Add the kernel APIs required by the library

svn path=/trunk/; revision=51241
2011-04-03 16:22:15 +00:00
Eric Kohl 8907f384eb [LSASRV]
Fix typos in lsa.idl (LsarLookupNames2, LsarLookupNames3 and LsarLookupNames4) and fix resulting errors in lsasrv.dll.

svn path=/trunk/; revision=51240
2011-04-03 14:51:18 +00:00
James Tabor f66194544b [Win32k]
- Fix DDE test crash. it's a band-aide.
- Fix the last two post quite message test, all pass now.

svn path=/trunk/; revision=51239
2011-04-03 12:22:00 +00:00
Aleksey Bragin 629be1865d [KERNEL32]
- Rewrite large part of ldr.c code, including FreeLibrary, FreeLibraryAndExitThread, GetModuleFileNameA/W, GetModuleHandleA/W, ExA/W. Now they properly validate parameters, common code for getting module handles is factored into a standalone function which is reused for all 4 APIs instead of duplicating almost the same code four times. GetModuleFileNameA became a typical A->W wrapper around GetModuleFileNameW so duplication is also removed there.
- Getting module handle also became a correct implementation because now it takes process's dll path into account instead of always assuming a "default" one (which is incompatible with a new ntdll loader).
- Fixed a typo in BasepGetProcessPath which led to incorrect value being returned. Downgrade two debugprints.

svn path=/trunk/; revision=51238
2011-04-03 09:42:08 +00:00
James Tabor 6f4a96d594 [Win32k]
- Fix the return checks for  co_MsqWaitForNewMessages, now the wait_idle test no longer randomly crash, also tested the testkbd check from bug 3212. Setup co_MsqWaitForNewMessages to act like get message, checking QS bits and dispatching send messages if queued.
- Added desktop hit test data point, now the new track mouse timer code works. Not yet committed.

svn path=/trunk/; revision=51237
2011-04-03 02:14:14 +00:00
Ged Murphy f6c92d8d84 [FULLFAT]
- Map the memory functions onto kernel APIs

svn path=/trunk/; revision=51236
2011-04-02 18:51:41 +00:00
Aleksey Bragin 901b5f0d91 [NDK]
- Add RTL_PERTHREAD_CURDIR structure definition.
- Fix RTL_DRIVE_LETTER_CURDIR type vs. structure definition typo (adding more underscores is a truly universal fix!).

svn path=/trunk/; revision=51235
2011-04-02 18:32:04 +00:00
Ged Murphy d7899fc474 [FULLFAT]
- Fix warnings for both msc and rbuild
- These fixes will be applied to the FullFat source too, so I've not bothered with a local ros.diff

svn path=/trunk/; revision=51234
2011-04-02 18:12:31 +00:00
Rafal Harabien a27aa83904 [SYSTEMINFO]
Clean it up a bit
Prepare for CSV format support

svn path=/trunk/; revision=51233
2011-04-02 17:51:09 +00:00
Ged Murphy 50fd13ae9c [FULLFAT]
- Switch UTF-16 support on throughout the library.

svn path=/trunk/; revision=51230
2011-04-02 16:37:25 +00:00
Ged Murphy 271454653d [FULLFAT]
- Update FullFat to the latest SVN code on James' recommendation.
- This release has many advantages over the previous, including full UTF-8 and UTF-16 support and the ability to modify attributes and timestamps. All of which are important for ros.
- It currently has a few warnings (in both gcc and msc), so I've had to turn allow warnings on.

svn path=/trunk/; revision=51229
2011-04-02 16:31:43 +00:00
Rafal Harabien 888f3912cb [SYSTEMINFO]
* Fix System Locale field
* Fix Input Locale field

svn path=/trunk/; revision=51228
2011-04-02 15:50:45 +00:00
Ged Murphy 91e657f782 {FULLFAT]
- Update FullFat to the latest stable release (1.0.5)
- I'm awaiting a reply from James as to when 1.1.0 will be released as it have some nice improvements.

svn path=/trunk/; revision=51227
2011-04-02 15:22:48 +00:00
Johannes Anderwald 542a951d46 [TEE]
- TEE should overwrite existing file
- Patch by vins8920 hotmail 
See issue #6022 for more details.

svn path=/trunk/; revision=51226
2011-04-02 15:15:08 +00:00
Rafal Harabien 88e51aaa47 [SYSTEMINFO]
* Fix Domain field
* Get rid of TCHAR
* Translate System Up Time to polish

svn path=/trunk/; revision=51225
2011-04-02 14:54:24 +00:00
Giannis Adamopoulos 0857319218 [win32k]
- Simplify co_IntWaitMessage
- In co_IntGetPeekMessage, call co_MsqWaitForNewMessages instead of co_IntWaitMessage when we  need to wait for a new message. co_IntWaitMessage calls co_IntPeekMessage again without removing messages. The problem is that processing some messages produce other messages or hooks even though the message must not be removed. As a result some messages like WM_NCHITTEST were received twice by the application
- Should fix bug 3232

svn path=/trunk/; revision=51224
2011-04-02 10:12:44 +00:00
Aleksey Bragin 1d045ebeb3 [NTDLL]
- Fix a typo which led to incorrect logic of TLS allocation. This repairs those installers broken by r51051.
See issue #6009 for more details.

svn path=/trunk/; revision=51223
2011-04-02 09:20:16 +00:00
Rafal Harabien f4f2b68256 [ADVAPI32]
* Fix bug in RegQueryValueExA, which causes buffer overflow
* Fixes systeminfo in ReactOS
See issue #6050 for more details.

svn path=/trunk/; revision=51222
2011-04-01 22:10:52 +00:00
Rafal Harabien 7c126a9a69 [SYSTEMINFO]
Don't translate System Type
Don't mix TCHARs and chars
Fix Time Zone for not English systems
Use proper registry key for Install Date
Format dates using system settings
Format numbers

svn path=/trunk/; revision=51221
2011-04-01 18:58:12 +00:00
Aleksey Bragin 472df5e17a - Fix build. Happens.
svn path=/trunk/; revision=51218
2011-04-01 12:18:54 +00:00
Aleksey Bragin 0ca9a93ca6 [KERNEL32]
- Implement a simple version of BasepGetDllPath()/BasepGetProcessPath().

svn path=/trunk/; revision=51217
2011-04-01 10:06:03 +00:00
James Tabor 951d604b0c [Win32k]
- Fix wine post message test, corrected the peek message window selection.
- Add a check for dead windows and new message queue flags. 
- Other miscellaneous fix ups.

svn path=/trunk/; revision=51216
2011-03-31 21:20:06 +00:00