Jacek Caban
5b56bad50b
server: Make window struct a server object.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-09 18:37:32 +01:00
Alexandre Julliard
1381be977b
server: Add sys/types.h include in a few more files.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-11 11:44:02 +02:00
Alexandre Julliard
c954e5b9e6
server: Avoid using wine/port.h.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-07 18:03:11 +02:00
Rémi Bernon
769a2616ae
server: Track desktop users per thread instead of per process.
...
As some thread may use a different desktop from their process.
This fixes the user32 win tests, which leaks a desktop that never gets
closed. The test_shell_window test creates a new desktop, which spawns
explorer.exe process, incrementing the desktop user count to 1, then
associates the desktop to a thread, which closes it on exit.
Never the user count is incremented to 2, and closing the thread desktop
doesn't either check whether the desktop process should be terminated.
Reversely, it is possible to create a desktop, associate it with a
thread /and/ a process, and this time the desktop process would be
terminated when the process exits, although the thread may still be
using it.
Tracking the users per thread is more robust and fixes the problem as
set_thread_desktop increments the desktop user count, and thread exit
decrements it.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-21 21:00:33 +02:00
Alexandre Julliard
584427fc89
server: Avoid redefining the DuplicateHandle() constants.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-16 21:20:47 +01:00
Alexandre Julliard
d6ef9401b3
server: Use the object type information to implement access mapping.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-05 22:53:46 +01:00
Alexandre Julliard
4d646de90d
server: Add generic mapping masks for all object types.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-05 15:38:22 +01:00
Alexandre Julliard
c6f2aacb57
server: Add a type descriptor to all server objects.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-04 21:25:32 +01:00
Paul Gofman
ae106feed2
server: Do not dereference symlinks specified as root directory.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 23:25:38 +01:00
Zebediah Figura
fa1b0fcf6c
server: Check duplicated handle access against the calling thread token and target process token.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-24 15:22:36 +02:00
Alexandre Julliard
2e51f9aae3
server: Add an object operation to retrieve an object name.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-22 16:55:08 +02:00
Huw Davies
aec5ccfc06
server: Don't allow an empty desktop name.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-24 18:34:15 +02:00
Alexandre Julliard
7b41b7510f
server: Add a helper function for splitting a path into individual elements.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-24 19:43:38 +01:00
Paul Gofman
74a74556dd
server: Support creating processes with specified parent.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47817
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-13 13:13:36 +01:00
Jacek Caban
b2a546c92d
server: Introduce kernel_object struct for generic association between server and kernel objects.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 13:55:15 +01:00
Alexandre Julliard
3ea7f7d2f4
server: Set the security descriptor at object creation.time.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-12 23:07:30 +09:00
Alexandre Julliard
ff9d90bbb0
server: Use a standard object for object attribute roots instead of a directory.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-12 23:07:30 +09:00
Alexandre Julliard
7ad32cf56a
server: Allow lookup_name to distinguish the case of an empty path.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-09 20:36:16 +09:00
Alexandre Julliard
7a5b14d456
server: Add a function to open a named object inside any parent, not only directories.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-08 16:55:00 +09:00
Alexandre Julliard
0458a7d0e3
server: Use the lookup_name operation when creating a named object.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-08 14:24:15 +09:00
Alexandre Julliard
e2ccc978a3
server: Implement the lookup_name operation for window stations.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-08 14:10:39 +09:00
Alexandre Julliard
b21a324070
server: Use the link_name operation to create named objects.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-05 00:20:01 +09:00
Alexandre Julliard
f55db7882d
server: Add link_name and unlink_name object operations.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-04 21:07:19 +09:00
Alexandre Julliard
a69d7b29e3
server: Don't return an error if the created window station already exists.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-02 21:47:56 +09:00
Alexandre Julliard
34d5994953
user32: Add some tests for window station and desktop object names.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-01 17:53:35 +09:00
Alexandre Julliard
008f14f03f
server: Directly return a structure in get_req_unicode_str().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-29 21:25:12 +09:00
Alexandre Julliard
ed268bbf91
server: Use a common helper function to implement open object calls.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-29 21:25:12 +09:00
Sebastian Lackner
df39830846
server: Fix invalid memory accesss caused by destroying winstation before desktop.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-22 16:40:30 +09:00
Alexandre Julliard
d15f47412e
server: Always print the full path of objects when dumping them.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-22 01:26:15 +09:00
Alexandre Julliard
fcc977c139
server: Store the desktop object names inside their window station.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-20 22:40:58 +09:00
Alexandre Julliard
546289dc59
server: Create window stations objects in a standard directory.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-20 22:02:03 +09:00
Sebastian Lackner
19a3f6b5cb
user32: Make sure explorer.exe process is spawned for the correct desktop.
...
If an invalid combination of winstation/desktop is active for the
current process, the handle inheritance doesn't work, and no desktop is
created.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-04 13:22:55 +09:00
Qian Hong
ca4b3f0f73
server: Fixed winstation object leak in open_input_desktop.
2013-11-11 13:27:27 +01:00
Qian Hong
f7835dea2d
user32: Implement OpenInputDesktop.
2013-11-08 16:29:44 +01:00
Alexandre Julliard
be417d6890
server: When changing a process desktop, start the close timeout on the old desktop if necessary.
2013-04-30 18:44:46 +02:00
Vincent Povirk
4c83138f72
server: Implement RegisterHotKey/UnregisterHotKey.
2011-06-21 14:51:08 +02:00
Alexandre Julliard
85358b10f3
server: Add a more general way of posting messages to the desktop window.
2011-04-05 13:36:56 +02:00
Alexandre Julliard
c64c36f573
server: Store all desktop cursor information in a separate structure.
2011-03-31 19:54:22 +02:00
Alexandre Julliard
06b78feade
server: Store the global key state in the server.
2011-02-25 13:50:25 +01:00
Alexandre Julliard
02e8174067
server: Store the cursor clip rectangle in the server.
2011-02-25 13:50:19 +01:00
Alexandre Julliard
183c41b49a
server: Store the global cursor position in the server.
2011-02-25 11:25:15 +01:00
Alexandre Julliard
ac4aac747c
server: Make the foreground thread input per-desktop instead of global.
2011-02-25 11:19:46 +01:00
Alexandre Julliard
60efdd55ea
server: Don't set last error in close_handle(), return the error code instead.
2009-12-01 13:59:41 +01:00
Alexandre Julliard
81e6edbda9
server: Add support for a top-level message parent window in parallel to the desktop window.
2008-06-25 14:43:39 +02:00
Alexandre Julliard
a789375f8b
server: Don't touch the users count when a system process switches desktops.
2008-05-05 21:02:34 +02:00
Maarten Lankhorst
3fd1fc7600
server: Make enum_desktop enumerate all the desktops on the window station with the DESKTOP_ENUMERATE right.
2008-04-17 14:32:01 +02:00
Maarten Lankhorst
81069001ea
server: Make enum_winstations enumerate all the window stations with WINSTA_ENUMERATE right.
2008-04-17 13:22:50 +02:00
Maarten Lankhorst
70a6495a31
user32: Implement BroadcastSystemMessage.
2008-04-03 12:00:02 +02:00
Alexandre Julliard
34fe91bf2b
user32: Implemented EnumDesktopWindows.
2008-03-19 11:13:46 +01:00
Maarten Lankhorst
8b164ce484
server: Fix reference leak in enum_desktop.
2008-03-07 11:01:07 +01:00