Commit Graph

78 Commits

Author SHA1 Message Date
Ulrich Czekalla
cae37b18fd wineserver: Validate the children of windows being hidden.
Prevents paint_count values from being skewed when hiding windows.
2007-01-26 12:55:47 +01:00
Ulrich Czekalla
4bdf4345b8 winex11.drv: Store window and drawable rects in X11DRV_PDEVICE. 2006-12-12 13:45:10 +01:00
Alexandre Julliard
844374afaf server: Always ignore the root window position when computing coordinates offsets. 2006-10-26 13:04:52 +02:00
Michael Stefaniuc
5cecceccb2 server: Remove redundant NULL check before free() (found by Smatch). 2006-10-10 12:56:16 +02:00
Alexandre Julliard
81c1472449 user32: The per-window user data must be a DWORD_PTR. 2006-10-04 21:49:11 +02:00
Alexandre Julliard
0f273c17ff server: Added data_size_t type to represent sizes in the server protocol.
Make it an unsigned int to save some space on Win64, if we need to
transfer more than 4Gb over the server pipe something is seriously
wrong.
2006-07-26 11:11:03 +02:00
Dmitry Timoshkov
19e7fab981 user: Improve SetActiveWindow test, add SetForegroundWindow test, make them pass under Wine. 2006-07-10 11:47:44 +02:00
Robert Shearman
38e74b3111 server: Don't attach the thread input when changing parents if the new
parent is the desktop (i.e. it is becoming a top-level window).
2006-06-08 10:26:15 +02:00
Jonathan Ernst
360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Alexandre Julliard
0fab85a5b6 server: Don't attach thread input to the desktop.
Now that the desktop can be owned by a thread we need to explicitly
check for it in the thread attach check.
2006-04-12 11:19:20 +02:00
Alexandre Julliard
2eb46bb464 explorer: Don't use ExitWindows on shutdown.
ExitWindows kills all current processes and that creates a race with
newly started processes. Instead, simply exit and let the new process
create a new explorer.
2006-04-07 20:26:47 +02:00
Alexandre Julliard
90af5a0d17 server: Connect to the window station and desktop specified by startup info.
If window station and desktop aren't inherited from the parent, don't
connect to them from the server, but from the USER init code where we
can get the proper values from the startup info structure.
2006-03-27 12:57:17 +02:00
Alexandre Julliard
641e9e382f server: Store window properties in the global atom table instead of
the per-winstation table.
2006-03-27 12:50:26 +02:00
Alexandre Julliard
1a4f6e579b user: Launch explorer to manage the desktop window. 2006-03-07 11:42:35 +01:00
Alexandre Julliard
f978f615d8 server: Support for closing the desktop window.
If a thread is owning the desktop window, when all other users of the
desktop have exited, signal the owner to close the desktop (with a 1
second delay).
2006-03-06 21:02:24 +01:00
Alexandre Julliard
251be542ac server: Infrastructure for having a thread own the desktop window. 2006-03-06 20:37:52 +01:00
Alexandre Julliard
4be3d4c12b server: Return real parent and owner in the create_window request.
Remove computing of parent and owner handles on the client side.
2006-03-06 15:00:37 +01:00
Ge van Geldorp
1a1583a364 Match PSDK STATUS_* definitions. 2005-11-28 17:32:54 +01:00
Alexandre Julliard
5ad90c0f37 Tie windows and thread input structures to a specific desktop.
Support multiple desktop windows (one per desktop object).
Use the window desktop to find the window station to use for property
atoms.
2005-07-11 13:30:23 +00:00
Alexandre Julliard
c3ac57dd86 Explicitly pass the winstation to the atom functions so that they can
be used even when current is not set.
2005-07-08 14:23:27 +00:00
Alexandre Julliard
8c518808b8 Put in place the basic infrastructure to allow supporting multiple
desktop windows.
2005-07-08 11:37:40 +00:00
Dmitry Timoshkov
86af38c8ca Make IsWindowUnicode work in the case when window belongs to another
process.
2005-07-07 12:02:31 +00:00
Alexandre Julliard
92fec7b67a Keep track of the windows and hooks used by a thread to properly
refuse to change the thread desktop when it's in use.
2005-06-28 19:37:52 +00:00
Alexandre Julliard
db412aaf60 Added a from_child parameter to the get_update_region request to allow
restarting the search from a given child, in order to avoid looping
forever on windows that don't repaint correctly.
2005-05-31 13:37:16 +00:00
Alexandre Julliard
50dc5a30e1 Crop the update region to the new window rectangle when resizing a
window.
2005-05-26 12:28:07 +00:00
Rob Shearman
b4b7f05dc3 Fix several memory leaks. 2005-05-23 09:53:06 +00:00
Alexandre Julliard
9e73cdde39 Allow passing a string to the window property server requests instead
of an atom to avoid redundant server round-trips.
2005-05-11 19:01:10 +00:00
Alexandre Julliard
d70a253f40 Make sure a thread has a queue as soon as it creates a window. 2005-04-26 14:31:33 +00:00
Raphael Junqueira
962a5e7742 Fix potential region leak. 2005-04-11 12:54:53 +00:00
Alexandre Julliard
bc75f2f6c9 Return the coordinates information needed to setup the DC parameters
in the get_visible_region request instead of requiring the client to
compute it again.
2005-03-31 15:36:57 +00:00
Alexandre Julliard
eea706948a The update region passed in WM_NCPAINT and the clipping region passed
to GetDCEx have to be in screen coordinates.
2005-03-30 17:11:46 +00:00
Alexandre Julliard
4d32a475a8 Replace the link_window request by a set_parent request since that is
all link_window is used for at this point.
Get rid of the WIN_LinkWindow/UnlinkWindow functions.
2005-03-25 10:38:56 +00:00
Alexandre Julliard
5054c79880 Try to always keep the server window Z-order in sync with the X11 one
using a heuristic based on mouse and expose events.
2005-03-21 12:37:00 +00:00
Alexandre Julliard
f75609087a Make the server know about the visible area of a window, which is the
window rect minus the caption and borders when they are handled by the
window manager.
2005-03-17 19:10:41 +00:00
Alexandre Julliard
4e47afb36f Compute the top clipping window directly on the server side. 2005-03-17 14:02:06 +00:00
Alexandre Julliard
705909ac09 Converted the window children lists to standard lists. 2005-03-16 19:54:33 +00:00
Alexandre Julliard
b9a9de6eb9 Clear the internal paint flag in the server before returning a
WM_PAINT message to avoid an extra server round-trip.
2005-03-10 17:19:33 +00:00
Alexandre Julliard
1bc2caad02 Don't check children of minimized windows in get_update_region. 2005-03-09 11:49:46 +00:00
Alexandre Julliard
548c973457 Allow the client rectangle to be of arbitrary size and dimensions,
regardless of the window rectangle.
2005-02-22 19:41:43 +00:00
Robert Shearman
04995ce90d Don't overwrite last byte of the window structure as we might not have
allocated the memory for it if extrabytes was 0.
2005-02-08 12:07:48 +00:00
Alexandre Julliard
ae661da49c Properly compute the client area valid rects and pass them to the
server in set_window_pos to avoid invalidating areas that remain
valid.
2005-02-03 13:40:12 +00:00
Alexandre Julliard
56206376b8 Desktop window is repainted on WM_ERASEBKGND, it must never get a
WM_PAINT.
2005-01-11 15:15:11 +00:00
Alexandre Julliard
5defa49979 Moved update region handling to the server. 2004-12-07 17:31:53 +00:00
Alexandre Julliard
085ef06bd5 Added is_window_visible function. 2004-10-27 21:54:41 +00:00
Alexandre Julliard
807fe07417 Don't bother to return partial region data in get_window_region and
get_visible_region, return STATUS_BUFFER_OVERFLOW instead.
2004-09-17 18:20:11 +00:00
Alexandre Julliard
4616dcb9a7 Moved the WindowFromPoint functionality to the server so that we can
properly take into account the window region.
2004-07-20 22:17:38 +00:00
Alexandre Julliard
3365eb7a2d get_visible_region: do not clip out siblings of the top-level window. 2004-07-06 23:54:49 +00:00
Alexandre Julliard
618a7e5813 Added support for window regions in the server. 2004-06-29 03:53:25 +00:00
Alexandre Julliard
e8d86b7cd4 Moved visible region calculation to the server. 2004-06-23 20:44:58 +00:00
Alexandre Julliard
bd13ab8d78 Store a pointer to the client-side class structure in the server and
return it on create_window and destroy_class.
Only create a single instance of the desktop class for the whole
session.
Added some missing locking in the client-side class management.
2003-12-11 05:34:53 +00:00