Commit Graph

84 Commits

Author SHA1 Message Date
Alexandre Julliard df13cee288 server: Store a separate flag for windows that need to be erased in WM_PAINT.
This avoids the need to invalidate the window after WM_ERASEBKGND.
2007-08-27 16:41:08 +02:00
Alexandre Julliard 5bd497f3ca server: Moving a window should only expose the immediate parent. 2007-08-27 15:21:19 +02:00
Alexandre Julliard 149cbb1b60 server: Validate the parents every time we paint a window instead of only on RDW_UPDATENOW. 2007-08-23 20:22:30 +02:00
Vitaliy Margolen dcdf7c55d6 server: Treat desktop as a top-level window. 2007-07-23 11:53:06 +02:00
Andrew Talbot b1788c8462 server: Replace inline static with static inline. 2007-03-17 20:05:05 +01:00
Alexandre Julliard 1767b4558a server: Expose areas revealed by changes to the window region. 2007-03-05 16:43:27 +01:00
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