[gtk-list] [patch] new version of gtkviewport patch (optimization)





This patch is a replacement for gtk-fortier-980128-0
which was broken. There are a couple of optimizations:

Currently, all the 3 of viewport windows can recieve
events. Now the clipping window (view_window) can not
get event anymore, and the window which contains the
child widget can only recieve expose events (it needs
to send these events to the child widget under some
special conditions).

The second optimization (where my previous patch was 
totally broken :)), is about the expose events sent to
the child widget. Now we test if the expose event is
recieved by the bin_window before sending it.
The result is that we avoid a duplicate expose event
(one event was sent by the widget->window, and one
by viewport->bin_window). 


Maybe this problem happens elsewhere (I looked at a 
couple of other widgets but I'm not a gtk expert).


The patch is against 0.99.3

Patrice, hoping that this patch is now correct :)


I'd like to correct one of my previous post where I say that
the expose events are sent from the parent to children
via the event queue. This is hopefully false (I don't have
gtk sources at work so I post by memory, and my memory
is very volatile :)).
Anyway, gtk handles some of the X stuff (duplication as X
does it anyway) like dispatching events to its children 
and mapping/unmapping calls.

Patrice.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]