[gail] Proper connection to a toplevel window destroy signal
Only connect to the destroy of a toplevel window if it was really added to the toplevel list of windows. The destroy callback was added to remove the window from the toplevel list. The callback doesn't cause a error, but would iterate on the toplevel list without success.
This commit is contained in:
		| @ -235,21 +235,23 @@ gail_toplevel_show_event_watcher (GSignalInvocationHint *ihint, | ||||
|    * Add the window to the list & emit the signal. | ||||
|    * Don't do this for tooltips (Bug #150649). | ||||
|    */ | ||||
|   if (atk_object_get_role (child) != ATK_ROLE_TOOL_TIP) | ||||
|   { | ||||
|       toplevel->window_list = g_list_append (toplevel->window_list, widget); | ||||
|   if (atk_object_get_role (child) == ATK_ROLE_TOOL_TIP) | ||||
|     { | ||||
|       return TRUE; | ||||
|     } | ||||
|  | ||||
|       n_children = g_list_length (toplevel->window_list); | ||||
|   toplevel->window_list = g_list_append (toplevel->window_list, widget); | ||||
|  | ||||
|       /* | ||||
|        * Must subtract 1 from the n_children since the index is 0-based | ||||
|        * but g_list_length is 1-based. | ||||
|        */ | ||||
|       atk_object_set_parent (child, atk_obj); | ||||
|       g_signal_emit_by_name (atk_obj, "children-changed::add", | ||||
| 			     n_children - 1,  | ||||
| 			     child, NULL); | ||||
|   } | ||||
|   n_children = g_list_length (toplevel->window_list); | ||||
|  | ||||
|   /* | ||||
|    * Must subtract 1 from the n_children since the index is 0-based | ||||
|    * but g_list_length is 1-based. | ||||
|    */ | ||||
|   atk_object_set_parent (child, atk_obj); | ||||
|   g_signal_emit_by_name (atk_obj, "children-changed::add", | ||||
|                          n_children - 1,  | ||||
|                          child, NULL); | ||||
|  | ||||
|   /* Connect destroy signal callback */ | ||||
|   g_signal_connect (G_OBJECT(object),  | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Alejandro Piñeiro
					Alejandro Piñeiro