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

xorg-server: Changes to 'ubuntu'



 debian/changelog                     |   12 ++++++++++++
 debian/rules                         |    1 +
 hw/xfree86/modes/xf86Crtc.c          |    8 +-------
 hw/xfree86/modes/xf86Crtc.h          |    7 +++++++
 hw/xfree86/modes/xf86Rotate.c        |   14 ++++++++------
 hw/xfree86/os-support/shared/sigio.c |    2 +-
 6 files changed, 30 insertions(+), 14 deletions(-)

New commits:
commit 490cdc3baabc833e7012e9af5855ac97a8e462ca
Author: Timo Aaltonen <tjaalton@cc.hut.fi>
Date:   Tue Dec 16 20:29:49 2008 +0200

    debian/rules: Disable builtin fonts

diff --git a/debian/changelog b/debian/changelog
index bd3792f..4fe8135 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xorg-server (2:1.5.99.3-0ubuntu3) UNRELEASED; urgency=low
+
+  * debian/rules: Disable builtin fonts (LP: #308649)
+
+ -- Timo Aaltonen <tjaalton@ubuntu.com>  Tue, 16 Dec 2008 20:28:57 +0200
+
 xorg-server (2:1.5.99.3-0ubuntu2) jaunty; urgency=low
 
   * Merge server-1.6-branch (LP: #308225).
diff --git a/debian/rules b/debian/rules
index f42b0cd..1c36e30 100755
--- a/debian/rules
+++ b/debian/rules
@@ -47,6 +47,7 @@ VENDOR = $(shell lsb_release -i -s)
 confflags += --disable-static \
 	     --enable-xorg \
 	     --with-default-font-path="/usr/share/fonts/X11/misc,/usr/share/fonts/X11/cyrillic,/usr/share/fonts/X11/100dpi/:unscaled,/usr/share/fonts/X11/75dpi/:unscaled,/usr/share/fonts/X11/Type1,/usr/share/fonts/X11/100dpi,/usr/share/fonts/X11/75dpi,/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType" \
+	     --disable-builtin-fonts \
 	     --enable-xtrap \
 	     --enable-record \
 	     --enable-glx-tls \

commit 15ad6c63918953ffe13152b4feb14e91c3bcf182
Author: Timo Aaltonen <tjaalton@cc.hut.fi>
Date:   Tue Dec 16 10:10:28 2008 +0200

    Update the changelog.

diff --git a/debian/changelog b/debian/changelog
index 1e7a05b..bd3792f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xorg-server (2:1.5.99.3-0ubuntu2) jaunty; urgency=low
+
+  * Merge server-1.6-branch (LP: #308225).
+
+ -- Timo Aaltonen <tjaalton@ubuntu.com>  Tue, 16 Dec 2008 10:00:58 +0200
+
 xorg-server (2:1.5.99.3-0ubuntu1) jaunty; urgency=low
 
   * Merge from debian experimental git branch.

commit 09039fb89f3fd047f10b575e019bba6762448456
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Dec 15 19:53:45 2008 -0800

    Patch brown-bag fix for bug 19017 (scrn->virtualX/virtualY 0 before PreInit)
    
    When a driver uses a crtc during device detection, the scrn has not yet been
    configured and virtualX/virtualY are still zero. This caused the X server
    to try and allocate a shadow frame buffer, which couldn't work.
    
    Detect this by checking for zero virtualX/virtualY values.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit 063eb6743cd0d98dd52d1a9559b804381ee5144d)

diff --git a/hw/xfree86/modes/xf86Rotate.c b/hw/xfree86/modes/xf86Rotate.c
index 88b4bdc..65a553e 100644
--- a/hw/xfree86/modes/xf86Rotate.c
+++ b/hw/xfree86/modes/xf86Rotate.c
@@ -366,6 +366,12 @@ xf86CrtcFitsScreen (xf86CrtcPtr crtc, struct pict_f_transform *crtc_to_fb)
     ScrnInfoPtr		pScrn = crtc->scrn;
     BoxRec		b;
 
+    /* When called before PreInit, the driver is
+     * presumably doing load detect
+     */
+    if (pScrn->virtualX == 0 || pScrn->virtualY == 0)
+	return TRUE;
+
     b.x1 = 0;
     b.y1 = 0;
     b.x2 = crtc->mode.HDisplay;

commit ae2cbbff9fa0f458e133bf1894d8a7f9fb3fbb72
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Dec 15 11:39:24 2008 -0800

    Use scrn->virtualX/virtualY in xf86CrtcFitsScreen. Fix bug 19017.
    
    pScreen->width/height are not initialized when doing initial mode setting,
    which makes this function incorrectly fail. Using scrn->virtualX should work
    in all cases though.
    
    Bug 19017 reports a crash in xf86CrtcSetModeTransform when doing a modeset
    for output probing, long before the screen array is initialized; that was
    caused by a work-around to set pScreen->width/height so that xf86CrtcFitsScreen
    could find the right values.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit fde2f961035609cfff8761ef1e0f23e6a9761be2)

diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index d3059d7..78105b6 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -244,8 +244,6 @@ xf86CrtcSetModeTransform (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotati
 			  RRTransformPtr transform, int x, int y)
 {
     ScrnInfoPtr		scrn = crtc->scrn;
-    /* During ScreenInit() scrn->pScreen is still NULL */
-    ScreenPtr		pScreen = screenInfo.screens[scrn->scrnIndex];
     xf86CrtcConfigPtr   xf86_config = XF86_CRTC_CONFIG_PTR(scrn);
     int			i;
     Bool		ret = FALSE;
@@ -295,11 +293,6 @@ xf86CrtcSetModeTransform (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotati
     } else
 	crtc->transformPresent = FALSE;
 
-    /* xf86CrtcFitsScreen() relies on these values being correct. */
-    /* This should ensure the values are always set at modeset time. */
-    pScreen->width = scrn->virtualX;
-    pScreen->height = scrn->virtualY;
-
     /* Shift offsets that move us out of virtual size */
     if (x + mode->HDisplay > xf86_config->maxWidth ||
 	y + mode->VDisplay > xf86_config->maxHeight)
diff --git a/hw/xfree86/modes/xf86Rotate.c b/hw/xfree86/modes/xf86Rotate.c
index 73a235b..88b4bdc 100644
--- a/hw/xfree86/modes/xf86Rotate.c
+++ b/hw/xfree86/modes/xf86Rotate.c
@@ -364,12 +364,8 @@ static Bool
 xf86CrtcFitsScreen (xf86CrtcPtr crtc, struct pict_f_transform *crtc_to_fb)
 {
     ScrnInfoPtr		pScrn = crtc->scrn;
-    /* if this is called during ScreenInit() we don't have pScrn->pScreen yet */
-    ScreenPtr		pScreen = screenInfo.screens[pScrn->scrnIndex];
     BoxRec		b;
 
-    if (!pScreen)
-	return TRUE;
     b.x1 = 0;
     b.y1 = 0;
     b.x2 = crtc->mode.HDisplay;
@@ -383,8 +379,8 @@ xf86CrtcFitsScreen (xf86CrtcPtr crtc, struct pict_f_transform *crtc_to_fb)
 	b.y2 += crtc->y;
     }
 
-    return (0 <= b.x1 && b.x2 <= pScreen->width &&
-	    0 <= b.y1 && b.y2 <= pScreen->height);
+    return (0 <= b.x1 && b.x2 <= pScrn->virtualX &&
+	    0 <= b.y1 && b.y2 <= pScrn->virtualY);
 }
 
 _X_EXPORT Bool

commit 6d671b2dee7d2e5481399f0bdb3323a0250a075d
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Dec 15 11:38:00 2008 -0800

    When disabling SIGIO tracking, use SIG_IGN instead of SIG_DFL.
    
    This avoids a race condition for drivers which mis-order the fd close and
    signal disable.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit 29a5b0596b396d3e4a8a014cacd3e3ef77467ab7)

diff --git a/hw/xfree86/os-support/shared/sigio.c b/hw/xfree86/os-support/shared/sigio.c
index f51131c..92bdd29 100644
--- a/hw/xfree86/os-support/shared/sigio.c
+++ b/hw/xfree86/os-support/shared/sigio.c
@@ -229,7 +229,7 @@ xf86RemoveSIGIOHandler(int fd)
 	    sigemptyset(&sa.sa_mask);
 	    sigaddset(&sa.sa_mask, SIGIO);
 	    sa.sa_flags   = 0;
-	    sa.sa_handler = SIG_DFL;
+	    sa.sa_handler = SIG_IGN;
 	    sigaction(SIGIO, &sa, &osa);
 	}
     }

commit 8f17a31aa721e42925cd6b4616ccad90497818f3
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Dec 15 11:36:43 2008 -0800

    Clean up rotation data when crtc is turned off
    
    The shadow frame buffer and other data used for rotation need to be freed
    when the crtc is disabled, not just when rotation is disabled.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit 1ba4cbb15919759aadd71960c5c057af9ba94fe3)

diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index 9717620..d3059d7 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -2684,6 +2684,7 @@ xf86DisableUnusedFunctions(ScrnInfoPtr pScrn)
 	{
 	    crtc->funcs->dpms(crtc, DPMSModeOff);
 	    memset(&crtc->mode, 0, sizeof(crtc->mode));
+	    xf86RotateDestroy(crtc);
 	}
     }
     if (pScrn->pScreen)
diff --git a/hw/xfree86/modes/xf86Crtc.h b/hw/xfree86/modes/xf86Crtc.h
index 5e47e6f..a2ea2ec 100644
--- a/hw/xfree86/modes/xf86Crtc.h
+++ b/hw/xfree86/modes/xf86Crtc.h
@@ -704,6 +704,13 @@ Bool
 xf86CrtcRotate (xf86CrtcPtr crtc);
 
 /*
+ * Clean up any rotation data, used when a crtc is turned off
+ * as well as when rotation is disabled.
+ */
+void
+xf86RotateDestroy (xf86CrtcPtr crtc);
+
+/*
  * free shadow memory allocated for all crtcs
  */
 void
diff --git a/hw/xfree86/modes/xf86Rotate.c b/hw/xfree86/modes/xf86Rotate.c
index d7f7b3b..73a235b 100644
--- a/hw/xfree86/modes/xf86Rotate.c
+++ b/hw/xfree86/modes/xf86Rotate.c
@@ -294,7 +294,7 @@ xf86RotateBlockHandler(int screenNum, pointer blockData,
     }
 }
 
-static void
+void
 xf86RotateDestroy (xf86CrtcPtr crtc)
 {
     ScrnInfoPtr		pScrn = crtc->scrn;


Reply to: