Hi,

The patch is three three-fold:

(1) Following the current implementation of GtkContainer of GTK+ 2.24.31,
get rid of the two event filter functions gtk_form_filter() and
gtk_form_main_filter().

To do that, the implementation of gtk_form_expose() is modified in such way
that the whole statements in the FOR block are replaced with a single call
of gtk_container_propagate_expose().

Using gtk_container_propagate_expose(), one can leave widget visibility
handling to the toolkit, thus  making the event filter functions
unnecessary.

As a result, the member variables GtkForm.visibility and
GtkForm.configure_serial are eliminated.

(2) Get rid of the two member variables GtkForm.width and GtkForm.height.

Once these variables are initialized to one at gtk_form_init(), they will
never be changed.  Hence they can be replaced with a constant.

(3) Eliminate gtk_widget_size_request(*, NULL) calls.

According to the current GTK+ 2 implementation, gtk_widget_size_request()
is effectively no-operation when it is invoked with the 2nd argument NULL.
Hence they can be eliminated.

----
As the statistics of the patch are 4 insertions and 165 deletions, no
wonder people think it's too drastic and hence too risky.  So, if you have
any doubt about the patch, please ask me without hesitation.

Best regards,
Kazunobu Kuriyama

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Attachment: GtkForm.patch
Description: Binary data

Raspunde prin e-mail lui