Commit Graph

188 Commits

Author SHA1 Message Date
Alexandre Julliard 43d465f86a server: Ignore color-keyed windows when updating the z-order. 2012-09-11 18:12:16 +02:00
Alexandre Julliard a76f60d14e server: Always repaint the whole non-client area if part of it is exposed. 2012-09-04 14:11:07 +02:00
Alexandre Julliard 044f790bcb winex11: Always paint to the whole window. 2012-08-30 19:02:27 +02:00
Alexandre Julliard 0816a04d92 server: Subtract the current update region from the valid rect when a window client area is changed. 2012-07-17 12:50:23 +02:00
Dmitry Timoshkov 94c817e311 server: Make sure that region and rectangle have the same origin before calling rect_in_region(). 2012-06-06 12:39:53 +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 02e8174067 server: Store the cursor clip rectangle in the server. 2011-02-25 13:50:19 +01:00
Vladimir Panteleev 824c5089d2 user32: Update last active popup for all parents. 2010-10-18 19:47:58 +02:00
Alexandre Julliard fcd685977d server: Valid rects are in parent coordinates. 2010-10-07 15:58:10 +02:00
Alexandre Julliard d076dfa8e8 server: Update child window positions when resizing a mirrored parent. 2010-10-05 11:01:21 +02:00
Alexandre Julliard 6ee4521886 server: Pass the rectangle in client coordinates for update_window_zorder. 2010-09-27 21:12:49 +02:00
Alexandre Julliard d56ac06260 server: Mirror the window region for RTL windows in get/set_window_region and redraw_window. 2010-09-27 21:07:11 +02:00
Alexandre Julliard bc20ff50b6 server: Mirror the rectangles for RTL windows in set_window_pos. 2010-09-23 17:50:10 +02:00
Alexandre Julliard 3f026cafa5 user32: Add support for RTL window layouts in WIN_GetRectangles. 2010-09-22 20:28:20 +02:00
Alexandre Julliard 5702324b37 user32: Add support for RTL window layouts in MapWindowPoints. 2010-09-22 20:27:52 +02:00
Alexandre Julliard 7295b6746d user32: Add support for fetching window rectangles relative to various origins. 2010-09-07 14:31:30 +02:00
Dmitry Timoshkov dfe6ae58af user32: Protect from setting as a window owner one of its successors. 2010-08-04 17:35:22 +02:00
Dmitry Timoshkov 66e981ec8d server: Make layered windows transparent for mouse messages. 2010-06-11 14:16:03 +02:00
Alexandre Julliard adf9dcd6a7 user32: Fix Z-order handling of windows that have a top-most owner. 2010-02-19 13:05:08 +01:00
Alexandre Julliard 5dcf157b5b server: Hide a window before destroying it if it was still visible. 2009-06-03 11:29:15 +02:00
Alexandre Julliard f2c4e09e80 server: Make module handles always 64-bit. 2008-12-29 16:47:51 +01:00
Alexandre Julliard cb2788efaf server: Add a module_handle_t type to represent client-side module handles. 2008-12-29 16:41:44 +01:00
Alexandre Julliard 517b2f624d server: Windows properties are actually generic params, not handles. 2008-12-10 16:21:32 +01:00
Alexandre Julliard 31282b3f63 server: Define an lparam_t type for message parameters that can hold all sorts of data. 2008-12-10 16:01:50 +01:00
Alexandre Julliard d764107434 server: Make user handles ints instead of pointers. 2008-12-08 16:57:38 +01:00
Alexandre Julliard 05b4181cac server: Implemented the server side of Get/SetLayeredWindowAttributes. 2008-09-12 15:30:47 +02:00
Alexandre Julliard 0f9484a124 server: Set the visible rect in the set_window_pos request again.
This essentially reverts 2f69329a37.
We really need the visible rect to be set atomically with the rest of
the window position info.
2008-07-03 20:33:12 +02:00
Alexandre Julliard 42e2c99ce2 server: Fix a potential desktop reference leak. 2008-06-26 16:49:23 +02:00
Alexandre Julliard 6536868d07 user32: Make sure that IsWindowVisible returns FALSE for HWND_MESSAGE windows. 2008-06-25 15:49:44 +02:00
Alexandre Julliard 612c010431 user32: Add support for finding HWND_MESSAGE windows in FindWindowEx. 2008-06-25 15:30:22 +02:00
Alexandre Julliard 6b36e2131d server: Also return the top-level message window in the get_desktop_window request. 2008-06-25 14:44:06 +02: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 25e070c0ac server: Use a unicode_str to represent atom names. 2008-06-25 14:03:08 +02:00
Marcus Meissner a82455e627 server: Remove superflous empty region allocation. 2008-05-14 16:02:32 +02:00
Alexandre Julliard 30c0639b5a server: Crop the invalidate region against the rectangles of all parents. 2008-05-12 12:44:10 +02:00
Alexandre Julliard bc25119c6e server: Also crop the update region of children when moving a window. 2008-05-12 12:44:10 +02:00
Alexandre Julliard e02969ddf0 server: When moving/resizing a window crop the update region against the new rectangle of the parents. 2008-05-12 12:41:17 +02:00
Alexandre Julliard 34fe91bf2b user32: Implemented EnumDesktopWindows. 2008-03-19 11:13:46 +01:00
Alexandre Julliard b2ea572352 server: Fix desktop window coordinates mapping in expose_window. 2008-03-18 12:22:53 +01:00
Alexandre Julliard e42eaaaf3a server: Invalidate the newly exposed child region on the parent too if it doesn't clip children. 2008-03-03 17:52:18 +01:00
Alexandre Julliard 8ee07d49ae winex11: Re-introduce a separate X11 window for the client area of top-level windows. 2008-02-21 12:53:00 +01:00
Alexandre Julliard 2921f5c156 server: Invalidate the correct region when custom valid rects are specified. 2008-01-22 20:06:35 +01:00
Alexandre Julliard 2f69329a37 server: Add a separate request to set the window visible rect. 2008-01-22 20:01:21 +01:00
Alexandre Julliard 30d84fcd77 user32,server: Set the initial window rectangles to 0,0-0,0. 2008-01-22 10:15:38 +01:00
Alexandre Julliard a54a990b3b server: Allow to specify the class name instead of the atom to find a window. 2007-11-02 15:26:49 +01:00
Alexandre Julliard 1fc461f98b server: Allow to specify the class name instead of the atom to create a window. 2007-11-02 15:16:25 +01:00
Alexandre Julliard c183a9e6e7 server: Added support for HWND_TOPMOST and HWND_NOTOPMOST. 2007-10-31 18:12:56 +01:00
Alexandre Julliard b843534357 server: Fix get_next/prev_window behavior for unlinked windows. 2007-10-31 18:08:19 +01:00
Alexandre Julliard 917f288f1b server: Also return the new extended style in the set_window_pos request. 2007-10-31 17:51:05 +01:00
Alexandre Julliard a771c53e27 server: Don't expose the parent window in areas that are now part of the child visible region. 2007-10-17 17:43:06 +02:00
Alexandre Julliard 952c82c271 server: Avoid refreshing areas of a window that have already been copied by the X server. 2007-10-17 17:28:04 +02:00
Alexandre Julliard 5874b854ee server: Clip the visible region of a window to the desktop window. 2007-09-20 19:38:50 +02:00
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