Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 176801 | Differences between
and this patch

Collapse All | Expand All

(-)a/dlls/winex11.drv/xrender.c (-14 / +9 lines)
Lines 85-91 struct tagXRENDERINFO Link Here
85
    int                cache_index;
85
    int                cache_index;
86
    Picture            pict;
86
    Picture            pict;
87
    Picture            tile_pict;
87
    Picture            tile_pict;
88
    Pixmap             tile_xpm;
89
    COLORREF           lastTextColor;
88
    COLORREF           lastTextColor;
90
};
89
};
Lines 596-602 void X11DRV_XRender_UpdateDrawable(X11DRV_PDEVICE *physDev) Link Here
596
    if(physDev->xrender->pict)
595
    if(physDev->xrender->pict)
597
    {
596
    {
598
        TRACE("freeing pict = %lx dc = %p\n", physDev->xrender->pict, physDev->hdc);
597
        TRACE("freeing pict = %lx dc = %p\n", physDev->xrender->pict, physDev->hdc);
599
        XFlush(gdi_display);
600
        pXRenderFreePicture(gdi_display, physDev->xrender->pict);
598
        pXRenderFreePicture(gdi_display, physDev->xrender->pict);
601
        physDev->xrender->pict = 0;
599
        physDev->xrender->pict = 0;
602
    }
600
    }
Lines 605-615 void X11DRV_XRender_UpdateDrawable(X11DRV_PDEVICE *physDev) Link Here
605
        pXRenderFreePicture(gdi_display, physDev->xrender->tile_pict);
603
        pXRenderFreePicture(gdi_display, physDev->xrender->tile_pict);
606
        physDev->xrender->tile_pict = 0;
604
        physDev->xrender->tile_pict = 0;
607
    }
605
    }
608
    if(physDev->xrender->tile_xpm)
609
    {
610
        XFreePixmap(gdi_display, physDev->xrender->tile_xpm);
611
        physDev->xrender->tile_xpm = 0;
612
    }
613
    wine_tsx11_unlock();
606
    wine_tsx11_unlock();
Lines 1186-1203 BOOL X11DRV_XRender_ExtTextOut( X11DRV_PDEVICE *physDev, INT x, INT y, UINT flag Link Here
1186
    if(X11DRV_XRender_Installed) {
1179
    if(X11DRV_XRender_Installed) {
1187
        /* Create a 1x1 pixmap to tile over the font mask */
1180
        /* Create a 1x1 pixmap to tile over the font mask */
1188
        if(!physDev->xrender->tile_xpm) {
1181
        if(!physDev->xrender->tile_pict) {
1189
	    XRenderPictureAttributes pa;
1182
	    XRenderPictureAttributes pa;
1183
            Pixmap xpm;
1190
	    XRenderPictFormat *format = (physDev->depth == 1) ? mono_format : screen_format;
1184
	    XRenderPictFormat *format = (physDev->depth == 1) ? mono_format : screen_format;
1191
	    wine_tsx11_lock();
1185
	    wine_tsx11_lock();
1192
	    physDev->xrender->tile_xpm = XCreatePixmap(gdi_display,
1186
1193
						       physDev->drawable,
1187
            /* The pixmap will be freed with XRenderFreePicture */
1194
						       1, 1,
1188
            xpm = XCreatePixmap(gdi_display,
1195
						       format->depth);
1189
                                physDev->drawable,
1190
                                1, 1,
1191
                                format->depth);
1196
	    pa.repeat = True;
1192
	    pa.repeat = True;
1197
	    physDev->xrender->tile_pict = pXRenderCreatePicture(gdi_display,
1193
	    physDev->xrender->tile_pict = pXRenderCreatePicture(gdi_display,
1198
								physDev->xrender->tile_xpm,
1194
								xpm,
1199
								format,
1195
								format,
1200
								CPRepeat, &pa);
1196
								CPRepeat, &pa);
1201
	    wine_tsx11_unlock();
1197
	    wine_tsx11_unlock();
1202
-

Return to bug 176801