Commit Graph

662 Commits

Author SHA1 Message Date
Robert Shearman caec6026e7 - Window styles passed to CreateWindowEx must the same as passed in
CREATESTRUCT for WM_CREATE/WM_NCCREATE.
- Fix cases where WS_EX_WINDOWEDGE style is applied.
- Tests for the above.
2005-03-23 10:26:15 +00:00
Hans Leidekker ac147fefc7 Fix some -Wsign-compare and -Wuninitialized warnings. 2005-03-22 21:17:34 +00:00
Dmitry Timoshkov 10a7c25ac7 Add support for Serbian cyrillic X11 keyboard layout. 2005-03-22 16:42:47 +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 44e6d5a48d Don't try to resync Z-order on ConfigureNotify events, this cannot
work right anyway.
2005-03-21 10:57:21 +00:00
Glenn Wurster a21255d102 Remove break statements missed in last patch. 2005-03-21 10:53:42 +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 9ff2eea0e1 Don't force injected hardware messages to be queued in the current
thread.
2005-03-16 20:10:35 +00:00
Peter Berg Larsen 4293b614c4 Assorted memleak fixes. Found on Michael Stefaniuc smatch list. 2005-03-14 10:03:39 +00:00
Raphael Junqueira d574e9a2db - XListInputDevices spec say that device list should be freed using
XFreeDeviceList
- better robustness on X11DRV_AttachEventQueueToTablet
2005-03-10 11:48:28 +00:00
Alexandre Julliard 8382bf015e Added WM_X11DRV_DELETE_WINDOW message to handle close requests so that
we can send the WM_SYSCOMMAND with SendMessage instead of PostMessage.
Added missing NONAMELESSUNION define.
2005-03-09 18:46:13 +00:00
Alexandre Julliard aef19abc82 Moved SendInput and related functions to the USER driver to avoid a
number of dll separation hacks.
2005-03-09 16:45:23 +00:00
Alexandre Julliard 5beccd01ac Take into account the event mask passed to MsgWaitForMultipleObjectsEx
to allow processing only a subset of the available X events.
2005-03-08 19:20:14 +00:00
Maxime Bellengé ca6cb6b08b - Fix unmovable windows if the window style is set to WS_POPUP |
WS_VISIBLE and WS_EX_APPWINDOW.
- Fix metacity displaying decorations where it should not.
2005-03-08 18:58:25 +00:00
Alexandre Julliard 484ef02aab Added support for iso8859-16 charset. 2005-03-08 16:46:54 +00:00
Alexandre Julliard f210c0bbad Added a missing prototype. 2005-03-07 20:08:50 +00:00
Ulrich Czekalla 5067909587 Create a thread-specific selection window to make sure we receive the
selection events in the correct thread.
2005-03-07 19:31:46 +00:00
Dmitry Timoshkov ee5be57935 Avoid unnecessary window locking in X11DRV_DestroyWindow. 2005-03-07 17:13:53 +00:00
Alexandre Julliard d0ee9f9309 Avoid spaces before preprocessor directives, that's not portable. 2005-03-02 12:23:20 +00:00
Alexandre Julliard 2fd19dfb98 Use a dispatch table to handle X client messages. 2005-03-01 11:52:02 +00:00
Ulrich Czekalla 18fe91d8d2 If unexpected condition occurs just report an error. 2005-03-01 10:43:58 +00:00
Huw Davies 4cf9dd3d47 If the dibsection is based on a file-mapping object, then make sure
that the section is in sync when the dibsection is deleted.
2005-03-01 10:43:19 +00:00
Alexandre Julliard 94846a39dc Use a table of handlers to dispatch X events and get rid of the
special casing for DGA and tablet events.
Unify the declarations of all the event handlers.
2005-02-26 17:49:38 +00:00
Alexandre Julliard 0778a45da2 Moved clipboard event handling functions and some private data
structures to clipboard.c.
2005-02-25 21:01:15 +00:00
Alexandre Julliard 983a8b5888 Revert SC_CLOSE change, this is causing deadlocks. 2005-02-23 21:47:32 +00:00
Jason Edmeades ddd1c1d0a1 Take into account additional requested spacing on break characters. 2005-02-23 12:42:17 +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
Ulrich Czekalla 43b5576998 Duplicate Windows behaviour and use SendMessage for the SC_CLOSE
system command instead of PostMessage.
2005-02-18 20:00:57 +00:00
Lauri Tulmin 373dc8909f Make minimized windows stay minimized. 2005-02-16 16:08:18 +00:00
Dmitry Timoshkov 39f960bdfa - Fix prototypes of GetClassLongA/W, GetClassLongPtrA/W and
SetClassLongA/W according to SDK definitions.
- Add prototypes for SetClassLongPtrA/W, protect some GWL_ and GCL_
  constants from using in Wine or in _WIN64 mode.
- Fix all places in Wine affected by the above changes.
2005-02-15 21:51:06 +00:00
Alexandre Julliard e551555d4e Make the win data pointer only available in the thread that owns the
window.
2005-02-09 14:01:40 +00:00
Dmitry Timoshkov 641be42a88 Add support for Turkish (tr) X11 keyboard layout. 2005-02-09 13:25:59 +00:00
Dmitry Timoshkov 6dba0a7718 Add support for winevent hooks. 2005-02-03 16:40:20 +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 d7726c3a73 Store the "managed" flag as a window property instead of the
Wine-specific WS_EX_MANAGED style bit.
2005-02-01 18:53:59 +00:00
Alexandre Julliard f777d70a63 Only create an X window for top-level windows, not for child windows.
Get rid of the X client window too, it's no longer needed.
2005-01-31 16:34:07 +00:00
Alexandre Julliard d56ccaa7e1 Use an X context to associated the x11drv private window data to a
window handle instead of accessing the WND structure directly.
2005-01-28 17:25:50 +00:00
Oliver Stieber fe59db7ce3 Send a scancode through for the 5 key when numlock isn't on. 2005-01-28 11:27:00 +00:00
Glenn Wurster bcaca0a5f7 Disable antialiasing of fonts while working in a palette. 2005-01-26 19:43:42 +00:00
Rein Klazes 3ee5db6e17 Make ShowWindow(...,SW_SHOWNA) also work on already visible windows
with some conformance tests.
2005-01-25 11:21:20 +00:00
Glenn Wurster eae60bedd5 Disable antialiasing if the font dictates it. 2005-01-24 19:32:54 +00:00
Glenn Wurster c3f8226ed1 Split caching of antialiased and non-antialiased glyphs. 2005-01-24 19:08:02 +00:00
Dmitry Timoshkov 50eb546e4f Put Brazilian ABNT2 keyboard layouts in line with appropriate virtual
keyboard maps.
2005-01-24 18:58:00 +00:00
Robert North 6d21f3e533 Bring wintab in line with Jeremy's X11 event timing patches again. 2005-01-24 13:38:32 +00:00
Robert North 589c9569b1 Add the rule that inverted cursor has -ve altitude, matching behaviour
on Windows wacom tablets.
2005-01-24 13:37:48 +00:00
Robert North 041e978353 Packets from eraser cursors are marked as inverted, matching behavior
on Windows Wacom tablets.
2005-01-24 13:36:42 +00:00
Robert North e4a19500ca - In wintab's default system context, change context options to match
Wacom tablet in windows.
- Change device orientation unit definition to angular.
- Use Macros where appropriate to define cursor and device defaults.
2005-01-24 13:33:23 +00:00
Robert North 8ed495987e - Don't post messages on Wine message queue, if tablet context flags
posting are disabled.
- When posting messages on Wine message queue, use message base stored
  in tablet context, not the default message base.
- Ensure that X11 Proximity events put messages onto Wintab message
  queue.
2005-01-24 12:40:01 +00:00
Robert North cb4652a71c Generate Wintab packets for XInput button up/down events. 2005-01-24 11:23:40 +00:00
Alexandre Julliard 5ae51c47dd Tweak SetWindowPos flags handling to make a few more of the messaging
tests pass.
2005-01-21 17:06:07 +00:00
Alexandre Julliard f936428601 Make WIN_SetStyle more thread-safe by specifying the bits to change
instead of the new value.
2005-01-21 10:32:13 +00:00
Rémi Assailly 81b13c4bb5 Added missing declarations. 2005-01-20 20:36:01 +00:00
Alexandre Julliard 6382ffae2a Replace a number of calls to WIN_FindWndPtr by WIN_GetPtr. 2005-01-20 20:07:42 +00:00
Oleh R. Nykyforchyn 62b94d89bd Ukrainian codepage 21866 added and respective files corrected. Two
keyboard layouts (for Ukrainian and Russian) added.
2005-01-19 20:59:31 +00:00
Alexandre Julliard 6758db9a0c Get rid of nonclient.h and of the corresponding exported functions in
user32.spec.
2005-01-17 20:27:11 +00:00
Alexandre Julliard fc5ce14592 Avoid most references to the internals of the WND structure by passing
around an x11drv_win_data pointer instead.
2005-01-17 19:17:47 +00:00
Alexandre Julliard b819f4cd5c Removed a couple of unnecessary calls to WIN_SuspendWndsLock. 2005-01-17 15:49:02 +00:00
Alexandre Julliard d820437b19 Removed unused ForceWindowRaise function. 2005-01-17 13:46:57 +00:00
Jeremy White 77502e7e62 Fix X11 event timing so that we correctly correlate X11 timing and
Wine timing and dynamically adjust it as we go.
2005-01-14 17:06:40 +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 e2a7181069 Warning fix. 2005-01-11 15:13:11 +00:00
Jacek Caban 7e2a7c949d Get rid of W->A calls. 2005-01-11 15:10:56 +00:00
Eric Pouech cf1d00bb08 Removed excessive statement (break after return or goto, not useful
break, not needed vars...)
2005-01-09 16:42:53 +00:00
Ulrich Czekalla 318b963f9f Always clearAllSelections since not clearing CLIPBOARD can get us into
an odd state.
2005-01-04 20:34:46 +00:00
Michael Stefaniuc 15a308a9d7 Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
2005-01-03 14:56:42 +00:00
Dmitry Timoshkov ce81088eb5 - Do not print FIXME in X11DRV_GetKeyboardLayout if dwThreadid
identifies current thread.
- Make X11DRV_GetKeyboardLayoutList follow the same rule as
  X11DRV_GetKeyboardLayout and X11DRV_GetKeyboardLayoutName for CJK
  locales.
- There is no need to have 0xe001 in the high word of Japanese
  keyboard layouts lcids in main_key_tab, the above APIs take care of
  it.
- High word of a returned keyboard layout duplicates low word for non
  CJK locales under Windows.
2005-01-03 14:44:27 +00:00
Mike Hearn 9b98d3d3d8 Fix Xlib locking in create_desktop. 2004-12-27 17:03:15 +00:00
Michael Stefaniuc 5ad7d858e0 Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
2004-12-23 17:06:43 +00:00
Eric Pouech 4fa1d6bba7 Fixed bug with unsigned index in decreasing loop. 2004-12-22 17:16:03 +00:00
Jon Griffiths 32454a81a5 Remove unneeded headers to reduce unneeded rebuilds. 2004-12-20 19:00:11 +00:00
Rémi Assailly 853f79bdad - removed unused tagPALETTEOBJ and tagWINDOWPOS
- tagBITMAPOBJ is declared twice, removed one.
2004-12-17 19:35:16 +00:00
Dmitry Timoshkov 99fda0a1de Add a mouse input test case, make the test pass under Wine. 2004-12-17 18:49:24 +00:00
Michael Stefaniuc 1493433e38 Missing HeapFree's + 1 LocalFree (found by smatch). 2004-12-14 11:38:50 +00:00
Alexandre Julliard 25b6493aee Added some sanity checks on window dimensions. 2004-12-09 16:58:00 +00:00
Alexandre Julliard 6a78c16aac Moved private USER definitions to a new user_private.h header, and
removed the global user.h.
2004-12-08 18:06:14 +00:00
Alexandre Julliard 5defa49979 Moved update region handling to the server. 2004-12-07 17:31:53 +00:00
Jean-Michel Dault ee2f10d51d Added another Canadian keyboard layout. 2004-12-06 17:06:20 +00:00
Dmitry Timoshkov 12f49fb9b1 ShowWindow activates only a being maximized child window, add a couple
of message tests for MDI child activation.
2004-12-06 16:38:19 +00:00
Eric Pouech 0a258964c2 Const correctness fixes. 2004-11-30 21:38:57 +00:00
Robert Shearman 83f7b39dab When changing from DIB_Status_GdiMod to DIB_Status_GdiMod, we have to
set the previous status to DIB_Status_GdiMod, otherwise a
non-committing unlock could incorrectly revert the DIB to another
state, rather than the correct DIB_Status_GdiMod.
2004-11-23 12:21:05 +00:00
Glenn Wurster c26d15f876 Use physDev->textPixel instead of GetTextColor for ExtTextOut. 2004-11-22 18:10:16 +00:00
Huw Davies a90a60866c Fallback to some sensible default values when underlining and striking
out bitmap fonts.
Rotate the strikeout line if the escapement is non-zero.
2004-11-19 18:10:47 +00:00
Kevin Koltzau 0e6408c408 Change AlphaBlend to use destination dimensions rather then source. 2004-11-09 20:02:57 +00:00
Walt Ogburn 0bec4b7024 Turn ISO_Left_Tab back into a tab character if needed. 2004-11-08 20:25:37 +00:00
Michael Kaufmann 0dd2910eba - Extended support for BITMAPCOREINFO / BITMAPCOREHEADER structures.
- Always calculate the location of the color table.
- CreateCompatibleBitmap: Create a DIB section if necessary.
- Added some tests.
2004-11-02 05:23:49 +00:00
Kevin Koltzau 92ec21bd2b Add stretching support to AlphaBlend. 2004-10-27 00:43:50 +00:00
Alexandre Julliard d3c0cb77d9 VK_0-9 and VK_A-Z are not defined in the Windows headers, removed them
(spotted by Francois Gouget).
2004-10-22 20:29:10 +00:00
Robert North e2bd6f36d0 Fix WTInfoA in wintab.c so it can now take lpOutput == NULL, as per
standard.
2004-10-21 19:53:02 +00:00
Alexandre Julliard 065fdde8f6 Authors: Doug Paul <doug@elemental.ath.cx>, Glenn Wurster <gwurster@scs.carleton.ca>
Change reading of PC_(EXPLICIT|NOCOLLAPSE|RESERVED) to handle multiple
values.
2004-10-18 21:18:30 +00:00
Vincent Béron 57fb99fa25 Protect some more types which can be redeclared in Xmd.h. 2004-10-18 19:37:19 +00:00
Dmitry Timoshkov 4f8a7592a7 Disable remaining piece of the code which auto assigns virtual key
codes, it breaks VK_OEM_102 in finnish/swedish keyboard layouts.
2004-10-08 20:50:24 +00:00
Dmitry Timoshkov b0c45123e5 Add a test case for accelerators, make the test pass on Wine. 2004-10-05 23:45:35 +00:00
Dmitry Timoshkov 7d6f360f94 Ignore FocusOut event if there is no event window. 2004-09-29 21:11:28 +00:00
Michael Kaufmann 54be3001b4 - Add as many entries to the color map as specified by the DIB.
- Support bitmaps with a BITMAPV{4,5}HEADER.
2004-09-27 20:33:58 +00:00
Robert Shearman bbdac5e475 GetWindowLong -> GetWindowLongPtr. 2004-09-22 19:14:08 +00:00
Rein Klazes 3430bc2cb2 X11DRV_ScrollDC should not have a WINAPI attribute. 2004-09-20 19:10:55 +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
Huw Davies daf776fdde When we blit with a monochrome dibsection as the source we should use
the colour table of that dib.
Added a test for this.
2004-09-16 20:29:25 +00:00
Huw Davies 530e789d7e It's important to keep the original dib colour table and not just the
colour mapping associated with a dib section - it's this table that
GetDIBColorTable should retrieve.
Added some GetDIBColorTable tests.
2004-09-16 19:10:14 +00:00
Dmitry Timoshkov ca27b29f92 Remove a stray 'else' left by a previous patch. 2004-09-15 18:03:15 +00:00
Dmitry Timoshkov d304e4f80d Log flags for WM_WINDOWPOSCHANGING/WM_WINDOWPOSCHANGED messages, make
the tests pass on Win95/Win98/Win2000, fix some test failures under
Wine.
2004-09-13 18:03:09 +00:00
Huw Davies ce34568351 We want all 1bpp dibsections to have a monochrome bitmap and
everything else to be at the screen depth.
2004-09-10 19:35:56 +00:00
Alexandre Julliard 92acc58af6 Get rid of the WIN_SetRectangles export from user32. 2004-09-09 00:30:29 +00:00
Alexandre Julliard bf5470c00e We still need to look for the top parent that doesn't clip siblings in
GetDC because of the X window clipping.
2004-09-01 17:30:35 +00:00
Alexandre Julliard 9fff718a6d wineclipsrv is no longer used, remove it. 2004-09-01 01:40:57 +00:00
Uwe Bonnes a8509028c1 Spelling fix. 2004-08-30 18:36:35 +00:00
Huw Davies ce4dfe23b4 Deprecate the "Resolution" entry in the config file in favour of
HKEY_CURRNET_CONFIG\Software\Fonts\LogPixels.
2004-08-26 18:24:49 +00:00
Evan Deaubl 627423d10b Fix an ERR log in X11DRV_CreateWindow. 2004-08-26 18:11:29 +00:00
Alexandre Julliard 8680ce1a0e In GetDC use the parent drawable when DCX_PARENTCLIP is set. 2004-08-24 18:49:34 +00:00
Alexandre Julliard 041c489a47 When possible, use the X window of the requested window in GetDC
instead of the parent to avoid trouble with OpenGL clipping.
2004-08-24 02:35:25 +00:00
Robert Shearman 553dc348b0 Allow the user to move managed windows by dragging on HTCAPTION
areas.
2004-08-18 23:47:48 +00:00
Krishna Murthy af5feb9bdd Allow resizing windows without thickframe style. 2004-08-17 22:28:02 +00:00
Huw Davies 13f52454c4 Sync with dibsection in SetDIBitsToDevice. 2004-08-13 19:47:29 +00:00
Huw Davies dd8922f20b Repect the width of both the src and dst when calculating how many
pixels to copy in a dib <-> bmp operation.
2004-08-12 20:02:39 +00:00
Hans Leidekker 5f6f63a49d Fix signed/unsigned comparison warnings. 2004-08-11 23:45:34 +00:00
Huw Davies dbf5b2a320 Don't try to rotate bitmap fonts. 2004-08-11 19:34:20 +00:00
Huw Davies 175208f5e1 Ever since win98 pattern brushes have been able to be larger than 8x8
pixels, so remove this restriction.
2004-08-11 18:50:52 +00:00
Ulrich Czekalla 8322fc6a57 Avoid holding x11drv lock while calling function that grabs gdi
lock. Prevents potential deadly embrace.
2004-08-10 23:42:52 +00:00
Lionel Ulmer aa25b1f886 Do not initialize variables before going into the Render short-cut. 2004-08-09 18:50:35 +00:00
Ofir Petruska 7054a8de78 Default DesktopDoubleBuffered to true. 2004-08-09 18:48:49 +00:00
Huw Davies 2bf1562c28 Actually pass the blend function on to the graphics driver. 2004-08-06 18:59:31 +00:00
Huw Davies 4e54df5a95 Added top-down dib support to AlphaBlend. 2004-08-04 18:15:42 +00:00
Huw Davies dd5b23fddb Implement AlphaBlend using the XRENDER extension. 2004-08-02 18:54:54 +00:00
Huw Davies f45befe411 Draw underline and strikeout lines in the non-xrender cases too. 2004-07-22 19:44:10 +00:00
Alexandre Julliard 642584c560 Make x11drv fail to load when it can't open the display, instead of
killing the whole process.
2004-07-13 03:49:52 +00:00
Marcus Meissner 035f34c99b Replaced lvalue casts / postincrement mixes. 2004-07-12 19:46:24 +00:00
Mike Hearn c34b79ce43 Output X11 protocol errors before breaking into debugger. 2004-07-09 19:25:59 +00:00
Ulrich Czekalla 5b1a13b281 If the selection owner doesn't understand TARGETS, try retrieving
XA_STRING.
2004-07-08 20:14:37 +00:00
Ulrich Czekalla 0a8d550901 Handle case when data type is not registered. 2004-07-08 20:14:23 +00:00
Alexandre Julliard 6acd40dc98 Fixed X11DRV_GetDC for the desktop window.
Use the client window as drawable when possible.
2004-07-06 23:57:01 +00:00
Alexandre Julliard 618a7e5813 Added support for window regions in the server. 2004-06-29 03:53:25 +00:00
Alexandre Julliard e59ec7cd94 Use X11DRV_GetRegionData to implement X11DRV_SetWindowRgn instead of
duplicating that functionality.
2004-06-28 23:54:22 +00:00
Dmitry Timoshkov b3569e7015 Add a test case for clipboard functionality and fix some bugs revealed
by it.
2004-06-25 02:55:37 +00:00
Robert Shearman 55efefddee Fix small mistake in the previous visible region patch. 2004-06-24 04:06:51 +00:00
Dmitry Timoshkov d530e54883 WM_WINDOWPOSCHANGED should always contain a final window position. 2004-06-23 20:50:30 +00:00
Alexandre Julliard e8d86b7cd4 Moved visible region calculation to the server. 2004-06-23 20:44:58 +00:00
Vincent Béron 9d8036e1d8 Replace some more -debugmsg references for WINEDEBUG. 2004-06-21 23:56:15 +00:00
Alexandre Julliard 0118c8ba0f Only unmap the window when it gets moved off-screen by the app, not by
the window manager.
2004-06-18 22:34:19 +00:00
Dmitry Timoshkov b6175f49af ShowWindow shouldn't fix SWP_ flags, it's the job of SetWindowPos. 2004-06-18 19:37:37 +00:00
Huw Davies ed4bc907ef Remove an incorrect LeaveCriticalSection. 2004-06-16 19:02:25 +00:00
Ulrich Czekalla 06a60621ab ScrollDC should take into account overlapped windows. With this change
ScrollWindowEx can be moved out of X11drv.
2004-06-15 17:04:02 +00:00
Huw Davies 72ebbb61fa Don't allocate a glyphset until we actually need it. 2004-06-15 17:01:52 +00:00
Dmitry Timoshkov 4e23f101f3 Do nothing in ShowWindow(SW_SHOW) if a window is already visible. 2004-06-14 19:32:21 +00:00
Mike Hearn 0bc2edf341 Make UseXrandr default to true in the no config file case. 2004-06-14 16:58:38 +00:00
Mike Hearn eff34efcf8 Ignore attempts to hide an already invisible window. Add a test case
for this behaviour, passes on Wine and Windows 2000.
2004-06-03 23:26:35 +00:00
Mike Hearn e2a7b28960 Default to 96dpi when not specified in the config file. 2004-05-28 03:39:59 +00:00
Troy Rollo 2cf4ec3e2d Make underlining of fonts drawn at an angle follow the text. 2004-05-27 02:20:50 +00:00
Eric Pouech df93f2eeee GetModuleFileName[AW] doesn't terminate the string if the buffer is
too small.
2004-05-19 03:22:55 +00:00
Patrik Stridvall 070db4e5de Fixed some issues found by winapi_check. 2004-05-17 21:08:31 +00:00