Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 14 Mar 2010 16:26:47 -0700
From:      Tim Kientzle <kientzle@freebsd.org>
To:        Garrett Cooper <yanefbsd@gmail.com>
Cc:        freebsd-x11@freebsd.org, "'freebsd-current@freebsd.org'" <freebsd-current@freebsd.org>
Subject:   Re: X11 crash on exit
Message-ID:  <4B9D70B7.1020709@freebsd.org>
In-Reply-To: <7d6fde3d1003141516q87b7a28i523c6cb0bc5f4f35@mail.gmail.com>
References:  <4B989064.5030105@freebsd.org>	 <7d6fde3d1003102245l41ab8287r81680aa40281d802@mail.gmail.com>	 <4B9C9885.5040601@freebsd.org>	 <20100314195622.GA88471@server.vk2pj.dyndns.org>	 <4B9D58B5.4050002@freebsd.org> <7d6fde3d1003141516q87b7a28i523c6cb0bc5f4f35@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------070107010404000104030706
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Garrett Cooper wrote:
>> I implemented the fix I suggested earlier (scanning
>> the WindowTable to remove Window objects as they're
>> deleted) and it does consistently resolve the crash,
>> but now the X server restarts itself when xinit asks
>> it to exit, so there's clearly still something amiss.
>>
>> Patch attached for anyone interested.
> 
> Patch, what patch?
> -Garrett

Apologies.  Patch pasted below (for mailing list) and attached (for 
direct addressees):

--- dix/window.c.orig   2009-10-11 19:52:40.000000000 -0700
+++ dix/window.c        2010-03-14 00:02:18.000000000 -0800
@@ -936,6 +936,7 @@
      WindowPtr pParent;
      WindowPtr pWin = (WindowPtr)value;
      xEvent event;
+    int i;

      UnmapWindow(pWin, FALSE);

@@ -964,6 +965,13 @@
      xfree(dixLookupPrivate(&pWin->devPrivates, FocusPrivatesKey));
      dixFreePrivates(pWin->devPrivates);
      xfree(pWin);
+
+    for (i = 0; i < MAXSCREENS; ++i)
+    {
+       if (WindowTable[i] == pWin)
+           WindowTable[i] = NullWindow;
+    }
+
      return Success;
  }


--------------070107010404000104030706--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B9D70B7.1020709>