Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-2-2
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-2-2
Commits
5e67e38e
Commit
5e67e38e
authored
Feb 07, 2009
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
XCB: use dummy color map so selecting a non-default visual works
parent
d6f88abd
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
3 deletions
+13
-3
modules/video_output/xcb/xcb.c
modules/video_output/xcb/xcb.c
+13
-3
No files found.
modules/video_output/xcb/xcb.c
View file @
5e67e38e
...
...
@@ -77,8 +77,9 @@ struct vout_sys_t
xcb_screen_t
*
screen
;
vout_window_t
*
embed
;
/* VLC window (when windowed) */
xcb_visualid_t
vid
;
xcb_visualid_t
vid
;
/* selected visual */
xcb_window_t
parent
;
/* parent X window */
xcb_colormap_t
cmap
;
/* colormap for selected visual */
xcb_window_t
window
;
/* drawable X window */
xcb_gcontext_t
gc
;
/* context to put images */
bool
shm
;
/* whether to use MIT-SHM */
...
...
@@ -202,6 +203,11 @@ static int Open (vlc_object_t *obj)
}
vout
->
fmt_out
.
i_chroma
=
vout
->
output
.
i_chroma
;
/* Create colormap (needed to select non-default visual) */
p_sys
->
cmap
=
xcb_generate_id
(
p_sys
->
conn
);
xcb_create_colormap
(
p_sys
->
conn
,
XCB_COLORMAP_ALLOC_NONE
,
p_sys
->
cmap
,
scr
->
root
,
p_sys
->
vid
);
/* Check shared memory support */
p_sys
->
shm
=
var_CreateGetBool
(
vout
,
"x11-shm"
)
>
0
;
if
(
p_sys
->
shm
)
...
...
@@ -241,6 +247,7 @@ static void Close (vlc_object_t *obj)
vout_sys_t
*
p_sys
=
vout
->
p_sys
;
assert
(
p_sys
->
embed
==
NULL
);
/* colormap is garbage-ollected by X (?) */
if
(
p_sys
->
conn
)
xcb_disconnect
(
p_sys
->
conn
);
free
(
p_sys
);
...
...
@@ -429,13 +436,16 @@ static int Init (vout_thread_t *vout)
width
*
VOUT_ASPECT_FACTOR
/
height
;
/* Create window */
const
uint32_t
mask
=
XCB_CW_BACK_PIXEL
|
XCB_CW_EVENT_MASK
;
uint32_t
values
[
2
]
=
{
const
uint32_t
mask
=
XCB_CW_BACK_PIXEL
|
XCB_CW_EVENT_MASK
|
XCB_CW_COLORMAP
;
uint32_t
values
[]
=
{
/* XCB_CW_BACK_PIXEL */
screen
->
black_pixel
,
/* XCB_CW_EVENT_MASK */
XCB_EVENT_MASK_BUTTON_PRESS
|
XCB_EVENT_MASK_BUTTON_RELEASE
|
XCB_EVENT_MASK_POINTER_MOTION
,
/* XCB_CW_COLORMAP */
p_sys
->
cmap
,
};
xcb_void_cookie_t
c
;
xcb_window_t
window
=
xcb_generate_id
(
p_sys
->
conn
);
...
...
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