winex11: remove unused field
Marcus Meissner
marcus at jet.franken.de
Mon Nov 29 03:18:43 CST 2010
On Sun, Nov 28, 2010 at 08:36:51PM -0600, Vincent Povirk wrote:
> I don't know much about this area of Wine, but I think the change is incorrect.
>
> The DC's transform is applied to the font when it is rendered. To do
> this correctly, the glyphs must be transformed when they are
> rasterized and uploaded.
>
> Note that we only appear to use the first four fields of XFORM (they
> are copied to a shorter FMAT2 struct) to rasterize the glyphs. The
> last two fields of XFORM only specify an offset, so I think they can
> be safely ignored.
Steam still has a 1x0x0x1 matrix, and only sends different eDX and eDY
values.
So would setting them to 0 help? Like this?
---
dlls/winex11.drv/xrender.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/dlls/winex11.drv/xrender.c b/dlls/winex11.drv/xrender.c
index 4f900b2..f0ec1b1 100644
--- a/dlls/winex11.drv/xrender.c
+++ b/dlls/winex11.drv/xrender.c
@@ -1067,6 +1067,9 @@ BOOL X11DRV_XRender_SelectFont(X11DRV_PDEVICE *physDev, HFONT hfont)
lfsz.devsize.cx = X11DRV_XWStoDS( physDev, lfsz.lf.lfWidth );
lfsz.devsize.cy = X11DRV_YWStoDS( physDev, lfsz.lf.lfHeight );
GetWorldTransform( physDev->hdc, &lfsz.xform );
+ /* Not used fields, would break hashing */
+ lfsz.xform.eDx = lfsz.xform.eDy = 0;
+
lfsz_calc_hash(&lfsz);
info = get_xrender_info(physDev);
--
1.7.1
More information about the wine-devel
mailing list