Commit Graph

910 Commits

Author SHA1 Message Date
Marcus Meissner 8a06bd9e1c winex11.drv: Check NULL before calling (Coverity). 2009-12-02 13:14:47 +01:00
Rob Shearman b894925b0e winex11.drv: Make sure that the selectionAcquired flag has been set before returning from X11DRV_AcquireClipboard.
X11DRV_CLIPBOARD_UpdateCache depends on selectionAcquired being set if
the current process is the selection owner, otherwise it will defer to
getting the clipformats from X, manufacturing extra formats that the
app may not be expecting, having just set the formats itself. Worse
still, since selectionAcquired is set in another thread this behaviour
is not predicatable and it may sometimes use the clipformats already
set and other times defer to X.
2009-12-01 15:10:37 +01:00
John Klehm bc95ef3cbc winex11.drv: Report correctly when wintab is disabled. 2009-11-30 12:47:46 +01:00
Vincent Povirk 1bd13dec61 winex11.drv: Generate text/html clipboard data from HTML Format. 2009-11-23 13:34:15 +01:00
Vincent Povirk 56b8536336 winex11.drv: Remove the HTML Format -> text/html clipboard mapping.
The two formats do not match exactly.
2009-11-23 13:34:09 +01:00
Austin English a3cf7a4e06 winex11.drv: Downgrade an ERR to a WARN. 2009-11-19 11:45:59 +01:00
Roderick Colenbrander 9a85426389 wgl: Add support for WGL_ARB_create_context_profile which is required for OpenGL 3.2. 2009-11-19 11:04:35 +01:00
Roderick Colenbrander 41f061ea1b wgl: Add initial WGL_ARB_create_context support. 2009-11-18 11:39:57 +01:00
Alexandre Julliard 184f1fe331 winex11: Get rid of the SetDCOrg entry point. 2009-11-17 15:14:54 +01:00
Roderick Colenbrander 50a8b2a633 wgl: The GLX context creation code isn't needed anymore in wglCopyContext because we always have a GLX context now. 2009-11-17 12:05:40 +01:00
Roderick Colenbrander f4b88e34ec wgl: Get rid of delayed GLX context creation. Instead attempt to re-create a context when wglShareLists is called. 2009-11-16 17:42:54 +01:00
Roderick Colenbrander e7590fcfb5 wgl: Make sure we set a valid value for GLX_DRAWABLE_TYPE. Right now we default to 0 which is illegal. 2009-11-13 13:37:10 +01:00
Roderick Colenbrander a46bd4bc9f wgl: None of the WGL_render_texture attribute values makes sense for GLX_X_RENDERABLE, so get rid of it. 2009-11-13 13:36:55 +01:00
Vincent Povirk 4622889bd5 winex11.drv: Ignore FocusOut events on virtual desktop windows.
We don't want to send WM_CANCELMODE or set the foreground window to the
desktop when a virtual desktop loses focus. It has its own focus independent
of X.
2009-11-12 14:39:54 +01:00
Vincent Povirk 6823f4aaf8 winex11.drv: Allow explorer to focus other process windows.
When explorer gets a take focus message, it tries to focus the foreground
window, but this doesn't work because set_focus can only focus windows in
the current process. We have to look for the focus window in the foreground
thread, not the current one, or we won't find the other process's windows.

Since the other process may crash at any time, causing its windows to be
destroyed, we also have to ignore the BadWindow error that will occur if that
happens at a critical time.
2009-11-12 14:39:39 +01:00
Vincent Povirk 05f00f4ed8 winex11.drv: Allow windows in a virtual desktop to have X focus. 2009-11-12 14:39:14 +01:00
Roderick Colenbrander 61633b6251 winex11: Fix a regression when the same depth was used but in a different bit-ordering. 2009-11-12 13:11:05 +01:00
Roderick Colenbrander 521598560e wgl: Fix a violation of the GLX specs in ConvertAttribWGLtoGLX.
Nvidia and Mesa ignore GLX_RENDER_TYPE when it is set to an invalid
value like 0 but AMD for instance doesn't, which is legal.
2009-11-12 13:09:11 +01:00
Peter Urbanec ab081aa845 winex11: Implement AlphaBlend mode for the case where SourceConstantAlpha is combined with source alpha. 2009-11-11 15:13:38 +01:00
Francois Gouget 5fb3985fa5 Assorted spelling fixes. 2009-11-09 19:42:31 +01:00
Gerald Pfeifer 1f2611607f winex11: Handle error situation earlier in X11DRV_GetDIBits(). 2009-11-03 21:21:14 +01:00
Roderick Colenbrander f8786eacb7 winex11: Check format in XRender_GetSrcAreaStretch instead of depth. 2009-10-30 15:08:38 +01:00
Roderick Colenbrander 00bbab491b winex11: Make sure the formats are the same instead of the depths since the bit ordering can be different. 2009-10-30 15:08:31 +01:00
Ken Thomases e606da3be9 winex11: Allow assigning non-OEM virtual key codes for remaining keys.
This is safe because the keyboard layout tables and standard virtual
key code assignments have all already been done.  This is necessary
because some X11 keyboard mappings (e.g. Greek keyboard layout on a
Mac) are full of non-Latin keysyms.
2009-10-27 11:32:04 +01:00
Ken Thomases 58156740f9 winex11: Use a table of available OEM virtual key codes.
Restore availability of vkeys prior to VK_OEM_8.  That's safe now that OEM
vkeys are assigned in a separate loop after standard OEM vkey assignments
have been made.
2009-10-27 11:31:34 +01:00
Ken Thomases f6a6712a31 winex11: Assign OEM virtual key codes in a separate loop. 2009-10-27 11:31:18 +01:00
Alexandre Julliard 9ea4e18be6 winex11: Do not give focus to a WS_EX_NOACTIVATE window. 2009-10-23 12:25:22 +02:00
Henri Verbeet ac14a2eec8 winex11.drv: Properly free "visinfo" in get_formats() (Valgrind). 2009-10-21 16:05:57 +02:00
Ge van Geldorp e77bef234a winex11.drv: Fix build on systems without libXrender. 2009-10-19 11:43:01 +02:00
Roderick Colenbrander a9cafb8f2e winex11: Use get_xrender_picture in X11DRV_AlphaBlend. 2009-10-16 13:43:19 +02:00
Alexandre Julliard af683e711c winex11: The xrender tile picture must be used only inside the critical section. 2009-10-14 14:24:17 +02:00
Roderick Colenbrander a705257393 winex11: Use get_xrender_picture in X11DRV_XRender_GetSrcAreaStretch. 2009-10-14 14:23:19 +02:00
Roderick Colenbrander 14e21d955a winex11: Add X11DRV_XRender_SetDeviceClipping for syncing the clipping region with XRender pictures. 2009-10-14 14:01:34 +02:00
Erich Hoover 8c9a6e9f5c winex11: Send WM_SYSKEYDOWN and WM_SYSKEYUP when the 'F10' key is used. 2009-10-14 12:59:39 +02:00
Alexandre Julliard 2fda19ca98 winex11: Store the device format in the Xrender info structure. 2009-10-13 12:21:53 +02:00
Alexandre Julliard 6193d7def4 winex11: Make all render format pointers const. 2009-10-13 12:06:38 +02:00
Roderick Colenbrander 34116289a5 winex11: Introduce get_xrender_picture for retrieving a Picture from a physDev and allocating a Picture when needed. 2009-10-13 12:03:58 +02:00
Alexandre Julliard 344cf57f1b winex11: Rename the XRENDERINFO type to make it clear it's a pointer. 2009-10-08 12:10:59 +02:00
Roderick Colenbrander 3e5e0ee807 winex11: Move XRENDERINFO allocation in a separate function. 2009-10-08 12:08:38 +02:00
Alexandre Julliard fa6ffb4d5d Fix empty function prototypes. 2009-10-07 12:24:53 +02:00
Wim Lewis a1c66499bf winex11: Fix font metric cache filename generation.
Recognize Mac OS X's launchd pathnames as being local. Avoid
generating an invalid pathname if $DISPLAY contains slashes.
Don't include the screen number in the cache filename.
2009-10-05 15:52:30 +02:00
Wim Lewis d535419daa winex11: Font metric cache file cleanups. 2009-10-05 15:51:34 +02:00
Alexandre Julliard 4c52a28e6b winex11: Use explicit prototypes for function pointers. 2009-10-02 15:06:59 +02:00
Roderick Colenbrander 6b8753185f winex11: Add support for 16-bit/32-bit DIB sections. 2009-10-01 13:47:53 +02:00
Alexandre Julliard 89c91ac0b1 winex11: Remove BITBLT_InternalStretchBlt now that it's identical to X11DRV_StretchBlt. 2009-09-30 20:56:56 +02:00
Alexandre Julliard 77b9b8a307 winex11: Move the DIB locking and the client-side optimizations into BITBLT_InternalStretchBlt.
This way they also apply to the non-stretching StretchBlt case.
2009-09-30 20:56:36 +02:00
Alexandre Julliard 7bc4b074fc winex11: Move X11DRV_ClientSideDIBCopy to avoid forward declarations.
Change the name to reflect that it's a purely internal function.
2009-09-30 20:56:35 +02:00
Alexandre Julliard ab35d6e727 winex11.drv: BS_DIBPATTERN brushes use a 32-bit handle in 32-bit mode. 2009-09-26 13:30:54 +02:00
Roderick Colenbrander 9465700083 winex11: Don't use ColorShifts for non-TrueColor bitmaps. 2009-09-25 13:16:56 +02:00
Vincent Povirk 2151272e45 winex11: Re-add the optimization for blending 1x1 pixel bitmaps. 2009-09-23 12:33:15 +02:00
André Hentschel 7b285a4ebd winex11: Add alternative header for xf86vm. 2009-09-22 16:20:26 +02:00
Roderick Colenbrander 2d1f55cce2 winex11: Fix a null pointer bug in ToLogical in case of 8-bit. Move the code to the place where the shifts are needed. 2009-09-10 15:32:55 +02:00
Roderick Colenbrander efa37f56ec winex11: Add helper function for copying brushes. 2009-09-10 12:13:45 +02:00
Roderick Colenbrander 88b990b2c1 winex11: Add helper function get_xrender_format_from_color_shifts. 2009-09-10 12:13:45 +02:00
Roderick Colenbrander 4ef7bd6943 winex11: Add helper function for calculating ColorShifts. 2009-09-09 16:25:24 +02:00
Roderick Colenbrander bb457f7ffd winex11: Use ColorShifts in get_xrender_format_from_pdevice. 2009-09-09 16:25:23 +02:00
Dmitry Timoshkov 9dbdd708e3 winex11.drv: Handle WM_DELETE_WINDOW by simulating clicking the caption Close button. 2009-09-09 12:18:28 +02:00
Roderick Colenbrander 70241904b9 winex11: Always adjust the color_shifts pointer when SelectBitmap is called. 2009-09-08 12:12:13 +02:00
Roderick Colenbrander 5db05dfea9 winex11: Use ColorShifts data in X11DRV_PALETTE_ToLogical. 2009-09-02 16:09:07 +02:00
Roderick Colenbrander 5fc017c497 winex11: Use ColorShifts from physDev in X11DRV_PALETTE_ToPhysical. 2009-09-02 16:08:36 +02:00
Roderick Colenbrander 3ad349f316 winex11: Prepare X11DRV_PALETTE_ToPhysical/_ToLogical for a new ColorShift structure. 2009-09-02 16:07:41 +02:00
Roderick Colenbrander 3878b4810e winex11: Introduce a new function for looking up the physical color of a pixel for use with colormap generation-like functions.
This prepares to a rewrite of X11DRV_PALETTE_ToPhysical which requires
the physDev for retrieving the color shifts.
2009-09-02 16:07:11 +02:00
Alexandre Julliard 1fba2ee22d winex11: Bytes per line is signed so make it an int instead of a DWORD. 2009-08-29 21:43:51 +02:00
Andrew Eikum 55736136e2 winex11: Support KEYEVENTF_UNICODE in SendInput. 2009-08-19 12:16:19 +02:00
Alexandre Julliard 12d1ff8ef6 winex11: Add handling of take focus event on the desktop window. 2009-08-17 16:32:45 +02:00
Alexandre Julliard e3720c2810 winex11: Use the Globally Active focus model with take focus. 2009-08-13 18:18:33 +02:00
Dmitry Timoshkov 32e3539413 winex11.drv: Handle failure of XcursorImageCreate. 2009-08-12 12:53:32 +02:00
Henri Verbeet 85fe381daf winex11.drv: Fallback to X11DRV_SHM_NONE in X11DRV_DIB_DoCopyDIBSection() if dest doesn't match the pixmap.
Falling back to X11DRV_SHM_IMAGE doesn't work, the image's data isn't in
shared memory if the pixmap was created as Shm pixmap.
2009-08-07 12:11:55 +02:00
Henri Verbeet 9fd29492c1 winex11.drv: Add support for XShm pixmaps.
Most of this is "Copyright 2004 Huw Davies for CodeWeavers", I just did a
little bit of integration.
2009-08-06 17:26:31 +02:00
Roderick Colenbrander 083aaca98f winex11: Fix XRender_GetSrcAreaStretch compile bug for when XRender isn't around. 2009-08-03 15:00:29 +02:00
Roderick Colenbrander 390d3929f2 wgl: Fix usage of non-GLX visual in glXCreateContext. 2009-08-03 15:00:19 +02:00
Roderick Colenbrander 6a1aa9b166 winex11: XRenderComposite can be inaccurate when scaled x / y source coordinates are passed to it.
Moving this translation to the transformation matrix fixes the problem.
2009-07-24 13:10:12 +02:00
Roderick Colenbrander c6570a50f8 winex11: Make X11DRV_SetupGCForPatBlt independent of screen_depth. 2009-07-23 16:10:51 +02:00
Roderick Colenbrander d01235332c winex11: Make BRUSH_DitherColor independent of the screen_depth. 2009-07-23 16:10:11 +02:00
Roderick Colenbrander e082bf6626 winex11: Add support for GCs at more depths. 2009-07-23 16:08:33 +02:00
Roderick Colenbrander 618b410aa8 winex11: Add a function for retrieving the bitmap GC. 2009-07-16 11:19:34 +02:00
Roderick Colenbrander eeeb349eee winex11: Use set_xrender_transformation in AlphaBlend. 2009-07-14 10:45:36 +02:00
Roderick Colenbrander 004eabfbd3 winex11: Add an XRender based GetSrcAreaStretch. 2009-07-13 11:58:26 +02:00
Roderick Colenbrander ea700f5d54 winex11: Add a helper function for converting a random color to a XRenderColor. 2009-07-13 11:08:55 +02:00
Yuri Khan f1c131ba27 winex11.drv: Handle clipboard on an auxiliary thread for windowless apps. 2009-07-13 10:48:56 +02:00
Roderick Colenbrander cce1c44afa winex11: Get rid of depth conversion fixme. 2009-07-10 13:07:29 +02:00
Roderick Colenbrander e13865285e winex11: Move glyph code over to get_xrender_format. 2009-07-06 15:25:16 +02:00
Roderick Colenbrander bf86daa0b6 winex11: Move AlphaBlend over to get_xrender_format. 2009-07-06 15:25:10 +02:00
Roderick Colenbrander 8262e0a800 winex11: Get rid of the static Xrender picture format table. 2009-07-06 15:24:57 +02:00
Austin English 349337d7ef winex11: Make sure GetKeyNameText gets the correct length to return. 2009-06-26 12:05:17 +02:00
Alexandre Julliard edebc2b75f winex11: Try to use the correct window rectangle as far as possible at XCreateWindow time. 2009-06-25 12:10:44 +02:00
Vincent Povirk 6259aeaacb winex11.drv: Link the windows JFIF format to the X image/jpeg format. 2009-06-22 11:22:23 +02:00
Vincent Povirk e4663206be winex11.drv: Link the windows PNG format to the X image/png format. 2009-06-22 11:22:19 +02:00
Detlef Riekenberg a30624143a winex11: Get rid of glext.h in remaining locations. 2009-06-22 11:22:02 +02:00
Roderick Colenbrander 28a2646d21 wgl: Get rid of glXQueryDrawable because officially it only works on GLXDrawables.
Nvidia allows it to operate on a standard Window too but Mesa and AMD
don't and this isn't needed according to the GLX specs. This prevents
crashes when creating +wgl logs.
2009-06-17 12:04:55 +02:00
Damjan Jovanovic 36685b0761 winex11.drv: Fix file drops on KDE4 and XFCE. 2009-06-15 13:42:28 +02:00
Austin English 99069ab61f winex11: Return correct length for GetKeyNameText. 2009-06-09 17:01:13 +02:00
Vincent Povirk cedc8e7099 winex11.drv: Don't use XEvents uninitialized when waits time out. 2009-06-04 12:11:47 +02:00
André Hentschel ef016c32c1 winex11: Fix Ctrl+Shift+Tab translation. 2009-06-02 11:57:21 +02:00
André Hentschel cc688148ac winex11: Fix Ctrl+Tab translation. 2009-05-28 15:02:01 +02:00
Dmitry Timoshkov 2fdbeefc96 winex11.drv: Avoid a crash if not in a desktop mode. 2009-05-28 12:42:18 +02:00
Francois Gouget fa7f46e85a winex11: Also define X11DRV_OpenGL_Cleanup() when OpenGL is not supported. 2009-05-27 11:10:53 +02:00
Vincent Povirk 5c41156ab0 winex11: Set the fullscreen state of virtual desktops based on size. 2009-05-27 11:10:34 +02:00
Francois Gouget c642481305 winex11.drv: Replace an strdup() with HeapAlloc() in the OpenGL code.
Free the corresponding memory when the library is unloaded.
2009-05-26 14:25:12 +02:00
Vincent Povirk 9eaf6a29fe winex11.drv: Optimize AlphaBlend of 1x1 source bitmaps. 2009-05-21 16:17:51 +02:00