This reply is from Dominik Vogt, because of mail system problems, the reply has been re-posted by me:
On Thu, Feb 07, 2002 at 07:38:36AM -0600, fvwm-bug wrote: > FVWM Bug Tracking notification > > new message incoming/853 > > Full_Name: Markus Schwarzenberg > Version: 2.4.5. > CVS_Date: > OS: sunos 5.7 > X_Server: > Submission from: (NULL) (153.96.96.2) > > > after fvwm2 -restart the FvwmWindow.flags.is_map_pending bit > sometimes seems not to be set properly. > This causes the function Iconify(in icons.c) to return in: > > if (IS_MAP_PENDING(tmp_win)) > { > /* final state: iconified */ > SET_ICONIFY_AFTER_MAP(tmp_win, 1); > return; > } > > This makes fvwm2 sometimes refractorily ignoring any Iconify and DeIconify > > actions (clicks) for windows which "survived" the restart in an iconified > state. > The bug is hard to reproduce (I have a very lengthy .fvwm2rc which > I don't want to include here) and seems to be related to a FvwmIconBox > running in my FvwmButtons. > > But here is a possible workaround (Beginning of Function Iconify(in > icons.c)): > > void Iconify(FvwmWindow *tmp_win, int def_x, int def_y) > { > FvwmWindow *t; > FvwmWindow *sf; > XWindowAttributes winattrs = {0}; > unsigned long eventMask; > > if(!tmp_win) > return; > > if (!XGetWindowAttributes(dpy, tmp_win->w, &winattrs)) > { > return; > } > eventMask = winattrs.your_event_mask; > > /* correct is_map_pending if necessary ... */ > if((winattrs.map_state == IsViewable) && IS_MAP_PENDING(tmp_win)) { > fprintf(stderr, "Window '%s':\nXGetWindowAttributes: IsViewable, but > MAP_PENDING set ... resetting it!\n", > tmp_win ? tmp_win->name ? tmp_win->name : "NULL_name" : "NULL"); > SET_MAP_PENDING(tmp_win, 0); > } > > if (IS_MAP_PENDING(tmp_win)) > { > /* final state: iconified */ > SET_ICONIFY_AFTER_MAP(tmp_win, 1); > return; > } > #if 0 > if (tmp_win == Scr.Hilite && HAS_CLICK_FOCUS(tmp_win) && > tmp_win->next) > { > SetFocusWindow(tmp_win->next, 1); > } > #endif > > mark_transient_subtree(tmp_win, MARK_ALL_LAYERS, MARK_ALL, False, > True); > > ... > > For me this completely seems to fix the bug. After the session restart > I once see the fprintf-message for every affected window and then fvwm > works OK again (of course the fprintf statement should be converted to > some debug message...). Can you please make a patch with the 'diff' command? $ diff -u icons.c.orig icons.c or if you diff does not have the -u option: $ diff -c icons.c.orig icons.c Bye Dominik ^_^ ^_^ -- Dan Espen 444 Hoes Lane Room RRC 1C-214 E-mail: [EMAIL PROTECTED] Piscataway, NJ 08854 Phone: (732) 699-5570 -- 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]