glamor_pixmap_priv: Always return a valid private pixmap.

If a pixmap doesn't have a private, then set its type to
GLAMOR_MEMORY, and thus it will get a valid private.

Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>
This commit is contained in:
Zhigang Gong 2012-04-15 22:47:48 +08:00 • committed by Eric Anholt
commit bd53e24dc3
3 changed files with 10 additions and 3 deletions

View file

@ -67,7 +67,8 @@ glamor_set_pixmap_type(PixmapPtr pixmap, glamor_pixmap_type_t type)
glamor_screen_private *glamor_priv =
glamor_get_screen_private(pixmap->drawable.pScreen);
pixmap_priv = glamor_get_pixmap_private(pixmap);
pixmap_priv = dixLookupPrivate(&pixmap->devPrivates,
glamor_pixmap_private_key);
if (pixmap_priv == NULL) {
pixmap_priv = calloc(sizeof(*pixmap_priv), 1);
glamor_set_pixmap_private(pixmap, pixmap_priv);