[evolution-patches] Evolution fix for #307794



Hi all,

I have a crude fix for bug #307794.
I have attached the patch.

When you select any item from the "Server Type"
combo box, it emits the "changed" signal.

This invokes "emae_provider_changed" callback which in
its execution path calls ec_rebuild.

Here the page containing the combox box
is destroyed and a new page with items
specific for that selected server type
is loaded.

But the code in gtkcombobox.c requires
that combo box for its pending opertions
and is destroyed in the callback.

The same happens for the combo box in the sending page also.
Because the same callback is used.

My fix removes that widget destruction leaving a memory leak.

The combo box has to be hold and destroyed later. But how?

Please review it,
and give suggestions and comments.

Thanks,
Arunprakash.

Index: e-config.c
===================================================================
RCS file: /cvs/gnome/evolution/e-util/e-config.c,v
retrieving revision 1.20
diff -u -p -r1.20 e-config.c
--- e-config.c	28 Apr 2005 09:27:01 -0000	1.20
+++ e-config.c	7 Jul 2005 14:50:11 -0000
@@ -606,7 +606,7 @@ ec_rebuild(EConfig *emp)
 
 			if (wn->widget && wn->widget != page) {
 				d(printf("destroy old widget for page '%s'\n", item->path));
-				gtk_widget_destroy(wn->widget);
+				//gtk_widget_destroy(wn->widget);
 			}
 
 			if (connect) {
@@ -692,7 +692,7 @@ ec_rebuild(EConfig *emp)
 		nopage:
 			if (wn->widget && wn->widget != section) {
 				d(printf("destroy old widget for section '%s'\n", item->path));
-				gtk_widget_destroy(wn->widget);
+				//gtk_widget_destroy(wn->widget);
 			}
 
 			d(printf("Item %s, setting section widget\n", wn->item->path));


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