View | Details | Raw Unified | Return to bug 135002
Collapse All | Expand All

(-)a/hw/xfree86/common/xf86Cursor.c (+36 lines)
Lines 576-599 xf86InitOrigins(void) Link Here
576
		/* force edge lists */
576
		/* force edge lists */
577
		if(screen->left) {
577
		if(screen->left) {
578
		    ref = screen->left->screennum;
578
		    ref = screen->left->screennum;
579
		    if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) {
580
			ErrorF("Referenced uninitialized screen in Layout!\n");
581
			break;
582
		    }
579
		    pLayout->left = AddEdge(pLayout->left, 
583
		    pLayout->left = AddEdge(pLayout->left, 
580
			0, xf86Screens[i]->pScreen->height,
584
			0, xf86Screens[i]->pScreen->height,
581
			xf86Screens[ref]->pScreen->width, 0, ref);
585
			xf86Screens[ref]->pScreen->width, 0, ref);
582
		}
586
		}
583
		if(screen->right) {
587
		if(screen->right) {
584
		    ref = screen->right->screennum;
588
		    ref = screen->right->screennum;
589
		    if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) {
590
			ErrorF("Referenced uninitialized screen in Layout!\n");
591
			break;
592
		    }
585
		    pScreen = xf86Screens[i]->pScreen;
593
		    pScreen = xf86Screens[i]->pScreen;
586
		    pLayout->right = AddEdge(pLayout->right, 
594
		    pLayout->right = AddEdge(pLayout->right, 
587
			0, pScreen->height, -pScreen->width, 0, ref);
595
			0, pScreen->height, -pScreen->width, 0, ref);
588
		}
596
		}
589
		if(screen->top) {
597
		if(screen->top) {
590
		    ref = screen->top->screennum;
598
		    ref = screen->top->screennum;
599
		    if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) {
600
			ErrorF("Referenced uninitialized screen in Layout!\n");
601
			break;
602
		    }
591
		    pLayout->up = AddEdge(pLayout->up, 
603
		    pLayout->up = AddEdge(pLayout->up, 
592
			0, xf86Screens[i]->pScreen->width,
604
			0, xf86Screens[i]->pScreen->width,
593
			0, xf86Screens[ref]->pScreen->height, ref);
605
			0, xf86Screens[ref]->pScreen->height, ref);
594
		}
606
		}
595
		if(screen->bottom) {
607
		if(screen->bottom) {
596
		    ref = screen->bottom->screennum;
608
		    ref = screen->bottom->screennum;
609
		    if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) {
610
			ErrorF("Referenced uninitialized screen in Layout!\n");
611
			break;
612
		    }
597
		    pScreen = xf86Screens[i]->pScreen;
613
		    pScreen = xf86Screens[i]->pScreen;
598
		    pLayout->down = AddEdge(pLayout->down, 
614
		    pLayout->down = AddEdge(pLayout->down, 
599
			0, pScreen->width, 0, -pScreen->height, ref);
615
			0, pScreen->width, 0, -pScreen->height, ref);
Lines 609-614 xf86InitOrigins(void) Link Here
609
		break;
625
		break;
610
	    case PosRelative:
626
	    case PosRelative:
611
		ref = screen->refscreen->screennum;
627
		ref = screen->refscreen->screennum;
628
		if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) {
629
		    ErrorF("Referenced uninitialized screen in Layout!\n");
630
		    break;
631
		}
612
		if(screensLeft & (1 << ref)) break;
632
		if(screensLeft & (1 << ref)) break;
613
		dixScreenOrigins[i].x = dixScreenOrigins[ref].x + screen->x;
633
		dixScreenOrigins[i].x = dixScreenOrigins[ref].x + screen->x;
614
		dixScreenOrigins[i].y = dixScreenOrigins[ref].y + screen->y;
634
		dixScreenOrigins[i].y = dixScreenOrigins[ref].y + screen->y;
Lines 616-621 xf86InitOrigins(void) Link Here
616
		break;
636
		break;
617
	    case PosRightOf:
637
	    case PosRightOf:
618
		ref = screen->refscreen->screennum;
638
		ref = screen->refscreen->screennum;
639
		if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) {
640
		    ErrorF("Referenced uninitialized screen in Layout!\n");
641
		    break;
642
		}
619
		if(screensLeft & (1 << ref)) break;
643
		if(screensLeft & (1 << ref)) break;
620
		pScreen = xf86Screens[ref]->pScreen;
644
		pScreen = xf86Screens[ref]->pScreen;
621
		dixScreenOrigins[i].x = 
645
		dixScreenOrigins[i].x = 
Lines 625-630 xf86InitOrigins(void) Link Here
625
		break;
649
		break;
626
	    case PosLeftOf:
650
	    case PosLeftOf:
627
		ref = screen->refscreen->screennum;
651
		ref = screen->refscreen->screennum;
652
		if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) {
653
		    ErrorF("Referenced uninitialized screen in Layout!\n");
654
		    break;
655
		}
628
		if(screensLeft & (1 << ref)) break;
656
		if(screensLeft & (1 << ref)) break;
629
		pScreen = xf86Screens[i]->pScreen;
657
		pScreen = xf86Screens[i]->pScreen;
630
		dixScreenOrigins[i].x = 
658
		dixScreenOrigins[i].x = 
Lines 634-639 xf86InitOrigins(void) Link Here
634
		break;
662
		break;
635
	    case PosBelow:
663
	    case PosBelow:
636
		ref = screen->refscreen->screennum;
664
		ref = screen->refscreen->screennum;
665
		if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) {
666
		    ErrorF("Referenced uninitialized screen in Layout!\n");
667
		    break;
668
		}
637
		if(screensLeft & (1 << ref)) break;
669
		if(screensLeft & (1 << ref)) break;
638
		pScreen = xf86Screens[ref]->pScreen;
670
		pScreen = xf86Screens[ref]->pScreen;
639
		dixScreenOrigins[i].x = dixScreenOrigins[ref].x;
671
		dixScreenOrigins[i].x = dixScreenOrigins[ref].x;
Lines 643-648 xf86InitOrigins(void) Link Here
643
		break;
675
		break;
644
	    case PosAbove:
676
	    case PosAbove:
645
		ref = screen->refscreen->screennum;
677
		ref = screen->refscreen->screennum;
678
		if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) {
679
		    ErrorF("Referenced uninitialized screen in Layout!\n");
680
		    break;
681
		}
646
		if(screensLeft & (1 << ref)) break;
682
		if(screensLeft & (1 << ref)) break;
647
		pScreen = xf86Screens[i]->pScreen;
683
		pScreen = xf86Screens[i]->pScreen;
648
		dixScreenOrigins[i].x = dixScreenOrigins[ref].x;
684
		dixScreenOrigins[i].x = dixScreenOrigins[ref].x;

Return to bug 135002