All pastes #99954 Raw Edit

Nagappan

public c v1 · immutable
#99954 ·published 2006-07-25 19:47 UTC
rendered paste body
Index: menu-item.c===================================================================RCS file: /cvs/ldtp/ldtp/src/menu-item.c,vretrieving revision 1.7diff -u -p -r1.7 menu-item.c--- menu-item.c	21 Jul 2006 11:24:25 -0000	1.7+++ menu-item.c	25 Jul 2006 19:46:59 -0000@@ -152,21 +152,28 @@ menu_item_cb (FILE *fp,  	      gboolean combobox_flag, 	      char *combobox_name) {-	int i;+	int  i = 0; 	gint role;-	char *name = NULL;-	char *role_name = NULL;-	GList *menu_item = NULL;-	Accessible *current_menu_item = NULL;+	char *name       = NULL;+	char *role_name  = NULL;+	GList *menu_item  = NULL;+	Accessible *current_menu_item    = NULL; 	Accessible *accessible_menu_item = NULL;++	if (!fp || !event || !window_name || !window_type)+		return; 	g_print ("==DEBUG== Inside record menu\n");-	if (combobox_flag == FALSE ) {+	if (combobox_flag == FALSE) { 		current_menu_item = accessible_menu_item = event->source; 		role = Accessible_getRole (accessible_menu_item);-		for(i = 0; role == SPI_ROLE_MENU || -			    role == SPI_ROLE_MENU_ITEM || -			    role == SPI_ROLE_CHECK_MENU_ITEM || -			    role == SPI_ROLE_RADIO_MENU_ITEM; i++) {+		if (role != SPI_ROLE_MENU_ITEM &&+		    role != SPI_ROLE_CHECK_MENU_ITEM &&+		    role != SPI_ROLE_RADIO_MENU_ITEM) /*If current level doesn't, then no need to proceed*/+			return;+		for (i = 0; role == SPI_ROLE_MENU ||+			     role == SPI_ROLE_MENU_ITEM ||+			     role == SPI_ROLE_CHECK_MENU_ITEM ||+			     role == SPI_ROLE_RADIO_MENU_ITEM; i++) { 			name = Accessible_getName (current_menu_item); 			menu_item = g_list_append (menu_item , g_strdup(name)); 			SPI_freeString (name);@@ -182,9 +189,11 @@ menu_item_cb (FILE *fp,  			if (current_menu_item) 				role = Accessible_getRole (current_menu_item); 		}-		if (current_menu_item && current_menu_item != accessible_menu_item) {+		if (current_menu_item && current_menu_item != accessible_menu_item) 			Accessible_unref (current_menu_item);-		}++		if (i == 0) /* Means no navigation in the above for loop*/+			return; 		role_name = Accessible_getRoleName (event->source); 		fprintf (fp, "<COMMAND><ACTION>SELECTMENU</ACTION>"); 		fprintf (fp, "<WINDOW>%s</WINDOW>", window_type);@@ -208,17 +217,18 @@ menu_item_cb (FILE *fp,  		// Free the variables used  		g_list_free (menu_item); 	}-	else if (combobox_flag == TRUE){+	else if (combobox_name) { 		name = Accessible_getName (event->source);-		fprintf (fp, "<COMMAND><ACTION>COMBOSELECT</ACTION>");-		fprintf (fp, "<WINDOW>%s</WINDOW>",window_type);-		fprintf (fp, "<OBJECTTYPE>combo box</OBJECTTYPE>");-		fprintf (fp, "<CONTEXT>%s</CONTEXT>", window_name);-		fprintf (fp, "<COMPONENT>%s</COMPONENT>", combobox_name);-		fprintf (fp, "<ARGUMENTS><ARGUMENT>%s</ARGUMENT></ARGUMENTS></COMMAND>\n", -			 name);-		fflush (fp);-		SPI_freeString (name);+		if (name) {+			fprintf (fp, "<COMMAND><ACTION>COMBOSELECT</ACTION>");+			fprintf (fp, "<WINDOW>%s</WINDOW>",window_type);+			fprintf (fp, "<OBJECTTYPE>combo box</OBJECTTYPE>");+			fprintf (fp, "<CONTEXT>%s</CONTEXT>", window_name);+			fprintf (fp, "<COMPONENT>%s</COMPONENT>", combobox_name);+			fprintf (fp, "<ARGUMENTS><ARGUMENT>%s</ARGUMENT></ARGUMENTS></COMMAND>\n", name);+			fflush (fp);+			SPI_freeString (name);+		} 	} }