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
508ad84b
Commit
508ad84b
authored
Apr 23, 2018
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
winex11: Support multiple fallbacks for cursor names.
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
16ab42f9
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
43 additions
and
35 deletions
+43
-35
mouse.c
dlls/winex11.drv/mouse.c
+43
-35
No files found.
dlls/winex11.drv/mouse.c
View file @
508ad84b
...
...
@@ -819,58 +819,58 @@ cleanup:
struct
system_cursors
{
WORD
id
;
const
char
*
name
;
const
char
*
name
s
[
8
]
;
};
static
const
struct
system_cursors
user32_cursors
[]
=
{
{
OCR_NORMAL
,
"left_ptr"
},
{
OCR_IBEAM
,
"xterm"
},
{
OCR_WAIT
,
"watch"
},
{
OCR_CROSS
,
"cross"
},
{
OCR_UP
,
"center_ptr"
},
{
OCR_SIZE
,
"fleur"
},
{
OCR_SIZEALL
,
"fleur"
},
{
OCR_ICON
,
"icon"
},
{
OCR_SIZENWSE
,
"top_left_corner"
},
{
OCR_SIZENESW
,
"top_right_corner"
},
{
OCR_SIZEWE
,
"left_side"
},
{
OCR_SIZENS
,
"top_side"
},
{
OCR_NO
,
"not-allowed"
},
{
OCR_HAND
,
"hand2"
},
{
OCR_APPSTARTING
,
"left_ptr_watch"
},
{
OCR_HELP
,
"question_arrow"
},
{
OCR_NORMAL
,
{
"left_ptr"
}
},
{
OCR_IBEAM
,
{
"xterm"
,
"text"
}
},
{
OCR_WAIT
,
{
"watch"
,
"wait"
}
},
{
OCR_CROSS
,
{
"cross"
}
},
{
OCR_UP
,
{
"center_ptr"
}
},
{
OCR_SIZE
,
{
"fleur"
,
"size_all"
}
},
{
OCR_SIZEALL
,
{
"fleur"
,
"size_all"
}
},
{
OCR_ICON
,
{
"icon"
}
},
{
OCR_SIZENWSE
,
{
"top_left_corner"
,
"nw-resize"
}
},
{
OCR_SIZENESW
,
{
"top_right_corner"
,
"ne-resize"
}
},
{
OCR_SIZEWE
,
{
"left_side"
,
"size_hor"
,
"h_double_arrow"
,
"ew-resize"
}
},
{
OCR_SIZENS
,
{
"top_side"
,
"size_ver"
,
"v_double_arrow"
,
"ns-resize"
}
},
{
OCR_NO
,
{
"not-allowed"
,
"forbidden"
,
"no-drop"
}
},
{
OCR_HAND
,
{
"hand2"
,
"pointer"
,
"pointing-hand"
}
},
{
OCR_APPSTARTING
,
{
"left_ptr_watch"
}
},
{
OCR_HELP
,
{
"question_arrow"
,
"help"
}
},
{
0
}
};
static
const
struct
system_cursors
comctl32_cursors
[]
=
{
{
102
,
"move"
},
{
104
,
"copy"
},
{
105
,
"left_ptr"
},
{
106
,
"col-resize"
},
{
107
,
"col-resize"
},
{
108
,
"hand2"
},
{
135
,
"row-resize"
},
{
102
,
{
"move"
,
"dnd-move"
}
},
{
104
,
{
"copy"
,
"dnd-copy"
}
},
{
105
,
{
"left_ptr"
}
},
{
106
,
{
"col-resize"
,
"split_v"
}
},
{
107
,
{
"col-resize"
,
"split_v"
}
},
{
108
,
{
"hand2"
,
"pointer"
,
"pointing-hand"
}
},
{
135
,
{
"row-resize"
,
"split_h"
}
},
{
0
}
};
static
const
struct
system_cursors
ole32_cursors
[]
=
{
{
1
,
"no-drop"
},
{
2
,
"move"
},
{
3
,
"copy"
},
{
4
,
"alias"
},
{
1
,
{
"no-drop"
,
"dnd-no-drop"
}
},
{
2
,
{
"move"
,
"dnd-move"
}
},
{
3
,
{
"copy"
,
"dnd-copy"
}
},
{
4
,
{
"alias"
,
"dnd-link"
}
},
{
0
}
};
static
const
struct
system_cursors
riched20_cursors
[]
=
{
{
105
,
"hand2"
},
{
107
,
"right_ptr"
},
{
109
,
"copy"
},
{
110
,
"move"
},
{
111
,
"no-drop"
},
{
105
,
{
"hand2"
,
"pointer"
,
"pointing-hand"
}
},
{
107
,
{
"right_ptr"
}
},
{
109
,
{
"copy"
,
"dnd-copy"
}
},
{
110
,
{
"move"
,
"dnd-move"
}
},
{
111
,
{
"no-drop"
,
"dnd-no-drop"
}
},
{
0
}
};
...
...
@@ -1004,6 +1004,7 @@ static Cursor create_xcursor_system_cursor( const ICONINFOEXW *info )
Cursor
cursor
=
0
;
HMODULE
module
;
HKEY
key
;
const
char
*
const
*
names
=
NULL
;
WCHAR
*
p
,
name
[
MAX_PATH
*
2
],
valueW
[
64
];
char
valueA
[
64
];
DWORD
ret
;
...
...
@@ -1044,7 +1045,8 @@ static Cursor create_xcursor_system_cursor( const ICONINFOEXW *info )
for
(
i
=
0
;
cursors
[
i
].
id
;
i
++
)
if
(
cursors
[
i
].
id
==
info
->
wResID
)
{
strcpy
(
valueA
,
cursors
[
i
].
name
);
strcpy
(
valueA
,
cursors
[
i
].
names
[
0
]
);
names
=
cursors
[
i
].
names
;
break
;
}
...
...
@@ -1052,7 +1054,13 @@ done:
if
(
valueA
[
0
])
{
#ifdef SONAME_LIBXCURSOR
if
(
pXcursorLibraryLoadCursor
)
cursor
=
pXcursorLibraryLoadCursor
(
gdi_display
,
valueA
);
if
(
pXcursorLibraryLoadCursor
)
{
if
(
!
names
)
cursor
=
pXcursorLibraryLoadCursor
(
gdi_display
,
valueA
);
else
while
(
*
names
&&
!
cursor
)
cursor
=
pXcursorLibraryLoadCursor
(
gdi_display
,
*
names
++
);
}
#endif
if
(
!
cursor
)
{
...
...
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