[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xserver-xorg-video-intel: Changes to 'debian-squeeze'



 debian/changelog |    8 ++++++++
 uxa/uxa-glyphs.c |   10 ++++++++++
 2 files changed, 18 insertions(+)

New commits:
commit 246f46819a8f3e8cb529d7b95cdb7f19c85214eb
Author: Julien Cristau <jcristau@debian.org>
Date:   Sat Jun 30 13:10:57 2012 +0200

    Upload to squeeze

diff --git a/debian/changelog b/debian/changelog
index b1719a3..ab9ccca 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+xserver-xorg-video-intel (2:2.13.0-7) squeeze; urgency=low
+
+  * Cherry-pick from upstream:
+    - uxa/glyphs: Fallback instead of crashing on large strings
+    Thanks to Simon McVittie for tracking this down (closes: #678565)
+
+ -- Julien Cristau <jcristau@debian.org>  Sat, 30 Jun 2012 13:10:54 +0200
+
 xserver-xorg-video-intel (2:2.13.0-6) stable; urgency=low
 
   * Cherry-pick from upstream:

commit a3c104b58d34a325fcfa1966c625d68fb5cba303
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Jun 28 20:25:46 2011 +0100

    uxa/glyphs: Fallback instead of crashing on large strings
    
    Not ideal, but being slow is a major improvement over losing data.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=36860
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    (cherry picked from commit 18d08e49d270b7a05f14a309759c9315e5ab9679)

diff --git a/uxa/uxa-glyphs.c b/uxa/uxa-glyphs.c
index ad4f387..da765f6 100644
--- a/uxa/uxa-glyphs.c
+++ b/uxa/uxa-glyphs.c
@@ -934,6 +934,11 @@ uxa_glyphs_via_mask(CARD8 op,
 	if (!pixmap)
 		return 1;
 
+	if (!uxa_pixmap_is_offscreen(pixmap)) {
+		screen->DestroyPixmap(pixmap);
+		return -1;
+	}
+
 	uxa_clear_pixmap(screen, uxa_screen, pixmap);
 
 	component_alpha = NeedsComponent(maskFormat->format);
@@ -1126,6 +1131,11 @@ fallback:
 		if (!pixmap)
 			return;
 
+		if (!uxa_pixmap_is_offscreen(pixmap)) {
+			screen->DestroyPixmap(pixmap);
+			goto fallback;
+		}
+
 		gc = GetScratchGC(depth, screen);
 		if (!gc) {
 			screen->DestroyPixmap(pixmap);


Reply to: