diff options
author | marha <marha@users.sourceforge.net> | 2010-12-07 15:49:06 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2010-12-07 15:49:06 +0000 |
commit | 25b9dbb15f0dc98cfc6b5585e7efebf3250f64d3 (patch) | |
tree | 93007a6f77999699b0077f448c08b3d505662f55 /xorg-server/hw/xfree86/common/xf86AutoConfig.c | |
parent | c82036153f9273a6041426fb98e69fff0806680e (diff) | |
download | vcxsrv-25b9dbb15f0dc98cfc6b5585e7efebf3250f64d3.tar.gz vcxsrv-25b9dbb15f0dc98cfc6b5585e7efebf3250f64d3.tar.bz2 vcxsrv-25b9dbb15f0dc98cfc6b5585e7efebf3250f64d3.zip |
xserver pixman git update 7-12-2010
Diffstat (limited to 'xorg-server/hw/xfree86/common/xf86AutoConfig.c')
-rw-r--r-- | xorg-server/hw/xfree86/common/xf86AutoConfig.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/xorg-server/hw/xfree86/common/xf86AutoConfig.c b/xorg-server/hw/xfree86/common/xf86AutoConfig.c index a00340191..14b266d38 100644 --- a/xorg-server/hw/xfree86/common/xf86AutoConfig.c +++ b/xorg-server/hw/xfree86/common/xf86AutoConfig.c @@ -282,21 +282,31 @@ listPossibleVideoDrivers(char *matches[], int nmatches) static Bool
copyScreen(confScreenPtr oscreen, GDevPtr odev, int i, char *driver)
{
+ confScreenPtr nscreen;
GDevPtr cptr = NULL;
- xf86ConfigLayout.screens[i].screen = xnfcalloc(1, sizeof(confScreenRec));
- if(!xf86ConfigLayout.screens[i].screen)
+ nscreen = malloc(sizeof(confScreenRec));
+ if (!nscreen)
return FALSE;
- memcpy(xf86ConfigLayout.screens[i].screen, oscreen, sizeof(confScreenRec));
+ memcpy(nscreen, oscreen, sizeof(confScreenRec));
- cptr = calloc(1, sizeof(GDevRec));
- if (!cptr)
+ cptr = malloc(sizeof(GDevRec));
+ if (!cptr) {
+ free(nscreen);
return FALSE;
+ }
memcpy(cptr, odev, sizeof(GDevRec));
cptr->identifier = Xprintf("Autoconfigured Video Device %s", driver);
+ if (!cptr->identifier) {
+ free(cptr);
+ free(nscreen);
+ return FALSE;
+ }
cptr->driver = driver;
+ xf86ConfigLayout.screens[i].screen = nscreen;
+
/* now associate the new driver entry with the new screen entry */
xf86ConfigLayout.screens[i].screen->device = cptr;
cptr->myScreenSection = xf86ConfigLayout.screens[i].screen;
|