in message <[EMAIL PROTECTED]>,
wrote fvwm-w thusly...
>
> On Sat, Oct 16, 2004 at 01:27:56AM -0400, Parv wrote:
> > Fvwm 2.5.1[02] gets stuck sometimes, always while raising or deiconifying a
> > Mozilla window via WindowList command.
> > 
> > When fvwm gets stuck...
> > 
> >   - CPU usage reaches near 100%
> >   - Mouse pointer remains in the set "CursorStyle MENU"
> 
> If a transient window is iconified by its parent window and then
> loses the special relationship, for example because the parent is
> closed, a loop in the DeIconify() function never exits.
> 
> I have committed a patch to CVS for 2.5.13

I have generated the patch (from 2.5.12 & CVS via ftp)  below for
icons.c.  Is this sufficient?


  - Parv


(Mind the embedded tabs in the patch)

--- 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); */
>> EOF <<

-- 

--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]

Reply via email to