On Fri, Aug 17, 2001 at 03:18:18PM -0400, Bob Woodside wrote: > Bob Woodside wrote: > > > > Well, this one has led me a merry chase...and I'm still chasing. > > > > The problem seems to be mostly confined to focus.c: > > focus_grab_buttons, > > which doesn't quite work as intended. I've hacked it up to the point > > where it does what I think was intended. It seems to work pretty well, > > except that it breaks MouseFocusClickRaises. There is clearly some > > additional synchronization needed that I haven't figured out yet. > > OK, I think I've finally got it right. Dominik, if you have a chance to > look over (or try out) the attached patch against last night's CVS, and > see if it breaks anything for you, I'd appreciate it. You did so much > work rewriting and resynchronizing all that grab stuff, I'd hate to > break something you had fixed. I don't thionk I did, but since I wasn't > able to follow the development very closely at the time, I don't know > for sure what problems you were addressing, or what apps or modes to try > out. > > Anyway, if I don't hear any screams, squawks, or curses, I'll commit > this in a day or two (I'd also like to let it run on a couple of > machines here for a day or so, just to see.)
Actually, I don't understand my code anymore. I think the idea was to call focus_grab_buttons() each time the pointer enters or leaves a window or a window is (un)focused. The function would then make the proper grabs. I don't quite understand the implications of the code you added to MoveFocus(). Won't not calling focus_grab_buttons() screw something up elsewhere? I don't know. However, with your patch, fvwm passes through the for (...) loop much more often then necessary. Could you try to write some condition like the former if (grab_buttons != tmp_win->grabbed_buttons) to prevent fvwm from entering the loop unnecessarily? Bye Dominik ^_^ ^_^ -- Dominik Vogt, [EMAIL PROTECTED] Reply-To: [EMAIL PROTECTED] -- 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]