summaryrefslogtreecommitdiffstats
path: root/src/glx/xfont.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/glx/xfont.c')
-rw-r--r--src/glx/xfont.c22
1 files changed, 6 insertions, 16 deletions
diff --git a/src/glx/xfont.c b/src/glx/xfont.c
index 00498bc3ea4..fdf8f992139 100644
--- a/src/glx/xfont.c
+++ b/src/glx/xfont.c
@@ -129,7 +129,7 @@ dump_bitmap(unsigned int width, unsigned int height, GLubyte * bitmap)
* Generate OpenGL-compatible bitmap.
*/
static void
-fill_bitmap(Display * dpy, Window win, GC gc,
+fill_bitmap(Display * dpy, int screen, GC gc,
unsigned int width, unsigned int height,
int x0, int y0, unsigned int c, GLubyte * bitmap)
{
@@ -138,7 +138,7 @@ fill_bitmap(Display * dpy, Window win, GC gc,
Pixmap pixmap;
XChar2b char2b;
- pixmap = XCreatePixmap(dpy, win, 8 * width, height, 1);
+ pixmap = XCreatePixmap(dpy, RootWindow(dpy, screen), 8 * width, height, 1);
XSetForeground(dpy, gc, 0);
XFillRectangle(dpy, pixmap, gc, 0, 0, 8 * width, height);
XSetForeground(dpy, gc, 1);
@@ -215,17 +215,13 @@ _X_HIDDEN void
DRI_glXUseXFont(struct glx_context *CC, Font font, int first, int count, int listbase)
{
Display *dpy;
- Window win;
+ int screen;
Pixmap pixmap;
GC gc;
XGCValues values;
unsigned long valuemask;
XFontStruct *fs;
-#if !defined(GLX_USE_APPLEGL)
- __GLXDRIdrawable *glxdraw;
-#endif
-
GLint swapbytes, lsbfirst, rowlength;
GLint skiprows, skippixels, alignment;
@@ -235,13 +231,7 @@ DRI_glXUseXFont(struct glx_context *CC, Font font, int first, int count, int lis
int i;
dpy = CC->currentDpy;
- win = CC->currentDrawable;
-
-#if !defined(GLX_USE_APPLEGL)
- glxdraw = GetGLXDRIDrawable(CC->currentDpy, CC->currentDrawable);
- if (glxdraw)
- win = glxdraw->xDrawable;
-#endif
+ screen = CC->screen;
fs = XQueryFont(dpy, font);
if (!fs) {
@@ -289,7 +279,7 @@ DRI_glXUseXFont(struct glx_context *CC, Font font, int first, int count, int lis
glPixelStorei(GL_UNPACK_SKIP_PIXELS, 0);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- pixmap = XCreatePixmap(dpy, win, 10, 10, 1);
+ pixmap = XCreatePixmap(dpy, RootWindow(dpy, screen), 10, 10, 1);
values.foreground = BlackPixel(dpy, DefaultScreen(dpy));
values.background = WhitePixel(dpy, DefaultScreen(dpy));
values.font = fs->fid;
@@ -352,7 +342,7 @@ DRI_glXUseXFont(struct glx_context *CC, Font font, int first, int count, int lis
if (valid && (bm_width > 0) && (bm_height > 0)) {
memset(bm, '\0', bm_width * bm_height);
- fill_bitmap(dpy, win, gc, bm_width, bm_height, x, y, c, bm);
+ fill_bitmap(dpy, screen, gc, bm_width, bm_height, x, y, c, bm);
glBitmap(width, height, x0, y0, dx, dy, bm);
#ifdef DEBUG