Commit Graph

26 Commits

Author SHA1 Message Date
Jacek Caban f0e7bd248e user32: Introduced ThreadDetach driver entry point.
The problem was diagnosed by Ken Thomases.

Currently drivers use DllMain(DLL_THREAD_DETACH) to release thread data.
The problem is that DLLs (like native urlmon.dll, esp. reproducible in
IE8) may still do user32 calls after driver detaches thread. Loader
ensures that since user32.dll was loaded before dependent DLLs, user32's
DllMain will be called in the right moment. Due to lazy loading of
drivers, we have no control over them. We may use a new entry point to
make sure that we detach user32 and driver at the same time.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-27 13:23:52 +09:00
Sebastian Lackner 240cf96235 user32: Use RtlIsCriticalSectionLockedByThread to check lock owner.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-11 13:47:42 +09:00
Nikolay Sivov 48246a149e user32: Added stubs for ShutdownBlockReasonCreate/ShutdownBlockReasonDestroy. 2015-06-29 18:51:02 +09:00
Piotr Caban 3be5c16b4d user32: Move IME window procedure to user32. 2014-11-11 16:09:47 +09:00
Alexandre Julliard fe441a0682 user32: Register classes once the graphics driver has been loaded, except for the desktop class. 2013-10-24 19:01:54 +02:00
Alexandre Julliard 7370a56543 user32: Delay registration of the builtin classes until the first window is created. 2013-10-16 17:22:19 +02:00
Alexandre Julliard 003355946f user32: Delay message spying initialization until needed. 2012-10-15 19:26:51 +02:00
Henri Verbeet faaf3d388e user32: Add rawinput mouse support. 2012-09-11 18:06:34 +02:00
Alexandre Julliard cb3b723792 user32: Cache the global key state to avoid performance issues in applications that poll constantly. 2011-12-15 16:25:40 +01:00
Francois Gouget 1b1433a152 user32: Delete the static critical section when unloading the dll. 2011-11-17 11:38:05 +01:00
Alexandre Julliard bb0c660ed0 user32: Always start the 64-bit version of wineboot.exe on Wow64. 2010-03-29 15:50:10 +02:00
Alexandre Julliard 0e0b704f5b user32: Do not load 16-bit user.exe by default. 2010-02-08 17:49:48 +01:00
Alexandre Julliard 9ceda48337 user32: Load the 32-bit user.exe module wrapper from the 32-bit side. 2009-12-28 23:50:40 +01:00
Alexandre Julliard 40a264b0e7 winevdm: Move the loading of the system drivers into their specific 16-bit module. 2009-12-28 23:50:40 +01:00
Alexandre Julliard 5d92931933 user32: Use a standard critical section instead of a syslevel for the USER lock. 2009-12-24 17:42:19 +01:00
Alexandre Julliard 8aa83d326a user32: Make user.exe into a stand-alone 16-bit module. 2009-12-24 12:15:12 +01:00
Alexandre Julliard 5950c6af80 user32: Specify the full application path when starting builtin apps. 2009-10-27 11:22:38 +01:00
Alexandre Julliard 796346f825 user32: Get rid of the 16-bit heap support. 2009-10-12 17:07:04 +02:00
Paul Chitescu da012ed8e7 user32: Stub for LockWorkStation. 2008-09-17 18:11:11 +02:00
Alexandre Julliard d71303e91c user32: Add support for a top-level message parent window in parallel to the desktop window. 2008-06-25 14:44:06 +02:00
Alexandre Julliard 9359ff6fe0 user32: Allow the default desktop name to be specified on a per-app basis. 2008-04-24 17:22:04 +02:00
Rob Shearman 91971561c1 user32: Add a stub implementation of RegisterServicesProcess. 2008-01-02 13:20:12 +01:00
Alexandre Julliard e94e942618 user32: Set the WSF_VISIBLE flag on the main window station. 2007-12-18 19:47:31 +01:00
Alexandre Julliard 82964f5032 user32: Added support for the magic WM_CHAR A->W conversions in Send/Post/DispatchMessage. 2007-08-08 18:25:38 +02:00
Andrew Talbot 93c5779458 user32: Exclude unused headers. 2007-05-21 13:36:18 +02:00
Alexandre Julliard b8a2e3b8a4 user32: Renamed the user/ directory to user32. 2006-11-16 14:49:25 +01:00