- 02 Dec, 2019 1 commit
-
-
Derek Lesho authored
Signed-off-by: Derek Lesho <dlesho@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
- 25 Nov, 2019 1 commit
-
-
John Chadwick authored
Testing using the Wacom wintab32 (from driver version 6.3.37-3) on Windows 10, it appears that the values for lcOut* were likely accidentally mixed up with the values for lcSys*. The lcSys* values are, according to the documentation, supposed to specify the extent of the screen mapping area for the cursor, wheras lcOut* simply specifies the output coordinate space for the given context. There is no logical reason I'm aware of for why lcOut* would have different default values from lcIn*, and in testing Wacom wintab32 defaults lcOut* to match lcIn*. In addition, lcSysExt* should use SM_C*VIRTUALSCREEN instead of SM_C*SCREEN, to handle multi-monitor setups properly. Setting lcSysExt* to these values works even if the tablet is mapped to a subset of this area. After this change, PaintTool SAI 2 appears to work out of the box. Other wintab clients I tested appear to be unaffected (such as the Wintab SDK demos and Adobe Photoshop CS2.) Signed-off-by: John Chadwick <john@jchw.io> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
- 22 Nov, 2019 1 commit
-
-
Alex Henrie authored
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
- 21 Nov, 2019 1 commit
-
-
John Chadwick authored
Not all XInput events contain axes information. In particular, libinput does not seem to provide axes information on button_event. Signed-off-by: John Chadwick <john@jchw.io> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
- 05 Nov, 2019 5 commits
-
-
Zhiyi Zhang authored
After 25167fb2 get_primary_monitor_rect() returns an empty rectangle before X11DRV_DisplayDevices_Init() is called. So use get_host_primary_monitor_rect() to get the current X desktop size. It's also more intuitive this way. Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Zhiyi Zhang authored
After 25167fb2, get_primary_monitor_rect(), which is used in is_window_rect_fullscreen(), may return the primary screen size set by the last explorer instance if wineserver didn't fully shuts down. Also get_primary_monitor_rect() no longer reports the host primary monitor rect before virtual desktop initialization now. So move the desktop fullscreen check after desktop initialization so that primary screen size is updated and valid. Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Zhiyi Zhang authored
After 25167fb2, get_primary_monitor_rect() maybe invalid before display device initialization or returns the desktop rectangle after desktop initialization in virtual desktop mode, which is wrong. The desktop size limit should come from host system. This fixes a regression from efbbe666. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47815Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Zhiyi Zhang authored
If we want to query host monitor dimensions, we need to use XRandR or Xinerama handler. However when in virtual desktop mode, its display device handler overrides other handlers. So we need to separate them. Then we can implement features that require host monitor dimensions like checking whether the virtual desktop window is fullscreen. Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Zhiyi Zhang authored
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
- 01 Nov, 2019 2 commits
-
-
Zhiyi Zhang authored
This fixes a regression from 22795243, which calls thread_init_display() and eventually XOpenIM() before X11DRV_InitXIM() is called. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47821Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Zhiyi Zhang authored
So that a process can still get the correct virtual and primary monitor rectangles if display devices are reinitialized in another process. Note that we can't use EnumDisplayMonitor() and GetMonitorInfo() here because they are not loaded when loading winex11.drv. Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
- 31 Oct, 2019 2 commits
-
-
Zhiyi Zhang authored
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Zhiyi Zhang authored
XGrabServer() stops the processing of other display connections until a XUngrabServer() call is actually processed by the X server. Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
- 29 Oct, 2019 1 commit
-
-
Alexandre Julliard authored
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
- 22 Oct, 2019 3 commits
-
-
Zhiyi Zhang authored
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Huw Davies <huw@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Zhiyi Zhang authored
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Huw Davies <huw@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Zhiyi Zhang authored
D3DKMTSetVidPnSourceOwner needs to be implemented in the graphics drivers because we need to maintain the VidPN source ownership information list in the graphics drivers. For example, the graphics drivers need to release the exclusive ownership when a new window is moved to a monitor which has been taken exclusive ownership. Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Huw Davies <huw@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
- 17 Oct, 2019 1 commit
-
-
Alex Henrie authored
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
- 25 Sep, 2019 2 commits
-
-
Zhiyi Zhang authored
Some XRandR implementations, e.g., the QXL driver used on Debian 10 TestBots, don't report any providers. In this case, we can still search in XRandR screen resources to get adapters. Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Zhiyi Zhang authored
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
- 23 Sep, 2019 5 commits
-
-
Rémi Bernon authored
These events are received on mutter, when moving undecorated managed windows, although Wine never grabs the keyboard itself. Signed-off-by: Rémi Bernon <rbernon@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Zhiyi Zhang authored
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Huw Davies <huw@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Zhiyi Zhang authored
XRandR supports multiple GPUs and runtime device change compared to Xinerama. Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Huw Davies <huw@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Zhiyi Zhang authored
The virtual desktop display device handler is actually the Xinerama handler, but with a much higher priority. So that it will be preferred in virtual desktop mode when other display device handlers are introduced, e.g., the XRandR handler. Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Huw Davies <huw@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Zhiyi Zhang authored
Otherwise, the retrieved primary desktop might be from the last explorer instance if we launch new explorer instances before wine server fully shuts down. Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Huw Davies <huw@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
- 19 Sep, 2019 1 commit
-
-
Zebediah Figura authored
If a window with an OpenGL surface attached is reparented as a child window, and then reparented as a top-level window, so that its whole window is destroyed and then recreated, it will be recreated with the colormap of its child window, which more than likely has a different visual. This violates the X11 specification, which states that a window's colormap must have the same visual as the window itself, and causes the X server to return BadMatch to the CreateWindow request. Signed-off-by: Zebediah Figura <z.figura12@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
- 17 Sep, 2019 2 commits
-
-
Rémi Bernon authored
When the same thread repeatedly calls ClipCursor, a message window is created for every call, then stored in x11drv_thread_data->clip_hwnd. The WM_X11DRV_CLIP_CURSOR notification is then sent to the desktop window, then to the previous clipping thread in order for it to destroy its clip_hwnd. But as the clipping thread is the same, and because x11drv_thread_data->clip_hwnd has been overwritten, it does not satisfy the "hwnd == data->clip_hwnd" condition and the window leaked. Signed-off-by: Rémi Bernon <rbernon@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Andrew Eikum authored
Frequent calls to XResetScreenSaver cause performance problems on some GPU drivers, see https://bugs.freedesktop.org/show_bug.cgi?id=110659Signed-off-by: Andrew Eikum <aeikum@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
- 16 Sep, 2019 1 commit
-
-
Alex Henrie authored
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
- 12 Sep, 2019 1 commit
-
-
Alex Henrie authored
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
- 11 Sep, 2019 1 commit
-
-
Sven Baars authored
Signed-off-by: Sven Baars <sven.wine@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
- 06 Sep, 2019 6 commits
-
-
Rémi Bernon authored
XWarpPointer will always succeed, regardless of grabs, so if the pointer is already grabbed, by some other application, we should not ask to warp it. Signed-off-by: Rémi Bernon <rbernon@codeweavers.com> Signed-off-by: Huw Davies <huw@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Rémi Bernon authored
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com> Signed-off-by: Huw Davies <huw@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Rémi Bernon authored
This flag should only indicate a successful call to XGrabPointer. If not then we could assume we have ownership of the pointer when we don't. Signed-off-by: Rémi Bernon <rbernon@codeweavers.com> Signed-off-by: Huw Davies <huw@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Rémi Bernon authored
As we ignore these NotifyGrab / NotifyUngrab w.r.t focus decisions, some applications are unaware of mouse grabs being lost and sometimes cursor clipping is lost. We have to keep the last clip rectangle and restore it when grab is released. This has been squashed with the foreground window check from Zhiyi Zhang <zzhang@codeweavers.com> to fix an issue that happens when switching from a fullscreen window - because there's some additional focus events involved - but in general, if the window that is getting focus cannot be activated: When FocusIn/NotifyWhileGrabbed is received, SetForegroundWindow is not called if the window cannot be activated. When the FocusIn/NotifyUngrab event arrives for the same window, we have to check the foreground window before restoring cursor clipping rectangle. For reference, the event sequence when pressing Alt-Tab - for WMs that grab the keyboard - is the following: 1. FocusOut/NotifyGrab, when WM grabs the keyboard. 2. FocusOut/NotifyWhileGrabbed, while WM switches windows, this calls SetForegroundWindow(GetDesktopWindow()). The event sequence for normal windows ends here, but for fullscreen windows, there may be these additional events: 3. FocusIn/NotifyWhileGrabbed, which may not change Wine foreground window if it cannot be activated. 4. FocusIn/NotifyUnGrab, when WM releases the keyboard while switching windows, this is ignored but it should not retry to grab the cursor, because window is not foreground. 5. FocusOut/NotifyNormal, when WM finishes switching the windows. Signed-off-by: Rémi Bernon <rbernon@codeweavers.com> Signed-off-by: Huw Davies <huw@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Rémi Bernon authored
When the window manager has taken a keyboard grab, it may be going to move the window itself, so the application should not move the cursor at the same time. Signed-off-by: Rémi Bernon <rbernon@codeweavers.com> Signed-off-by: Huw Davies <huw@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Rémi Bernon authored
Several window managers are sending FocusOut with NotifyGrab mode then FocusOut with NotifyWhileGrabbed mode when a window focus is lost, as a consequence of grabbing the keyboard input before changing window focus. This is the case during alt-tab, but keyboard can also be grabbed when bringing activity view or clicking on the title bar. In this cases NotifyWhileGrabbed events aren't sent until the window really loses foreground. In the same manner, when focus is restored, they usually send FocusIn with NotifyWhileGrabbed mode followed by FocusIn with NotifyUngrab mode when the keyboard grab is released. When bringing activity view back and forth, or clicking on the title bar, only NotifyUngrab event will be sent. In order to be consistent across WM and to help simplifying focus handling, just ignore focus events related to keyboard grabs. Signed-off-by: Rémi Bernon <rbernon@codeweavers.com> Signed-off-by: Huw Davies <huw@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
- 21 Aug, 2019 2 commits
-
-
Zhiyi Zhang authored
So that other display device handlers such as XRandR can be introduced because they might report a virtual screen size with different top-left corner and the primary screen may be different as well. Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Huw Davies <huw@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Zhiyi Zhang authored
Getting screen resources will be used in multiple places. So put it in a function. Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Huw Davies <huw@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
- 19 Aug, 2019 1 commit
-
-
Akihiro Sagawa authored
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-