From owner-freebsd-ports Sat Jan 19 13:20:12 2002 Delivered-To: freebsd-ports@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 945B137B41C for ; Sat, 19 Jan 2002 13:20:01 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g0JLK1w64581; Sat, 19 Jan 2002 13:20:01 -0800 (PST) (envelope-from gnats) Received: from nelly.internal.irrelevant.org (irrelevant.demon.co.uk [158.152.220.121]) by hub.freebsd.org (Postfix) with ESMTP id 43DDA37B419 for ; Sat, 19 Jan 2002 13:16:23 -0800 (PST) Received: from laptop.internal.irrelevant.org ([192.168.253.2]) by nelly.internal.irrelevant.org with esmtp (Exim 3.34 #1) id 16S2qb-0000jX-00 for FreeBSD-gnats-submit@freebsd.org; Sat, 19 Jan 2002 21:16:21 +0000 Received: (from simond@localhost) by laptop.internal.irrelevant.org (8.11.6/8.11.6) id g0JLGPm04494; Sat, 19 Jan 2002 21:16:25 GMT (envelope-from simond) Message-Id: <200201192116.g0JLGPm04494@laptop.internal.irrelevant.org> Date: Sat, 19 Jan 2002 21:16:25 GMT From: Simon Dick Reply-To: Simon Dick To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.113 Subject: ports/34066: Port update: x11-fm/afterstep Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org >Number: 34066 >Category: ports >Synopsis: Port update: x11-fm/afterstep >Confidential: no >Severity: serious >Priority: low >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat Jan 19 13:20:01 PST 2002 >Closed-Date: >Last-Modified: >Originator: Simon Dick >Release: FreeBSD 5.0-CURRENT i386 >Organization: >Environment: System: FreeBSD laptop.internal.irrelevant.org 5.0-CURRENT FreeBSD 5.0-CURRENT #0: Thu Jan 17 15:59:48 GMT 2002 root@laptop.internal.irrelevant.org:/usr/obj/usr/src/sys/LAPTOP i386 >Description: On occasion afterstep 1.0 can segfault when selecting the placement of new windows, this patch borrows sections of code from afterstep-stable to fix this (I've been running it locally for about a week now with no problems). >How-To-Repeat: Use afterstep-1.0 a lot, the problem mainly seems to happen when placing Netscape windows down though. >Fix: diff -ruN /usr/ports/x11-wm/afterstep/files/patch-ad afterstep/files/patch-ad --- /usr/ports/x11-wm/afterstep/files/patch-ad Thu Jan 1 01:00:00 1970 +++ afterstep/files/patch-ad Sat Jan 19 21:10:38 2002 @@ -0,0 +1,56 @@ +--- afterstep/misc.c.orig Sat Jan 19 21:07:50 2002 ++++ afterstep/misc.c Sat Jan 19 21:08:36 2002 +@@ -61,6 +61,8 @@ + XGCValues Globalgcv; + unsigned long Globalgcm; + ++ASWindow *list_extract(ASWindow *); ++ASWindow *list_prepend(ASWindow *, ASWindow *); + + /************************************************************************** + * +@@ -662,12 +664,7 @@ + { + if (t != Scr.ASRoot.next) + { +- t->prev->next = t->next; +- if (t->next) t->next->prev = t->prev; +- t->next = Scr.ASRoot.next; +- t->prev = &Scr.ASRoot; +- Scr.ASRoot.next->prev = t; +- Scr.ASRoot.next = t; ++ list_prepend (Scr.ASRoot.next, list_extract (t)); + } + } + } +@@ -698,4 +695,30 @@ + } + + UpdateVisibility(); ++} ++ ++ASWindow * ++list_extract (ASWindow * w) ++{ ++ if (w->prev != NULL) ++ w->prev->next = w->next; ++ if (w->next != NULL) ++ w->next->prev = w->prev; ++ w->next = w->prev = w; ++ return w; ++} ++ ++ASWindow * ++list_prepend (ASWindow * list1, ASWindow * list2) ++{ ++ ASWindow *tmp = list2->prev; ++ if (list1 == NULL) ++ return list2; ++ if (list2 == NULL) ++ return list1; ++ list2->prev->next = list1; ++ list1->prev->next = list2; ++ list2->prev = list1->prev; ++ list1->prev = tmp; ++ return list2; + } >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message