mirror of
https://github.com/gnif/LookingGlass.git
synced 2024-11-21 21:17:19 +00:00
X11 mouse is invisible even if hideCursor is false
x11Init assumes you're going to be hiding the mouse, so defines the cursor unconditionally.
This commit is contained in:
parent
f5e68711d0
commit
aa9472e6b6
@ -58,6 +58,7 @@
|
||||
#define _NET_WM_STATE_TOGGLE 2
|
||||
|
||||
struct X11DSState x11;
|
||||
struct LG_DisplayServerOps LGDS_X11;
|
||||
|
||||
struct MwmHints
|
||||
{
|
||||
@ -86,6 +87,7 @@ static int x11EventThread(void * unused);
|
||||
static void x11XInputEvent(XGenericEventCookie *cookie);
|
||||
static void x11XPresentEvent(XGenericEventCookie *cookie);
|
||||
static void x11GrabPointer(void);
|
||||
static void x11NoSetPointer(LG_DSPointer pointer);
|
||||
|
||||
static void x11DoPresent(uint64_t msc)
|
||||
{
|
||||
@ -643,8 +645,12 @@ static bool x11Init(const LG_DSInitParams params)
|
||||
x11.cursors[i] = XcursorLibraryLoadCursor(x11.display, fallbackLookup[i]);
|
||||
}
|
||||
|
||||
/* default to the square cursor */
|
||||
/* leave the mouse alone if the user requests it. */
|
||||
|
||||
if (params.hideMouse)
|
||||
XDefineCursor(x11.display, x11.window, x11.cursors[LG_POINTER_SQUARE]);
|
||||
else
|
||||
LGDS_X11.setPointer = x11NoSetPointer;
|
||||
|
||||
if (x11.jitRender)
|
||||
{
|
||||
@ -1657,6 +1663,9 @@ static void x11SetPointer(LG_DSPointer pointer)
|
||||
XDefineCursor(x11.display, x11.window, x11.cursors[pointer]);
|
||||
}
|
||||
|
||||
static void x11NoSetPointer(LG_DSPointer pointer)
|
||||
{}
|
||||
|
||||
static void x11PrintGrabError(const char * type, int dev, Status ret)
|
||||
{
|
||||
const char * errStr;
|
||||
|
@ -97,6 +97,8 @@ typedef struct LG_DSInitParams
|
||||
// x11 needs to know if this is in use so we can decide to setup for
|
||||
// presentation times
|
||||
bool jitRender;
|
||||
// x11 needs this early to not override the defaults.
|
||||
bool hideMouse;
|
||||
}
|
||||
LG_DSInitParams;
|
||||
|
||||
|
@ -1305,7 +1305,8 @@ static int lg_run(void)
|
||||
.borderless = g_params.borderless,
|
||||
.maximize = g_params.maximize,
|
||||
.opengl = needsOpenGL,
|
||||
.jitRender = g_params.jitRender
|
||||
.jitRender = g_params.jitRender,
|
||||
.hideMouse = g_params.hideMouse
|
||||
};
|
||||
|
||||
g_state.dsInitialized = g_state.ds->init(params);
|
||||
|
Loading…
Reference in New Issue
Block a user