Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
a7617a05
Commit
a7617a05
authored
Jun 13, 1999
by
Ulrich Weigand
Committed by
Alexandre Julliard
Jun 13, 1999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bugfix: DISPLAY_SetCursor should not use USER-internals, as it is also
used with native USER ...
parent
23f4b09c
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
24 additions
and
25 deletions
+24
-25
mouse.c
windows/x11drv/mouse.c
+24
-25
No files found.
windows/x11drv/mouse.c
View file @
a7617a05
...
...
@@ -33,7 +33,6 @@ static BOOL X11DRV_MOUSE_DoSetCursor( CURSORICONINFO *ptr )
Pixmap
pixmapBits
,
pixmapMask
,
pixmapAll
;
XColor
fg
,
bg
;
Cursor
cursor
=
None
;
BOOL
DesktopWinExists
=
FALSE
;
if
(
!
ptr
)
/* Create an empty cursor */
{
...
...
@@ -144,45 +143,45 @@ static BOOL X11DRV_MOUSE_DoSetCursor( CURSORICONINFO *ptr )
if
(
X11DRV_MOUSE_XCursor
!=
None
)
XFreeCursor
(
display
,
X11DRV_MOUSE_XCursor
);
X11DRV_MOUSE_XCursor
=
cursor
;
if
(
WIN_GetDesktop
()
!=
NULL
)
{
DesktopWinExists
=
TRUE
;
WIN_ReleaseDesktop
();
}
if
(
X11DRV_GetXRootWindow
()
!=
DefaultRootWindow
(
display
)
||
!
DesktopWinExists
)
return
TRUE
;
}
/***********************************************************************
* X11DRV_MOUSE_SetCursor
*/
void
X11DRV_MOUSE_SetCursor
(
CURSORICONINFO
*
lpCursor
)
{
BOOL
success
;
EnterCriticalSection
(
&
X11DRV_CritSection
);
success
=
CALL_LARGE_STACK
(
X11DRV_MOUSE_DoSetCursor
,
lpCursor
);
LeaveCriticalSection
(
&
X11DRV_CritSection
);
if
(
!
success
)
return
;
if
(
X11DRV_GetXRootWindow
()
!=
DefaultRootWindow
(
display
))
{
/* Set the cursor on the desktop window */
XDefineCursor
(
display
,
X11DRV_GetXRootWindow
(),
cursor
);
/* If in desktop mode, set the cursor on the desktop window */
XDefineCursor
(
display
,
X11DRV_GetXRootWindow
(),
X11DRV_MOUSE_XCursor
);
}
else
{
/* FIXME: this won't work correctly with native USER !*/
/* Else, set the same cursor for all top-level windows */
/* FIXME: we should not reference USER internals here, but native USER
works only in desktop mode anyway, so this should not matter */
/* Set the same cursor for all top-level windows */
HWND
hwnd
=
GetWindow
(
GetDesktopWindow
(),
GW_CHILD
);
while
(
hwnd
)
{
WND
*
tmpWnd
=
WIN_FindWndPtr
(
hwnd
);
Window
win
=
X11DRV_WND_FindXWindow
(
tmpWnd
);
if
(
win
&&
win
!=
DefaultRootWindow
(
display
))
XDefineCursor
(
display
,
win
,
c
ursor
);
XDefineCursor
(
display
,
win
,
X11DRV_MOUSE_XC
ursor
);
hwnd
=
GetWindow
(
hwnd
,
GW_HWNDNEXT
);
WIN_ReleaseWndPtr
(
tmpWnd
);
}
}
return
TRUE
;
}
/***********************************************************************
* X11DRV_MOUSE_SetCursor
*/
void
X11DRV_MOUSE_SetCursor
(
CURSORICONINFO
*
lpCursor
)
{
WIN_LockWnds
();
EnterCriticalSection
(
&
X11DRV_CritSection
);
CALL_LARGE_STACK
(
X11DRV_MOUSE_DoSetCursor
,
lpCursor
);
LeaveCriticalSection
(
&
X11DRV_CritSection
);
WIN_UnlockWnds
();
}
/***********************************************************************
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment