Hi all,
There is code in src/af/xap/unix/xap_UnixFrameImpl.cpp to handle focus_in_event 
and focus_out_event signals.  This code stops further processing of the signal 
by gtk with a comment explaining that gtk would send a superfluous expose 
event, causing a complete redraw of the window and screen flicker.  This 
"feature" of gtk, although perhaps poorly designed, is still present and 
probably not going away.  There is a post about it at 
http://shallowsky.com/blog/2005/Apr/09/ which gives several possible 
work-arounds.
Abiword's current work-around causes gail's handler not to see the focus 
events, either, so I would like it to be delt with in some other way.
I have still-uncommitted changes which add a class, called AbiDocView, which is 
derived from GtkDrawingArea with some atk functions added to expose document 
text.  I've modified AP_UnixFrameImpl::_createDocumentWindow to create an 
AbiDocView rather than directly creating a GtkDrawingArea.  I've modified the 
AbiDocView class init function to set focus_in_)event and focus_out_event to 
NULL. This disables the unwanted gtk code while still allowing other connected 
signal handlers (eg, gail) to see the events.  I don't know if this change is 
sufficient; is XAP_UnixFrameImpl ever used by code other than AP_UnixFrameImpl 
or intended to be?
Any comments?
Thanks,
-- Mike Gorse / AIM:linvortex / http://mgorse.freeshell.org --
Received on Sat Nov 24 23:01:16 2007
This archive was generated by hypermail 2.1.8 : Sat Nov 24 2007 - 23:01:16 CET