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

xorg-server: Changes to 'debian-unstable'



 ChangeLog                            |   63 ++++++++++++++
 configure.ac                         |    4 
 debian/changelog                     |    7 +
 debian/patches/fix-dga-removal.patch |  155 -----------------------------------
 debian/patches/series                |    1 
 hw/kdrive/ephyr/Xephyr.man.pre       |    5 +
 hw/kdrive/ephyr/ephyrinit.c          |   16 +++
 hw/xfree86/common/xf86DGA.c          |   29 +++---
 hw/xfree86/modes/xf86Crtc.c          |    4 
 hw/xfree86/modes/xf86Crtc.h          |    8 +
 hw/xfree86/modes/xf86DiDGA.c         |   15 ++-
 11 files changed, 130 insertions(+), 177 deletions(-)

New commits:
commit 36237f701ec2f7e0bfe0f1b1256da8b3c9f20899
Author: Julien Cristau <jcristau@debian.org>
Date:   Tue Oct 13 13:14:50 2009 +0200

    Prepare changelog for upload

diff --git a/debian/changelog b/debian/changelog
index 399b8ed..0982e19 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,9 @@
-xorg-server (2:1.6.5-1) UNRELEASED; urgency=low
+xorg-server (2:1.6.5-1) unstable; urgency=low
 
   * New upstream bugfix release.
   * Drop fix-dga-removal.patch, applied upstream.
 
- -- Julien Cristau <jcristau@debian.org>  Mon, 12 Oct 2009 16:10:03 +0200
+ -- Julien Cristau <jcristau@debian.org>  Tue, 13 Oct 2009 11:37:28 +0200
 
 xorg-server (2:1.6.4-2) unstable; urgency=low
 

commit 41e04d5c275dde0964d35c21d6fb0758603c36c5
Author: Julien Cristau <jcristau@debian.org>
Date:   Mon Oct 12 16:10:50 2009 +0200

    New upstream bugfix release.
    
    Drop fix-dga-removal.patch, applied upstream.

diff --git a/ChangeLog b/ChangeLog
index 6977328..c313cee 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,66 @@
+commit 439c58849304907900e4dc7429aedb0192749c02
+Author: Keith Packard <keithp@keithp.com>
+Date:   Sun Oct 11 22:03:32 2009 -0700
+
+    Bump version to 1.6.5
+    
+    Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 7f2f71da5125ae01a8279a4886090a711100d671
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Mon Sep 28 14:18:45 2009 +1000
+
+    ephyr: if -parent is given, check for a trailing -screen. (#24144)
+    
+    If -parent is given, don't open up a new window if -screen is given as well.
+    The commandline option -screen allows to set the depth of the embedded
+    Xephry instance, even though width and height are autoscaled on -parent.
+    
+    This patch checks for a -screen parameter after -parent and - if one is
+    found - delays initializing the screen. The parent window id is stored
+    temporarily but re-set after a -screen argument.
+    The following command is thus valid:
+    
+    Xephyr -parent 1234 -screen 640x480@8 -screen 1024x768
+    
+    It embeds the first 8-bit screen into window 1234 and opens up a new window
+    for the second screen. Multiple parent arguments are possible, the screens
+    are embedded in-order.
+    
+    X.Org Bug 24144 <http://bugs.freedesktop.org/show_bug.cgi?id=24144>
+    
+    Tested-by: Vic Lee
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    (cherry picked from commit 19be992d9dc542b61fa3f4fd32a09071c9e64880)
+    
+    Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit c07b2368a7dedb66455eea313c06859afa2e1a9c
+Author: Keith Packard <keithp@keithp.com>
+Date:   Thu Oct 1 15:24:58 2009 -0700
+
+    Bump to version 1.6.4.901
+    
+    Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit fc31f76b6ff735e4a4006c5454c4d496ee8b154a
+Author: Keith Packard <keithp@keithp.com>
+Date:   Wed Sep 30 11:40:19 2009 -0700
+
+    Re-fix DGA removal.
+    
+    Removing DGA ended up breaking any drivers calling into the old
+    xf86DiDGAInit function as it tried to see if DGA was already enabled
+    and ended up crashing if the VT wasn't completely initialized. Oops.
+    
+    Also, if the driver initializes DGA itself, have the DiDGA
+    initialization overwrite that information as the DiDGA code will call
+    ReInit on mode detect.
+    
+    Signed-off-by: Keith Packard <keithp@keithp.com>
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    (cherry picked from commit db98b26ee145f70e732e2cf4a6ac3de77fdf4adc)
+
 commit 8cf659f3a5914369a2137ac17b689e5a9fe9ca27
 Author: Keith Packard <keithp@keithp.com>
 Date:   Sun Sep 27 19:21:45 2009 -0700
diff --git a/debian/changelog b/debian/changelog
index 63dbd01..399b8ed 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xorg-server (2:1.6.5-1) UNRELEASED; urgency=low
+
+  * New upstream bugfix release.
+  * Drop fix-dga-removal.patch, applied upstream.
+
+ -- Julien Cristau <jcristau@debian.org>  Mon, 12 Oct 2009 16:10:03 +0200
+
 xorg-server (2:1.6.4-2) unstable; urgency=low
 
   * Add fix-dga-removal.patch, closes: #548724.
diff --git a/debian/patches/fix-dga-removal.patch b/debian/patches/fix-dga-removal.patch
deleted file mode 100644
index 874c02a..0000000
--- a/debian/patches/fix-dga-removal.patch
+++ /dev/null
@@ -1,155 +0,0 @@
-From 894680ec0335d7bc2c744c53f6a28b40ab850b6c Mon Sep 17 00:00:00 2001
-From: Keith Packard <keithp@keithp.com>
-Date: Mon, 28 Sep 2009 12:39:47 -0700
-Subject: [PATCH] Re-fix DGA removal.
-
-Removing DGA ended up breaking any drivers calling into the old
-xf86DiDGAInit function as it tried to see if DGA was already enabled
-and ended up crashing if the VT wasn't completely initialized. Oops.
-
-Also, if the driver initializes DGA itself, have the DiDGA
-initialization overwrite that information as the DiDGA code will call
-ReInit on mode detect.
-
-Signed-off-by: Keith Packard <keithp@keithp.com>
----
- hw/xfree86/common/xf86DGA.c  |   29 ++++++++++++++++-------------
- hw/xfree86/modes/xf86Crtc.c  |    4 ++--
- hw/xfree86/modes/xf86Crtc.h  |    8 ++++++++
- hw/xfree86/modes/xf86DiDGA.c |   15 ++++++++++++---
- 4 files changed, 38 insertions(+), 18 deletions(-)
-
-diff --git a/hw/xfree86/common/xf86DGA.c b/hw/xfree86/common/xf86DGA.c
-index 42b7c58..804fd37 100644
---- a/hw/xfree86/common/xf86DGA.c
-+++ b/hw/xfree86/common/xf86DGA.c
-@@ -120,8 +120,22 @@ DGAInit(
- 
-     DGAScreenKey = &DGAScreenKeyIndex;
- 
--    if(!(pScreenPriv = (DGAScreenPtr)xalloc(sizeof(DGAScreenRec))))
--	return FALSE;
-+    pScreenPriv = DGA_GET_SCREEN_PRIV(pScreen);
-+
-+    if (!pScreenPriv)
-+    {
-+	if(!(pScreenPriv = (DGAScreenPtr)xalloc(sizeof(DGAScreenRec))))
-+	    return FALSE;
-+	dixSetPrivate(&pScreen->devPrivates, DGAScreenKey, pScreenPriv);
-+	pScreenPriv->CloseScreen = pScreen->CloseScreen;
-+	pScreen->CloseScreen = DGACloseScreen;
-+	pScreenPriv->DestroyColormap = pScreen->DestroyColormap;
-+	pScreen->DestroyColormap = DGADestroyColormap;
-+	pScreenPriv->InstallColormap = pScreen->InstallColormap;
-+	pScreen->InstallColormap = DGAInstallColormap;
-+	pScreenPriv->UninstallColormap = pScreen->UninstallColormap;
-+	pScreen->UninstallColormap = DGAUninstallColormap;
-+    }
- 
-     pScreenPriv->pScrn = pScrn;
-     pScreenPriv->numModes = num;
-@@ -146,17 +160,6 @@ DGAInit(
- 	    modes[i].flags &= ~DGA_PIXMAP_AVAILABLE;
- #endif
- 
--    dixSetPrivate(&pScreen->devPrivates, DGAScreenKey, pScreenPriv);
--    pScreenPriv->CloseScreen = pScreen->CloseScreen;
--    pScreen->CloseScreen = DGACloseScreen;
--    pScreenPriv->DestroyColormap = pScreen->DestroyColormap;
--    pScreen->DestroyColormap = DGADestroyColormap;
--    pScreenPriv->InstallColormap = pScreen->InstallColormap;
--    pScreen->InstallColormap = DGAInstallColormap;
--    pScreenPriv->UninstallColormap = pScreen->UninstallColormap;
--    pScreen->UninstallColormap = DGAUninstallColormap;
--
--
-     return TRUE;
- }
- 
-diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
-index c1e31e0..506fbb9 100644
---- a/hw/xfree86/modes/xf86Crtc.c
-+++ b/hw/xfree86/modes/xf86Crtc.c
-@@ -806,7 +806,7 @@ xf86CrtcScreenInit (ScreenPtr screen)
-     screen->CloseScreen = xf86CrtcCloseScreen;
-     
- #ifdef XFreeXDGA
--    xf86DiDGAInit(screen, 0);
-+    _xf86_di_dga_init_internal(screen);
- #endif
- #ifdef RANDR_13_INTERFACE
-     return RANDR_INTERFACE_VERSION;
-@@ -1928,7 +1928,7 @@ xf86SetScrnInfoModes (ScrnInfoPtr scrn)
-     scrn->currentMode = scrn->modes;
- #ifdef XFreeXDGA
-     if (scrn->pScreen)
--	    xf86DiDGAReInit(scrn->pScreen);
-+	    _xf86_di_dga_reinit_internal(scrn->pScreen);
- #endif
- }
- 
-diff --git a/hw/xfree86/modes/xf86Crtc.h b/hw/xfree86/modes/xf86Crtc.h
-index 69afaa5..9baa956 100644
---- a/hw/xfree86/modes/xf86Crtc.h
-+++ b/hw/xfree86/modes/xf86Crtc.h
-@@ -833,6 +833,10 @@ xf86OutputGetEDID (xf86OutputPtr output, I2CBusPtr pDDCBus);
- extern _X_EXPORT Bool
- xf86DiDGAInit (ScreenPtr pScreen, unsigned long dga_address);
- 
-+/* this is the real function, used only internally */
-+_X_INTERNAL Bool
-+_xf86_di_dga_init_internal (ScreenPtr pScreen);
-+
- /**
-  * Re-initialize dga for this screen (as when the set of modes changes)
-  */
-@@ -841,6 +845,10 @@ extern _X_EXPORT Bool
- xf86DiDGAReInit (ScreenPtr pScreen);
- #endif
- 
-+/* This is the real function, used only internally */
-+_X_INTERNAL Bool
-+_xf86_di_dga_reinit_internal (ScreenPtr pScreen);
-+
- /*
-  * Set the subpixel order reported for the screen using
-  * the information from the outputs
-diff --git a/hw/xfree86/modes/xf86DiDGA.c b/hw/xfree86/modes/xf86DiDGA.c
-index 0f7b834..60fbdbf 100644
---- a/hw/xfree86/modes/xf86DiDGA.c
-+++ b/hw/xfree86/modes/xf86DiDGA.c
-@@ -175,6 +175,12 @@ static DGAFunctionRec xf86_dga_funcs = {
- Bool
- xf86DiDGAReInit (ScreenPtr pScreen)
- {
-+    return TRUE;
-+}
-+
-+Bool
-+_xf86_di_dga_reinit_internal (ScreenPtr pScreen)
-+{
-     ScrnInfoPtr		scrn = xf86Screens[pScreen->myNum];
-     xf86CrtcConfigPtr   xf86_config = XF86_CRTC_CONFIG_PTR(scrn);
-     
-@@ -190,12 +196,15 @@ xf86DiDGAReInit (ScreenPtr pScreen)
- Bool
- xf86DiDGAInit (ScreenPtr pScreen, unsigned long dga_address)
- {
-+    return TRUE;
-+}
-+
-+Bool
-+_xf86_di_dga_init_internal (ScreenPtr pScreen)
-+{
-     ScrnInfoPtr		scrn = xf86Screens[pScreen->myNum];
-     xf86CrtcConfigPtr   xf86_config = XF86_CRTC_CONFIG_PTR(scrn);
- 
--    if (DGAAvailable(pScreen->myNum))
--	return TRUE;
--
-     xf86_config->dga_flags = 0;
-     xf86_config->dga_address = 0;
-     xf86_config->dga_width = 0;
--- 
-1.6.4.3
-
diff --git a/debian/patches/series b/debian/patches/series
index 0a3f303..7cb847a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -8,4 +8,3 @@ Add-libgcrypt-as-an-option-for-sha1.diff
 fedora-bad-fbdev-thats-mine.patch
 fedora-pci-primary.diff
 fedora-vboxvideo.diff
-fix-dga-removal.patch

commit 439c58849304907900e4dc7429aedb0192749c02
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Oct 11 22:03:32 2009 -0700

    Bump version to 1.6.5
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

diff --git a/configure.ac b/configure.ac
index e51a18b..df3089f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,12 +26,12 @@ dnl
 dnl Process this file with autoconf to create configure.
 
 AC_PREREQ(2.57)
-AC_INIT([xorg-server], 1.6.4.901, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+AC_INIT([xorg-server], 1.6.5, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
 AC_CONFIG_SRCDIR([Makefile.am])
 AM_INIT_AUTOMAKE([dist-bzip2 foreign])
 AM_MAINTAINER_MODE
 
-RELEASE_DATE="2009-10-1"
+RELEASE_DATE="2009-10-11"
 
 dnl this gets generated by autoheader, and thus contains all the defines.  we
 dnl don't ever actually use it, internally.

commit 7f2f71da5125ae01a8279a4886090a711100d671
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Sep 28 14:18:45 2009 +1000

    ephyr: if -parent is given, check for a trailing -screen. (#24144)
    
    If -parent is given, don't open up a new window if -screen is given as well.
    The commandline option -screen allows to set the depth of the embedded
    Xephry instance, even though width and height are autoscaled on -parent.
    
    This patch checks for a -screen parameter after -parent and - if one is
    found - delays initializing the screen. The parent window id is stored
    temporarily but re-set after a -screen argument.
    The following command is thus valid:
    
    Xephyr -parent 1234 -screen 640x480@8 -screen 1024x768
    
    It embeds the first 8-bit screen into window 1234 and opens up a new window
    for the second screen. Multiple parent arguments are possible, the screens
    are embedded in-order.
    
    X.Org Bug 24144 <http://bugs.freedesktop.org/show_bug.cgi?id=24144>
    
    Tested-by: Vic Lee
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    (cherry picked from commit 19be992d9dc542b61fa3f4fd32a09071c9e64880)
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

diff --git a/hw/kdrive/ephyr/Xephyr.man.pre b/hw/kdrive/ephyr/Xephyr.man.pre
index 7f0e811..34a2971 100644
--- a/hw/kdrive/ephyr/Xephyr.man.pre
+++ b/hw/kdrive/ephyr/Xephyr.man.pre
@@ -46,6 +46,11 @@ sets the screen size.
 .BI -parent " id"
 uses exiting window
 .I id .
+If a 
+.BI -screen 
+argument follows a 
+.BI -parent
+argument, this screen is embedded into the given window.
 .TP 8
 .B -host-cursor
 set 'cursor acceleration':
diff --git a/hw/kdrive/ephyr/ephyrinit.c b/hw/kdrive/ephyr/ephyrinit.c
index 1399d7a..d20f9b6 100644
--- a/hw/kdrive/ephyr/ephyrinit.c
+++ b/hw/kdrive/ephyr/ephyrinit.c
@@ -147,6 +147,7 @@ processScreenArg (char *screen_size, char *parent_id)
 int
 ddxProcessArgument (int argc, char **argv, int i)
 {
+  static char* parent = NULL;
   EPHYR_DBG("mark argv[%d]='%s'", i, argv[i] );
 
   if (i == 1)
@@ -158,6 +159,18 @@ ddxProcessArgument (int argc, char **argv, int i)
     {
       if(i+1 < argc)
 	{
+	  int j;
+	  /* If parent is specified and a screen argument follows, don't do
+           * anything, let the -screen handling init the rest */
+	  for (j = i; j < argc; j++)
+	    {
+	      if (!strcmp(argv[j], "-screen"))
+		{
+		  parent = argv[i + 1];
+		  return 2;
+		}
+	    }
+
 	  processScreenArg ("100x100", argv[i+1]);
 	  return 2;
 	}
@@ -169,7 +182,8 @@ ddxProcessArgument (int argc, char **argv, int i)
     {
       if ((i+1) < argc)
 	{
-	  processScreenArg (argv[i+1], NULL);
+	  processScreenArg (argv[i+1], parent);
+	  parent = NULL;
 	  return 2;
 	}
 

commit c07b2368a7dedb66455eea313c06859afa2e1a9c
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Oct 1 15:24:58 2009 -0700

    Bump to version 1.6.4.901
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

diff --git a/configure.ac b/configure.ac
index 3c19b35..e51a18b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,12 +26,12 @@ dnl
 dnl Process this file with autoconf to create configure.
 
 AC_PREREQ(2.57)
-AC_INIT([xorg-server], 1.6.4, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+AC_INIT([xorg-server], 1.6.4.901, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
 AC_CONFIG_SRCDIR([Makefile.am])
 AM_INIT_AUTOMAKE([dist-bzip2 foreign])
 AM_MAINTAINER_MODE
 
-RELEASE_DATE="2009-9-27"
+RELEASE_DATE="2009-10-1"
 
 dnl this gets generated by autoheader, and thus contains all the defines.  we
 dnl don't ever actually use it, internally.

commit fc31f76b6ff735e4a4006c5454c4d496ee8b154a
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Sep 30 11:40:19 2009 -0700

    Re-fix DGA removal.
    
    Removing DGA ended up breaking any drivers calling into the old
    xf86DiDGAInit function as it tried to see if DGA was already enabled
    and ended up crashing if the VT wasn't completely initialized. Oops.
    
    Also, if the driver initializes DGA itself, have the DiDGA
    initialization overwrite that information as the DiDGA code will call
    ReInit on mode detect.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    (cherry picked from commit db98b26ee145f70e732e2cf4a6ac3de77fdf4adc)

diff --git a/hw/xfree86/common/xf86DGA.c b/hw/xfree86/common/xf86DGA.c
index a06f285..3f7deba 100644
--- a/hw/xfree86/common/xf86DGA.c
+++ b/hw/xfree86/common/xf86DGA.c
@@ -120,8 +120,22 @@ DGAInit(
 
     DGAScreenKey = &DGAScreenKeyIndex;
 
-    if(!(pScreenPriv = (DGAScreenPtr)xalloc(sizeof(DGAScreenRec))))
-	return FALSE;
+    pScreenPriv = DGA_GET_SCREEN_PRIV(pScreen);
+
+    if (!pScreenPriv)
+    {
+	if(!(pScreenPriv = (DGAScreenPtr)xalloc(sizeof(DGAScreenRec))))
+	    return FALSE;
+	dixSetPrivate(&pScreen->devPrivates, DGAScreenKey, pScreenPriv);
+	pScreenPriv->CloseScreen = pScreen->CloseScreen;
+	pScreen->CloseScreen = DGACloseScreen;
+	pScreenPriv->DestroyColormap = pScreen->DestroyColormap;
+	pScreen->DestroyColormap = DGADestroyColormap;
+	pScreenPriv->InstallColormap = pScreen->InstallColormap;
+	pScreen->InstallColormap = DGAInstallColormap;
+	pScreenPriv->UninstallColormap = pScreen->UninstallColormap;
+	pScreen->UninstallColormap = DGAUninstallColormap;
+    }
 
     pScreenPriv->pScrn = pScrn;
     pScreenPriv->numModes = num;
@@ -146,17 +160,6 @@ DGAInit(
 	    modes[i].flags &= ~DGA_PIXMAP_AVAILABLE;
 #endif
 
-    dixSetPrivate(&pScreen->devPrivates, DGAScreenKey, pScreenPriv);
-    pScreenPriv->CloseScreen = pScreen->CloseScreen;
-    pScreen->CloseScreen = DGACloseScreen;
-    pScreenPriv->DestroyColormap = pScreen->DestroyColormap;
-    pScreen->DestroyColormap = DGADestroyColormap;
-    pScreenPriv->InstallColormap = pScreen->InstallColormap;
-    pScreen->InstallColormap = DGAInstallColormap;
-    pScreenPriv->UninstallColormap = pScreen->UninstallColormap;
-    pScreen->UninstallColormap = DGAUninstallColormap;
-
-
     return TRUE;
 }
 
diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index 899cea5..2627029 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -770,7 +770,7 @@ xf86CrtcScreenInit (ScreenPtr screen)
     screen->CloseScreen = xf86CrtcCloseScreen;
     
 #ifdef XFreeXDGA
-    xf86DiDGAInit(screen, 0);
+    _xf86_di_dga_init_internal(screen);
 #endif
 #ifdef RANDR_13_INTERFACE
     return RANDR_INTERFACE_VERSION;
@@ -1887,7 +1887,7 @@ xf86SetScrnInfoModes (ScrnInfoPtr scrn)
     scrn->currentMode = scrn->modes;
 #ifdef XFreeXDGA
     if (scrn->pScreen)
-	    xf86DiDGAReInit(scrn->pScreen);
+	    _xf86_di_dga_reinit_internal(scrn->pScreen);
 #endif
 }
 
diff --git a/hw/xfree86/modes/xf86Crtc.h b/hw/xfree86/modes/xf86Crtc.h
index 0a596bc..4fe4150 100644
--- a/hw/xfree86/modes/xf86Crtc.h
+++ b/hw/xfree86/modes/xf86Crtc.h
@@ -807,6 +807,10 @@ xf86OutputGetEDID (xf86OutputPtr output, I2CBusPtr pDDCBus);
 Bool
 xf86DiDGAInit (ScreenPtr pScreen, unsigned long dga_address);
 
+/* this is the real function, used only internally */
+_X_INTERNAL Bool
+_xf86_di_dga_init_internal (ScreenPtr pScreen);
+
 /**
  * Re-initialize dga for this screen (as when the set of modes changes)
  */
@@ -814,6 +818,10 @@ xf86DiDGAInit (ScreenPtr pScreen, unsigned long dga_address);
 Bool
 xf86DiDGAReInit (ScreenPtr pScreen);
 
+/* This is the real function, used only internally */
+_X_INTERNAL Bool
+_xf86_di_dga_reinit_internal (ScreenPtr pScreen);
+
 /*
  * Set the subpixel order reported for the screen using
  * the information from the outputs
diff --git a/hw/xfree86/modes/xf86DiDGA.c b/hw/xfree86/modes/xf86DiDGA.c
index 3992c09..bc59535 100644
--- a/hw/xfree86/modes/xf86DiDGA.c
+++ b/hw/xfree86/modes/xf86DiDGA.c
@@ -175,6 +175,12 @@ static DGAFunctionRec xf86_dga_funcs = {
 _X_EXPORT Bool
 xf86DiDGAReInit (ScreenPtr pScreen)
 {
+    return TRUE;
+}
+
+Bool
+_xf86_di_dga_reinit_internal (ScreenPtr pScreen)
+{
     ScrnInfoPtr		scrn = xf86Screens[pScreen->myNum];
     xf86CrtcConfigPtr   xf86_config = XF86_CRTC_CONFIG_PTR(scrn);
     
@@ -190,12 +196,15 @@ xf86DiDGAReInit (ScreenPtr pScreen)
 _X_EXPORT Bool
 xf86DiDGAInit (ScreenPtr pScreen, unsigned long dga_address)
 {
+    return TRUE;
+}
+
+Bool
+_xf86_di_dga_init_internal (ScreenPtr pScreen)
+{
     ScrnInfoPtr		scrn = xf86Screens[pScreen->myNum];
     xf86CrtcConfigPtr   xf86_config = XF86_CRTC_CONFIG_PTR(scrn);
 
-    if (DGAAvailable(pScreen->myNum))
-	return TRUE;
-
     xf86_config->dga_flags = 0;
     xf86_config->dga_address = 0;
     xf86_config->dga_width = 0;


Reply to: