aboutsummaryrefslogtreecommitdiffstats
path: root/x11-wm
diff options
context:
space:
mode:
authorcy <cy@FreeBSD.org>2004-10-28 22:20:52 +0800
committercy <cy@FreeBSD.org>2004-10-28 22:20:52 +0800
commit82072edb0e85a9281035911203e6ea32e8f7f0ec (patch)
tree94d1a809139f7df9dc1c57b60ccb27161b372217 /x11-wm
parente27533ed086b532e5800998e46e40d8451fe7927 (diff)
downloadfreebsd-ports-graphics-82072edb0e85a9281035911203e6ea32e8f7f0ec.tar.gz
freebsd-ports-graphics-82072edb0e85a9281035911203e6ea32e8f7f0ec.tar.zst
freebsd-ports-graphics-82072edb0e85a9281035911203e6ea32e8f7f0ec.zip
Fix endless loop in icons.c.
PR: 72992 Submitted by: parv@pair.com
Diffstat (limited to 'x11-wm')
-rw-r--r--x11-wm/fvwm2-devel/Makefile1
-rw-r--r--x11-wm/fvwm2-devel/files/patch-fvwm::icons.c36
2 files changed, 37 insertions, 0 deletions
diff --git a/x11-wm/fvwm2-devel/Makefile b/x11-wm/fvwm2-devel/Makefile
index 5276892875a..7ed8cc3b344 100644
--- a/x11-wm/fvwm2-devel/Makefile
+++ b/x11-wm/fvwm2-devel/Makefile
@@ -7,6 +7,7 @@
PORTNAME= fvwm
PORTVERSION= 2.5.12
+PORTREVISION= 1
CATEGORIES= x11-wm
MASTER_SITES= ftp://ftp.fvwm.org/pub/fvwm/version-2/ \
http://www.fvwm.org/generated/icon_download/
diff --git a/x11-wm/fvwm2-devel/files/patch-fvwm::icons.c b/x11-wm/fvwm2-devel/files/patch-fvwm::icons.c
new file mode 100644
index 00000000000..7d7884f4e07
--- /dev/null
+++ b/x11-wm/fvwm2-devel/files/patch-fvwm::icons.c
@@ -0,0 +1,36 @@
+--- fvwm/icons.c.orig Wed Mar 17 09:42:54 2004
++++ fvwm/icons.c Tue Oct 19 16:13:55 2004
+@@ -2251,7 +2251,7 @@
+ */
+ void DeIconify(FvwmWindow *fw)
+ {
+- FvwmWindow *t,*tmp;
++ FvwmWindow *t, *tmp, *ofw;
+ FvwmWindow *sf = get_focus_window();
+ rectangle icon_rect;
+ XWindowAttributes winattrs = {0};
+@@ -2276,15 +2276,18 @@
+ SET_ICONIFY_AFTER_MAP(fw, 0);
+ return;
+ }
+- while (IS_ICONIFIED_BY_PARENT(fw))
++ for (ofw = NULL; fw != ofw && IS_ICONIFIED_BY_PARENT(fw); )
+ {
+- for (t = Scr.FvwmRoot.next; t != NULL; t = t->next)
++ t = get_transientfor_fvwmwindow(fw);
++ if (t != NULL)
+ {
+- if (t != fw && FW_W_TRANSIENTFOR(fw) == FW_W(t))
+- {
+- fw = t;
+- }
++ ofw = fw;
++ fw = t;
+ }
++ }
++ if (IS_ICONIFIED_BY_PARENT(fw))
++ {
++ SET_ICONIFIED_BY_PARENT(fw, 0);
+ }
+
+ /* AS dje RaiseWindow(fw); */