From 8fd250e5e4c2016614b82e2d653b7fbf8a3a5b99 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 24 Aug 2005 21:51:28 +0000 Subject: [PATCH] Bugzilla #4089: Fix crashes in !EXA_OFFSCREEN_PIXMAPS case by not trying to do migration when the EXA pixmap private is NULL. --- exa/exa.c | 7 +++++++ exa/exa_accel.c | 7 +++++++ exa/exa_migration.c | 7 +++++++ hw/xfree86/exa/exa.c | 7 +++++++ hw/xfree86/exa/exa_accel.c | 7 +++++++ hw/xfree86/exa/exa_migration.c | 7 +++++++ 6 files changed, 42 insertions(+) diff --git a/exa/exa.c b/exa/exa.c index 5ba8af356..4d25d5a92 100644 --- a/exa/exa.c +++ b/exa/exa.c @@ -264,6 +264,10 @@ exaPixmapUseScreen (PixmapPtr pPixmap) ExaPixmapPriv (pPixmap); STRACE; + + if (pExaPixmap == NULL) + return; + if (pExaPixmap->score == EXA_PIXMAP_SCORE_PINNED) return; @@ -287,6 +291,9 @@ exaPixmapUseMemory (PixmapPtr pPixmap) { ExaPixmapPriv (pPixmap); + if (pExaPixmap == NULL) + return; + if (pExaPixmap->score == EXA_PIXMAP_SCORE_PINNED) return; diff --git a/exa/exa_accel.c b/exa/exa_accel.c index 5ba8af356..4d25d5a92 100644 --- a/exa/exa_accel.c +++ b/exa/exa_accel.c @@ -264,6 +264,10 @@ exaPixmapUseScreen (PixmapPtr pPixmap) ExaPixmapPriv (pPixmap); STRACE; + + if (pExaPixmap == NULL) + return; + if (pExaPixmap->score == EXA_PIXMAP_SCORE_PINNED) return; @@ -287,6 +291,9 @@ exaPixmapUseMemory (PixmapPtr pPixmap) { ExaPixmapPriv (pPixmap); + if (pExaPixmap == NULL) + return; + if (pExaPixmap->score == EXA_PIXMAP_SCORE_PINNED) return; diff --git a/exa/exa_migration.c b/exa/exa_migration.c index 5ba8af356..4d25d5a92 100644 --- a/exa/exa_migration.c +++ b/exa/exa_migration.c @@ -264,6 +264,10 @@ exaPixmapUseScreen (PixmapPtr pPixmap) ExaPixmapPriv (pPixmap); STRACE; + + if (pExaPixmap == NULL) + return; + if (pExaPixmap->score == EXA_PIXMAP_SCORE_PINNED) return; @@ -287,6 +291,9 @@ exaPixmapUseMemory (PixmapPtr pPixmap) { ExaPixmapPriv (pPixmap); + if (pExaPixmap == NULL) + return; + if (pExaPixmap->score == EXA_PIXMAP_SCORE_PINNED) return; diff --git a/hw/xfree86/exa/exa.c b/hw/xfree86/exa/exa.c index 5ba8af356..4d25d5a92 100644 --- a/hw/xfree86/exa/exa.c +++ b/hw/xfree86/exa/exa.c @@ -264,6 +264,10 @@ exaPixmapUseScreen (PixmapPtr pPixmap) ExaPixmapPriv (pPixmap); STRACE; + + if (pExaPixmap == NULL) + return; + if (pExaPixmap->score == EXA_PIXMAP_SCORE_PINNED) return; @@ -287,6 +291,9 @@ exaPixmapUseMemory (PixmapPtr pPixmap) { ExaPixmapPriv (pPixmap); + if (pExaPixmap == NULL) + return; + if (pExaPixmap->score == EXA_PIXMAP_SCORE_PINNED) return; diff --git a/hw/xfree86/exa/exa_accel.c b/hw/xfree86/exa/exa_accel.c index 5ba8af356..4d25d5a92 100644 --- a/hw/xfree86/exa/exa_accel.c +++ b/hw/xfree86/exa/exa_accel.c @@ -264,6 +264,10 @@ exaPixmapUseScreen (PixmapPtr pPixmap) ExaPixmapPriv (pPixmap); STRACE; + + if (pExaPixmap == NULL) + return; + if (pExaPixmap->score == EXA_PIXMAP_SCORE_PINNED) return; @@ -287,6 +291,9 @@ exaPixmapUseMemory (PixmapPtr pPixmap) { ExaPixmapPriv (pPixmap); + if (pExaPixmap == NULL) + return; + if (pExaPixmap->score == EXA_PIXMAP_SCORE_PINNED) return; diff --git a/hw/xfree86/exa/exa_migration.c b/hw/xfree86/exa/exa_migration.c index 5ba8af356..4d25d5a92 100644 --- a/hw/xfree86/exa/exa_migration.c +++ b/hw/xfree86/exa/exa_migration.c @@ -264,6 +264,10 @@ exaPixmapUseScreen (PixmapPtr pPixmap) ExaPixmapPriv (pPixmap); STRACE; + + if (pExaPixmap == NULL) + return; + if (pExaPixmap->score == EXA_PIXMAP_SCORE_PINNED) return; @@ -287,6 +291,9 @@ exaPixmapUseMemory (PixmapPtr pPixmap) { ExaPixmapPriv (pPixmap); + if (pExaPixmap == NULL) + return; + if (pExaPixmap->score == EXA_PIXMAP_SCORE_PINNED) return;