winex11.drv: Do not crash if UploadGlyph failed

Dmitry Timoshkov dmitry at codeweavers.com
Tue Jun 10 08:55:41 CDT 2008


Hello,

this patch fixes the Firefox crashes reported in the bugs 4762 and 12307.

Changelog:
    winex11.drv: Do not crash if UploadGlyph failed.
---
 dlls/winex11.drv/xrender.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/dlls/winex11.drv/xrender.c b/dlls/winex11.drv/xrender.c
index 554ce25..1f477b0 100644
--- a/dlls/winex11.drv/xrender.c
+++ b/dlls/winex11.drv/xrender.c
@@ -1254,13 +1254,18 @@ BOOL X11DRV_XRender_ExtTextOut( X11DRV_PDEVICE *physDev, INT x, INT y, UINT flag
 
     for(idx = 0; idx < count; idx++) {
         if( !formatEntry ) {
-	    UploadGlyph(physDev, wstr[idx], aa_type);
+            if (!UploadGlyph(physDev, wstr[idx], aa_type))
+                break;
             /* re-evaluate antialias since aa_default may have changed */
             if( disable_antialias == FALSE )
                 aa_type = entry->aa_default;
             formatEntry = entry->format[aa_type];
         } else if( wstr[idx] >= formatEntry->nrealized || formatEntry->realized[wstr[idx]] == FALSE) {
-	    UploadGlyph(physDev, wstr[idx], aa_type);
+            if (!UploadGlyph(physDev, wstr[idx], aa_type))
+            {
+                formatEntry = NULL;
+                break;
+            }
 	}
     }
     if (!formatEntry)
-- 
1.5.5.4






More information about the wine-patches mailing list