diff options
author | cy <cy@FreeBSD.org> | 2004-10-28 22:20:52 +0800 |
---|---|---|
committer | cy <cy@FreeBSD.org> | 2004-10-28 22:20:52 +0800 |
commit | 82072edb0e85a9281035911203e6ea32e8f7f0ec (patch) | |
tree | 94d1a809139f7df9dc1c57b60ccb27161b372217 /x11-wm | |
parent | e27533ed086b532e5800998e46e40d8451fe7927 (diff) | |
download | freebsd-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/Makefile | 1 | ||||
-rw-r--r-- | x11-wm/fvwm2-devel/files/patch-fvwm::icons.c | 36 |
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); */ |