diff options
Diffstat (limited to 'src/main/ui/x11/ui.c')
-rw-r--r-- | src/main/ui/x11/ui.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/main/ui/x11/ui.c b/src/main/ui/x11/ui.c index 5199eea..e577bcf 100644 --- a/src/main/ui/x11/ui.c +++ b/src/main/ui/x11/ui.c @@ -42,6 +42,19 @@ ui_open_display(void) return display; } +static XVisualInfo * +gl_choose_visual(int screen) +{ + GLint attribs[] = { GLX_RGBA, GLX_DEPTH_SIZE, 24, GLX_DOUBLEBUFFER, None }; + XVisualInfo *vi = glXChooseVisual(display, screen, attribs); + if (!vi) { + log_error("No compatible Visual found"); + exit(1); + } + + return vi; +} + void ui_init() { @@ -50,12 +63,7 @@ ui_init() int screen = DefaultScreen(display); Window root = RootWindow(display, screen); - GLint attribs[] = { GLX_RGBA, GLX_DEPTH_SIZE, 24, GLX_DOUBLEBUFFER, None }; - XVisualInfo *vi = glXChooseVisual(display, screen, attribs); - if (!vi) { - fprintf(stderr, "Error: No compatible Visual found\n"); - exit(1); - } + XVisualInfo *vi = gl_choose_visual(screen); Colormap colormap = XCreateColormap(display, root, vi->visual, AllocNone); XSetWindowAttributes swa; |