2009-08-13  Nagappan Alagappan  <nagappan@gmail.com>

	* ldtp.c (report_window_event): Fixes bug 591753 – On window
	callback exit ldtp crashes.

	* device.c (get_keyboard_keycodes): Fixes ldtp crash when xmodmap
	doesn't exist in path. This was a regression from the previous fix
	of bug 590755 - Keycodes mismatch using generatekeyevent from
	python-ldtp.

2009-08-12   José Luis Segura Lucas <josel.segura@gmx.es>

	* device.c (get_keyboard_keycodes): Fixes bug 590755, Keycodes
	mismatch using generatekeyevent from python-ldtp.

2009-08-11  Nagappan Alagappan  <nagappan@gmail.com>

	* ldtp.c (get_current_time): Fixes bug 587614, Method to measure how
	long a window is showing up.

	* client-handler.c (handle_request): Fixes bug 587614, Method to
	measure how long a window is showing up.

2009-07-30  Nagappan Alagappan  <nagappan@gmail.com>

	* tree-table.c (does_row_exist): Fixes bug 588674, It would be
	nice if doesrowexist would look for partial matches.

	* table.c (does_row_exist): Fixes bug 588674, It would be nice if
	doesrowexist would look for partial matches.

2009-07-23  Nagappan Alagappan  <nagappan@gmail.com>

	* link.c (click): Added new file for link object type.

	* remap.c (get_object_info): Added link object.

2009-07-12  Nagappan Alagappan  <nagappan@gmail.com>

	* tree-table.c (tree_table_main): Fixes bug # 587456 – checkrow
	action fails on tree table cell.

2009-06-01  Nagappan Alagappan  <nagappan@gmail.com>

	* ldtp-gui.c (ldtp_gui_get_gui_handle): Fixed bug # 583021 – If an
	application changes a context, it is no longer found by LDTP.

2009-05-17  Nagappan Alagappan  <nagappan@gmail.com>

	* layered-pane.c (unselect_item, unselect_index): AT-SPI function
	AccessibleSelection_deselectChild not supported in SLED10 environment.

	* device.c (mouse_left_click): Use width, height apart from x and
	y for performing the click operation.

2009-05-10  Anupa Kamath  <anupakamath@gmail.com>

	* client-handler.c (SPI_ROLE_PROGRESS_BAR): Added new function to 
	handle progress bar

	* ldtp-error.h: Added new error code for progress bar
	LDTP_ERROR_PROGRESSBAR_NOT_VISIBLE

	* ldtp-error.c: Added error message for LDTP_ERROR_PROGRESSBAR_NOT_VISIBLE

	* ldtp-command.h: Added entries for the commands LDTP_CMD_VERIFYPROGRESSBAR,
	LDTP_CMD_VERIFYPROGRESSBARVISIBLE

	* ldtp-gui.c: Added entry for progress bar states

	* Makefile.am: Added entry for progress-bar.c in ldtp_SOURCES

2009-05-10  Nagappan Alagappan  <nagappan@gmail.com>

	* tree-table.c (tree_table_main): When object doesn't have
	accessible action then don't proceed further. Thanks to Szilárd
	Pfeiffer <szilard.pfeiffer@gmail.com> for reporting this issue.

	* table.c (check_row, uncheck_row): When object doesn't have
	accessible action then don't proceed further. Thanks to Szilárd
	Pfeiffer <szilard.pfeiffer@gmail.com> for reporting this issue.

	* text.c (get_text_value): Fixes the length of return string as
	reported in
	http://ldtp.myfastforum.org/text_limit_on_gettextvalue_about17.html

	* menu-item.c (menu_item_main): Added grab focus.

	* menu.c (menu_main): Added grab focus.

2009-05-10  Szilárd Pfeiffer  <szilard.pfeiffer@gmail.com>

	* ldtp.c (report_window_event): Fixes bug # 579027, onwindowcreate
	expects a _NON_ stripped window title.

2009-04-26  Nagappan Alagappan  <nagappan@gmail.com>

	* layered-pane.c (is_child_index_selected)
	(is_child_item_index_selected): Added new functions to check
	whether the given index is selected or not.

	* ldtp.c (ldtp_server_thread): Removed unused variable.

	* ldtp-gui.c (is_object_matching): Initialized variables, fixing
	compiler warnings.

	* ldtp-command.h (enum _LDTPCommandId): Added new commands.

	* client-handler.c (get_all_states): Removed unused variables.

2009-04-25  Nagappan Alagappan  <nagappan@gmail.com>

	* push-button.c (push_button_main): Fixed incorrect error
	message.

	* menu.c (list_child_menu_items): Fixed SPI leak.

	* list.c: Alignment fixes.

	* ldtp.c (report_window_event): Fixed bug # 579027 -
	onwindowcreate expects a _NON_ stripped window title

	* ldtp-command.h (enum _LDTPCommandId): Added new commands.

	* ldtp-error.c (ldtp_error_get_message): Added new error cases.

	* layered-pane.c (is_child_selected, is_child_item_selected)
	(unselect_item_index, selected_item_count, unselect_item)
	(unselect_all, select_all, unselect_index): Implemented new
	functions to operate on nautilus layered pane widget.

	* device.c (mouse_right_click): Operate based on x, y, width and
	hieght of the given widget co-ordinates, rather than x, y
	co-ordinates.

	* client-handler.c (handle_request): Checked generatemouseevent
	return status.

2009-04-09  Nagappan Alagappan  <nagappan@gmail.com>

	* client-handler.h (struct _ChildrenList): Added new structure to
	hold children list and context hash table.

	* client-handler.c (add_matching_item_to_list): If matching
	children list hash table list available, then just check the list
	of available roles and / or context based on that list only.
	(copy_hash_table): Copy a given hash table to a new hash table.
	(set_traversed): If the key in current list matches with the given
	list, then mark it as traversed.
	(get_current_children): Get the children of current node and add
	it to the hash table.
	(all_node_traversed): Check whether all the nodes are traversed or
	not.
	(get_matching_child): Search for matching children based on given
	parent, role and / or component. Fixes b.g.o bug # 547572.

2009-04-08  Nagappan Alagappan  <nagappan@gmail.com>

	* ldtp-appmap.c (search_key_based): Fixes bug #553747, thanks to
	Guofu Xu  <Guofu.Xu@access-company.com>.

	* ldtp-gui.c (trace_path_to_parent)
	(get_accessible_component_handle): Fixes bug #553747, thanks to
	Guofu Xu  <Guofu.Xu@access-company.com>.

2009-04-08  Willie Walker  <william.walker@sun.com>

	* ldtp-server.c (get_tmp_file): LDTP should use LOGNAME instead of
	(or in addition to) USER, fixes bug # 578609.

	* ldtp.c (get_log_file_name): LDTP should use LOGNAME instead of
	(or in addition to) USER, fixes bug # 578609.

2009-03-15  Nagappan Alagappan  <nagappan@gmail.com>

	* client-handler.c (handle_request): Crash on getobjectproperty,
	when both window and object arguments are same - Fix bug # 575690.

2009-03-12  Nagappan Alagappan  <nagappan@gmail.com>

	* ldtp.c (report_window_event): Crash reported by Javier Collado
	<javier.collado@canonical.com>, when adding a callback with string
	'frm*', which crashes ldtp, when the window doesn't have any child
	window.

2009-03-10  Michael Terry  <michael.terry@canonical.com>

	* client-handler.c (generate_response_packet): Bug 574789 –
	getwindowlist (and others?) don't handle utf8 well.

2009-03-02  Nagappan Alagappan  <nagappan@gmail.com>

        * remap.c (filter_appmap_data): Updated ukngrip to unkgrip based
        on Eitan Isaacson  <eitan@ascender.com> suggestion.

2009-02-09  Nagappan A  <nagappan@gmail.com>

	* client-handler.c (handle_request): Fixed SPI leak.

2009-02-02  Nagappan A  <nagappan@gmail.com>

	* client-handler.c (handle_request): Added new command,
	application under test (appundertest).

	* ldtp-gui.c (get_window_handle): If application under test is
	set, then try to find the application name based on given
	application, rather than navigating other window with same title.
	(ldtp_gui_get_gui_handle): Removed previously commented code.

2009-01-29  Nagappan Alagappan  <nagappan@gmail.com>

	* remap.c (get_object_info): Fixed issue of calender object type
	as reported by Nathan Samson <nathansamson@gmail.com>.

2009-01-22  Nagappan A  <nagappan@gmail.com>

	* menu.c (menu_main): If there are no list in the arguments, then
	check for menuitemenabled.

	* ldtp-gui.c (get_app_list): Fixes bug 566048 – ldtp.getapplist()
	always throws an exception.
	(ldtp_get_component_handle): Fixed a crash, when the window closed
	at the time of processing. Checked for head, if its not NULL, then
	free the resource.

	* client-handler.c (get_all_states): Added new function to get all
	the states of given object.
	(handle_request): action is NULL, mark the command as invalid.

2008-12-01  Nagappan A  <nagappan@gmail.com>

	* ldtp-gui.c (is_object_matching): If _ available in accessible
	label, then strip it, as it affects in Access Company environment.

	* slider.c (decrease): Fixed the decrement value just by 1, rather
	than doing 2 times.

2008-11-30  Guofu Xu  <Guofu.Xu@access-company.com>

	* menu-item.c (select_menu_item): if the popuped menu disappera
	soon, then change it to large.

	* menu.c (menu_main): Fixed the code, if incorrect value is passed
	to the second argument of selectmenuitem.

	* ldtp.c (report_window_event): if window did not have name, then
	we remove all this kinda window now.

	* ldtp-gui.c (ldtp_gui_get_gui_handle): When tmp_context is NULL
	use context itself.
	(ldtp_get_component_handle): When tmp_context is NULL use context
	itself.

	* client-handler.c (handle_request): if compoent existed
	previously, this will return a fake info.

2008-11-30  Nagappan A  <nagappan@gmail.com>

	* tree-table.c (verify_cell_value): Added case, when the action
	state is activate.

	* table.c (verify_cell_value): Added case, when the action state
	is activate.

2008-11-20  Nagappan A  <nagappan@gmail.com>

	* ldtp-gui.c (update_cur_window_appmap_handle): Fixed crash, by
	locking the mutex thread, if possible.

	* table.c (verify_cell_value): Fixed verification of table cell
	value.

	* ldtp.c (report_window_event): Try to lock the thread, if locked,
	then remove the window information from hash table.

	* client-handler.c (handle_client): Freed accessible reference,
	after completion of each command.

2008-11-11  Nagappan A  <nagappan@gmail.com>

	* ldtp-gui.c (is_object_matching): Work around for VMware
	workstation bug, where the toggle button label is ...
	(ldtp_gui_wait_till_gui_exist): Free accessible app handle for
	each search.
	(ldtp_gui_wait_till_gui_not_exist): Free accessible app handle for
	each search.

	* client-handler.c (handle_request): Freed application handle.

2008-11-06  Nagappan A  <nagappan@gmail.com>

	* client-handler.c (handle_request): Removed one time invocation
	of launchapp.

2008-11-05  Guofu Xu  <Guofu.Xu@access-company.com>

	* client-handler.c (handle_request): Fixed code in
	LAUNCHAPP. Added new cases GETFILE, GENERATEMD5. Fixed compilation
	warning. Added code specific to Access Company.
	(update_context_name): Now updates the app_handle as well.

	* ldtp-gui.c (wait_till_object_state_contains): Fixed sleep
	statements as appropriate.
	(ldtp_gui_get_gui_handle): Added fixes related to getting the gui
	handle.

2008-11-05  Nagappan A  <nagappan@gmail.com>

	* table.c (set_cell_value): Fixed a crash, by removing unnecessary
	code.

	* tree-table.c (set_cell_value): Fixed a crash, by removing unnecessary
	code.

	* ldtp.c (report_window_event): Fixed mutex lock / unlock, as
	suggested by Guofu Xu <Guofu.Xu@access-company.com>.

	* device.c (press_key, release_key): Added new functions as per
	requirement from Willie Walker <William.Walker@sun.com>

2008-10-29  Nagappan A  <nagappan@gmail.com>

	* ldtp-gui.c: Removed get_accessible_app_handle.
	(get_window_name_list): Fixed getting the name of window without
	title.
	(get_accessible_context_handle): Fixed getting the name of window
	without title.
	Removed unused functions.

	* ldtp.c: Fixed mutex locks reported by lavi.

	* remap.c (do_remap): Added tooltip property.

	* push-button.c (push_button_main): Added getobjsize.

	* ldtp-error.c (ldtp_error_get_message): Added additonal error
	messages.

	* ldtp-appmap.c: Removed unused codes.

	* client-handler.c: Fixed mutex locks reported by lavi. Removed
	unused codes.

	* tree-table.c (tree_table_main): Added getobjsize.

	* toggle-button.c (toggle_button_main): Added getobjsize.

	* text.c: Fixed compilation warnings.

	* table.c (table_main): Fixed compilation warnings and added
	getobjsize.

	* spin-button.c (spin_button_main): Added getobjsize.

	* slider.c (set_value, get_min_value, get_min_increment)
	(get_max_value, ):  Implemented new function.
	(set_max): Fixed by checking the return value, as reported by
	Lavi.
	(slider_main): Added getobjsize.

	* radio-button.c (radio_button_main): Added getobjsize.

	* page-tab-list.c (page_tab_list_main): Added getobjsize.

	* radio-menu-item.c (radio_menu_item_main): Added getobjsize and
	doesmenuitemexist.

	* menu-item.c (menu_item_main): Added getobjsize and
	doesmenuitemexist.

	* label.c (label_main): Added getobjsize.

	* embedded-component.c (embedded_component_main): Added getobjsize.

	* combo-box.c (combo_box_main): Added getobjsize.

	* check-menu-item.c (check_menu_item_main): Added getobjsize and
	doesmenuitemexist.

	* check-box.c (check_box_main): Added getobjsize.

2008-09-26  Nagappan A  <nagappan@gmail.com>

	* menu.c (menu_main): Added role name to print.

	* ldtp-gui.c (get_accessible_app_handle): Added window name in
	print.

	* ldtp-appmap.c (remove_remapped_entry): Removed print statement.

2008-09-24  Nagappan A  <nagappan@gmail.com>

	* spin-button.c (get_min_value): Added new function to get the min
	value of the given slider.

	* spin-button.c (get_max_value): Added new function to get the max
	value of the given slider.

	* spin-button.c (get_min_increment): Added new function to get the
	min increment value of the given slider

	* remap.c (get_object_info): Added icon to the list of known
	objects.

	* menu.c (list_child_menu_items): Simplified the implementation by
	restructuring the code.

	* ldtp-gui.c (get_accessible_app_handle): Added window name as new
	argument. This helps to get the correct window's application
	handle.
	(get_size): Implemented new function to get the size of given
	object handle.

	* table.c (select_row): Reorganized the code.

	* icon.c (icon_main): Added grabfocus and getobjsize commands.

2008-09-12  Nagappan A  <nagappan@gmail.com>

	* table.c (right_click): Fixed implementation of right click and
	verified with Ubuntu update manager.

2008-09-11  Nagappan A  <nagappan@gmail.com>

	* toggle-button.c (right_click): Added right click function.

2008-09-05  Nagappan A  <nagappan@gmail.com>

	* text.c (right_click): Fixes Bug 343890 – rightclick function not
	work. Thanks to Alex.Yu <hao.yu@palmsource.com> for reporting this
	bug.

	* table.c (right_click): Fixes Bug # 550978 mouserightclick
	should be available for table objects. Thanks to Ara Pulido
	<ara@ubuntu.com> for reporting this bug.

2008-09-04  Nagappan A  <nagappan@gmail.com>

	* ldtp-appmap.c (get_all_matching_def): Fixes Bug 550186 – Got two
	GLib-CRITICAL msg when try to access non-existed widget. Thanks to
	lavi <xygwf@hotmail.com>

2008-08-27  Nagappan A  <nagappan@gmail.com>

	* device.c (get_key_value): Generate caps lock event, when capital
	letters are used ! This is helpful when we automate the sequence
	ALT + File, here F is capital letter. With shift key, this
	sequence was failing. With caps lock, things are working as
	expected.

2008-08-17  Nagappan A  <nagappan@gmail.com>

	* ldtp-gui.c (update_cur_context_appmap_handle): Removed
	previously handled resource free on failure code !

2008-08-13  Nagappan A  <nagappan@gmail.com>

	* remap.c (do_remap): A fix to over come the Thunderbird bug, as
	it returns -1 for all the window type, get index in parent. Thanks
	to Philipp Wagner <PWAGNER@de.ibm.com> for filing the bug # 547592.

	* ldtp-gui.c (update_cur_context_appmap_handle): Even though
	the return value from ldtp_gui_get_gui_handle is not SUCCESS, if
	gui handle is not NULL, then free its resource.

2008-08-12  Nagappan A  <nagappan@gmail.com>

	* remap.c: If ldtp_debug, then print.

	* ldtp-gui.c (get_child_window_handle): Free window name, when the
	context name doesn't match.

	* ldtp-appmap.c (search_window_key_based): Added a new function
	to search window based on key.
	(get_all_matching_def): Invoke search_window_key_based function.

	* client-handler.c (update_context_name): Modified the window name
	that's being returned from this function. Fixes bug #
	544393. Thanks to Gaurav Sharma <gauravs@vmware.com> for filing
	this critical bug !

	* remap.c (add_appmap_data): Updated string children.

2008-07-31  Nagappan A  <nagappan@gmail.com>

	* ldtp-appmap.c (search_window_label_glob_based): Modified the
	implementation to take Object Info structure.

	* client-handler.c (handle_request): Modified the implementation
	of GETWINDOWLIST case.

	* ldtp-gui.c (get_window_name_list): Implemented new function to
	get the list of opened windows.

2008-07-17  Nagappan A  <nagappan@gmail.com>

	* remap.c (add_appmap_data): Initial work for the bug # 415167.

	* client-handler.c (handle_request): Modified g_utf8_strlen to
	strlen, as it was giving a wrong value for the string with unicode
	character.

	* check-box.c (check_box_main): Grab focus based on check box.

	* radio-button.c (radio_button_main): Grab focus based on radio
	button.

	* push-button.c (push_button_main): Grab focus based on push
	button.

	* toggle-button.c (toggle_button_main): Grab focus based on toggle
	button.

2008-07-01  Nagappan A  <nagappan@gmail.com>

	* client-handler.c (handle_request): Commented out sleep
	statement, which seems to improve the execution drastically.

	* all-control-names.c (component_main): Removed break
	statement. More of allignment fixes.

2008-06-27  Nagappan A  <nagappan@gmail.com>

	* toggle-button.c (is_toggle_button_state_enabled): Added a new
	function to check whether the toggle button state is enabled or
	not.

	* remap.c (accessible_object_handle): Fixed a crasher, checks for
	current parent and parent name, if they both are not equal, then
	free the memory.

	* radio-button.c (is_radio_button_enabled): Fixed verification
	logic, which checks whether the radio button is enabled or not.

	* push-button.c (push_button_main): Fixed error type returned.

	* menu-item.c (menu_item_main): Added click action to menu-item.

	* ldtp.c (is_window_in_cctxt): Uncommented the code block.
	(report_window_event): Uncommented the destroy event code block.
	(ldtp_print): Insert the log to file, if the environment variable
	LDTP_DEBUG_LOGFILE is set to 1.

	* ldtp-gui.c (window_info_added_hashtable): Modified insert code
	to use hash table replace.
	(ldtp_gui_wait_till_gui_not_exist): Fixed a crasher, by adding
	mutex. As the same handle is being freed by destroy-event in
	ldtp.c. This avoids the race condition of two threads.

	* ldtp-error.c: Added more error switch cases.

	* ldtp-appmap.c (remove_remapped_entry): Commented the code.
	(remove_remapped_entry): Uncommented the code block.

	* device.c (get_key_value): Modified the print screen string used.

	* client-handler.c (add_matching_item_to_list): Modified the way
	this function returns the label information. Now returns the LDTP
	key format will be returned instead of actual label.

	* check-menu-item.c (is_menu_item_enabled): Checks for the
	SPI_STATE ENABLED instead of SENSITIVE.

	* check-box.c (is_check_box_enabled): Added new function to check
	whether the check box is enabled or disabled.

	* tree-table.c (double_click_row_index): Added new code to double
	click on row based on index.

	* page-tab-list.c (verify_tab_name): Added code to verify tab name.

	* ldtp.c (get_log_file_name): Get log file name.
	(ldtp_print): Added code to log all the debugging info to the
	file. For later debugging.

	* ldtp-gui.c (ldtp_gui_get_gui_handle): Fixed a crasher, when
	appmap is updated, also get the context / component hash table
	entry from the updated hash table, instead of assuming the
	existing context / component names.

	* ldtp-error.c (ldtp_error_get_message): Added
	UNABLE_TO_GET_PAGE_TAB_NAME and UNABLE_TO_VERIFY_PAGE_TAB_NAME.

	* ldtp-command.h: Added doubleclickrowindex, verifytabname.

	* ldtp-appmap.c (find_property): Added new function to check the
	property matches with the key.

	* device.c (get_key_value): Added print screen option.

	* combo-box.c, push-button.c: More of code allignment.

	* client-handler.c, menu.c: Removed commented old code.

2008-04-24  Nagappan A  <nagappan@gmail.com>

	* remap.c: Freed all resources to avoid memory leak.

	* menu.c: Freed all resources to avoid memory leak.

	* ldtp.c: Freed all resources to avoid memory leak.

	* ldtp-request.c: Freed all resources to avoid memory leak.

	* ldtp-gui.c (get_matching_all_component_def): Added new
	function.

	* ldtp-appmap.c (print_context): Fixed a crasher bug, when
	printing the key, values.

	* client-handler.c (handle_client): Freed parent_name resource.

2008-02-27  Nagappan A  <nagappan@gmail.com>

	* client-handler.c (handle_request): Removed unnecessary code.

	* ldtp-appmap.c (get_window_def): Added new function to lookup for
	the window definition in hash table.

	* ldtp-gui.c (get_context_def): Added new function to check,
	whether multiple window title exist in hash table and also the
	relevant component name.

	* page-tab-list.c (get_tab_name): Added new function to get the
	name of a tab.

	* menu.c (menu_main): Removed unnecessary code.

	* check-menu-item.c (is_menu_item_enabled): New function added to
	verify whether a menu item is enabled or not.

	* radio-menu-item.c (is_menu_item_enabled): New function added to
	verify whether a menu item is enabled or not.

	* menu-item.c (is_menu_item_enabled): New function added to verify
	whether a menu item is enabled or not.

2008-02-23  Nagappan A  <nagappan@gmail.com>

	* page-tab-list.c (page_tab_list_main): Fixed printing the page
	tab name.

2008-02-18  Nagappan A  <nagappan@gmail.com>

	* client-handler.c (handle_request): Modified nano_sleep to sleep.

2008-02-11  Nagappan A  <nagappan@gmail.com>

	* ldtp.c (main): Avoid using external XML file as data file, if
	environment varialbe LDTP_EXTERNAL_TEMP_FILE is set or command
	line argument -n or --no-external-xml-file is passed or started
	LDTP as an TCP service.

	* client-handler.c (write2file): Write the given data to a temp
	file and return the file name, if success.
	(generate_response_packet): If, data size is 512, then write it to
	a file.
	(is_role_matching): If given role matches with the list, then
	return true, elase false.
	(add_matching_item_to_list): Add all matching items to the list.
	(handle_request): Modified SELECTMENUITEM case to use g_strsplit
	instead of strtok.
	Added GETCHILD case, to get the child of a given role
	or component and role.

	* menu.c (menu_main): Modified strtok to use g_strsplit.

2008-02-06  Nagappan A  <nagappan@gmail.com>

	* ldtp-gui.c: Modifed nano sleep to seconds, as the performance of
	getting the info from accessibility service gets degraded.

2008-01-29  Nagappan A  <nagappan@gmail.com>

	* ldtp.c (main): Backported to support RHEL4, by adding getopt_long
	function instead of g_option_context_parse.

	* client-handler.c (generate_response_packet, handle_client):
	Fixed compilation warnings.

2008-01-15  Nagappan A  <nagappan@gmail.com>

	* remap.c (get_object_info): Added color chooser window type.

	* ldtp-gui.c (ldtp_gui_get_gui_handle): Handled, case insensitive
	role type.

2007-12-06  Nagappan A  <anagappan@novell.com>

	* scroll-pane.c: Added new file.

	* table.c (set_cell_value): Fixed minor bug.

2007-08-28  Nagappan A  <anagappan@novell.com>

	* *.[ch]: Updated all the files for the new address in LGPL
	license.

2007-08-28  Nagappan A  <anagappan@novell.com>

	* calendar.c: Fixed compiler warnings.

	* client-handler.c: Fixed compiler warnings.

	* menu.c: Fixed compiler warnings.

2007-08-20  Nagappan A  <anagappan@novell.com>

	* list.c (select_item): If child is already selected, then don't
	try to select them, instead directly do the required operation.

	* ldtp-error.c (ldtp_error_get_message): Added new error
	condition, if we are unable to select a list item.

	* list.c (select_item): Select list item, from a list.

2007-08-17  Nagappan A  <anagappan@novell.com>

	* ldtp.c (report_window_event): Fixed the crasher in Solaris.
	Fixed few warnings.

	* ldtp-gui.c (trace_path_to_parent): Get the class of current
	object, can be used to verify whether we have traced the right
	object or not.
	(ldtp_gui_get_gui_handle): If the role type doesn't match between
	the current object to be selected and the one we have stored in
	appmap, then need to run remap.

	* ldtp-appmap.c (search_label_name): Commented this function as we
	no longer use them. Need to remove them at later point of time.

	* menu.c: Code alignment.

	* client-handler.c (is_cctxt_registered_callback): If the client
	disconnects, we have to destroy the client context stored.
	Fixed few warnings.

2007-08-14  Nagappan A  <anagappan@novell.com>

	* remap.c (get_object_info): Should not consider autocomplete role
	as text object.

2007-08-09  Nagappan A  <anagappan@novell.com>

	* panel.c (select_panel_name): Modified strstr to use
	g_pattern_match_simple.

	* tree-table.c (right_click): Fixed number of matches bug and
	also fixed using the x, y pixel info when generating right click
	event.

2007-06-26  Nagappan A  <anagappan@novell.com>

	* client-handler.c (handle_request): Added a case for
	SPI_ROLE_TREE.

	* remap.c (filter_appmap_data): If the class name is not in our
	pre-defined list, then just get the accessible role name and dump
	as it is.

2007-05-14  Nagappan A  <anagappan@novell.com>

	* remap.c (get_object_info): Added code for new control types like
	ENTRY, AUTOCOMPLETE, PARAGRAPH.

	* tree-table.c (tree_table_cb): Removed recording related code.

	* toggle-button.c (toggle_button_cb): Removed recording related code.

	* text.c (text_cb): Removed recording related code.

	* table.c (table_cb): Removed recording related code.

	* spin-button.c (spin_button_cb): Removed recording related code.

	* radio-button.c (radio_button_cb): Removed recording related code.

	* push-button.c (push_button_cb): Removed recording related code.

	* page-tab-list.c (page_tab_cb): Removed recording related code.

	* menu-item.c (menu_item_cb): Removed recording related code.

	* ldtp.c (is_window_in_cctxt): Added new function to check whether
	a window exist in the current context.
	(report_window_event): Added new code to remove the context
	entries, when a window is closed.
	(ldtp_server_thread): If client the count is 0 for more than 5
	minutes, then let us quit the current instance.

	* ldtp-request.c (ldtp_request_fill_request): Removed recording
	related code.

	* ldtp-gui.c (window_info_added_hashtable): Added new function.
	* ldtp-gui.c: Added more verbose debug info.

	* ldtp-appmap.c (get_unknown_obj_label): Removed function.

	* client-handler.c (generate_record_response_packet)
	(search_recording_handler, remove_recording_handler)
	(register_recording_handler, unregister_recording_handler):
	Removed recording related code.

	* device.c (generate_keyboard_sequence): Updated the function to
	be accessible only to local file.

	* combo-box.c (combo_box_cb): Removed recording related code.

	* check-box.c (check_box_cb): Removed recording related code.

2007-02-26  Nagappan A  <anagappan@novell.com>

	* combo-box.c (verify_set_text_value): Fixes verifyselect return
	value - Bug # 412173.

2007-02-21  Nagappan A  <anagappan@novell.com>

	* ldtp-logger.c (ldtp_log): Fix to TBFS (alpha): invalid operands
	to binary !=. Reported in debian build system -
	http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=411794

2007-02-15  Rodney Dawes  <dobey@novell.com>

	* ldtp-appmap.c (search_key_glob_based):
	* table.c:
	Fix a couple of minor compilation warnings

2007-02-14  Nagappan A  <anagappan@novell.com>

	* remap.c (add_appmap_data): Updated this function to handle
	remaping of specific controls inside a window.

	* table.c (get_row): If the table cells are not present, will wait
	max of 5 seconds.

	* ldtp.c: Added command line option obj-timeout and gui-timeout.

	* ldtp-gui.c (update_cur_context_appmap_handle): Added a new
	function to remap based on object too.
	(ldtp_gui_get_gui_handle): In few cases the controls are created
	but by default the SPI ROLE assigned to them is UNKNOWN. So, if we
	get during our run-time remap, then wait for nano seconds and
	rescan.

	* ldtp-command.h (guitimeout, objtimeout): Added function to
	change the default global timeout period for an object and a window.

	* ldtp-appmap.c (key_destroy_func, value_destroy_func): Added
	function to free the resources allocated by key and value.
	(is_remaped): Added a new function, which checks whether the
	component is remaped or not.
	(remove_remapped_entry): Remove only remaped entry from the
	component table.
	(search_key_glob_based): Updated the lookup logic.
	(search_title_based): Added a new function which checks for the
	window name.

	* client-handler.c (unregister_window_creation_event): Now uses
	g_hash_table_find instead of g_hash_table_lookup_extended.

	* ldtp-gui.c (wait_till_object_state_contains): Added new
	function, which will wait for the object state to be
	enabled. Modified all the callers of object_state_contains to use
	this function. So time.sleep may not be required to be included in
	the script.

2007-02-08  Raghu Dandin  <Raghu.Dandin@palmsource.com>

	* combo-box.c (hide_list, show_list): Handles menu item under a
	combo box.

2007-01-30  Nagappan A  <anagappan@novell.com>

	* combo-box.c (verify_select_item): Incorrect return value from
	verifyselect function. Fixes bug # 402371.

2007-01-25  Nagappan A  <anagappan@novell.com>

	* ldtp-gui.c (get_object_handle): Fixed a crash, due to two
	Accessible_unref on same handle.

2007-01-22  Nagappan A  <anagappan@novell.com>

	* ldtp.c (is_window_reg_for_events): Removed GHashTable argument
	as its already a globla variable.
	Added global pthread mutex to avoid a crash when the callback
	functions client connection disconnected.

	* text.c (append_text, set_cursor_position, text_main): Fixed
	crashers reported by Palm Source team.

	* menu.c (menu_main): Removed extra condtions that check for ';'.

	* ldtp-command.h: Added new command to the structure.

	* ldtp-error.[c,h] (ldtp_error_get_message): Added new error
	LDTP_ERROR_EVENT_NOTIFIER_NOT_ENABLED.

	* ldtp-appmap.c (get_property): Check the return value of
	g_hash_table_lookup_extended, apart from value.

	* client-handler.c (unregister_window_creation_event): Added new
	function to unregister the callback function, that use to listen
	for window creation events.
	Added global pthread mutex to avoid a crash when the callback
	functions client connection disconnected.

2007-01-18  Nagappan A  <anagappan@novell.com>

	* ldtp-gui.c (get_accessible_context_handle)
	(get_child_window_handle): Refined the object search algorithm.
	Recognize dialog with out any title, so it can accessed like dlg0,
	frm0 etc.
	You can access multiple windows with same title, so the first
	title will be same as the default one (example: frmNautilus), but
	the second title will be indexed from 1 (example: frmNautilus1).
	(get_accessible_component_handle): Modified function name from
	get_accessible_object_handle.
	(does_window_exist): Added new function to check whether a window
	exist or not.
	(remove_tmp_entries): Remove temporarily created hash table
	entries.

	* ldtp-appmap.c: Modified all g_hash_table_lookup to
	g_hash_table_lookup_extended. Because of this the appmap lookup
	now takes fast. Now we are not querying the accessible interface
	multiple times.

2007-01-10  Damien Carbery  <damien.carbery@sun.com>

	* ldtp-record.c (stop_record): AFAIK _fileno is not part of the
	FILE struct. Modified to use fileno ().

2006-12-20  Nagappan A  <anagappan@novell.com>

	* ldtp-response.c: Removed this file as we no longer use it.

2006-12-16  Nagappan A  <anagappan@novell.com>

	* remap.c (strip_delim): Fix, if only one '.' present in a label,
	then just consider it. Fixes bug # 348479.

	* device.c (get_keyval_id): Added HOME, END, UP, DOWN, LEFT,
	RIGHT, PAGEUP, PAGEDOWN, MENU, SPACE, INSERT, DELETE, F11, F12 key
	codes.
	(get_key_value): Modified condition of for loop to use
	NonPrint_Key_Synth_Vals[index].sym instead of NONPRINTING_KEYS as
	the number of key codes are hard coded.

2006-12-07  Nagappan A  <anagappan@novell.com>

	* client-handler.h: Modified the packet length type from size_t to
	uint32_t.

2006-12-05  Rodney Dawes  <dobey@novell.com>

	* ldtp-gui.c (get_accessible_object_handle): Revert Nagappan's previous
	commit as it isn't the proper fix
	(grab_focus): Don't unref the Accessible here as it is owned by another
	method and not grab_focus
	This properly fixes the memory corruption and crash

2006-12-05  Rodney Dawes  <dobey@novell.com>

	* ldtp-record.c (record_main):
	* menu.c (menu_main):
	Don't check if error is non-zero now, as zero is the SUCCESS case

	* text.c (get_text_property): Revert the commit of a g_print addition
	as it was a temporary debugging statement

2006-12-05  Nagappan A  <anagappan@novell.com>

	* ldtp-gui.c (get_accessible_app_handle): Fixed crash reported by
	lavi of Palm Source.

2006-12-05  Prashanth Mohan  <prashmohan@gmail.com>

	* text.c (text_main): gettextproperty was not returning the
	apropriate values. This was because the if condition checked for
	error. And the no error condition LDTP_ERROR_SUCCESS is equal to
	0. Removed the faulty condition checking.

2006-11-21  Rodney Dawes  <dobey@novell.com>

	* ldtp-error.[ch]: Get rid of the LDTPError struct
	(ldtp_error_get_error, ldtp_error_free): Remove these methods as we
	don't need them any more
	(ldtp_error_get_message): Make this a public method that returns a
	const char * of the error message for when we need to print it

	* *.[ch]: Update the error handling code to use LDTPErrorCode instead
	of LDTPError everywhere, so we only pass around an enum value
	Call ldtp_error_get_message whenever we need to print an error message

	* ldtp-gui.c (object_state_contains): Unref the AccessibleStateSet when
	we are done using it
	(get_accessible_object_handle): Don't free the head struct that isn't
	owned by this method
	(ldtp_gui_get_gui_handle): Free the head pointer when done using it
	(ldtp_gui_wait_till_gui_exist, ldtp_gui_wait_till_gui_not_exist):
	(ldtp_gui_gui_exist): Free the accessible pointer when done with it

2006-11-21  Rodney Dawes  <dobey@novell.com>

	* Makefile.am: We don't set LOCALIZATION_CFLAGS anywhere, so we don't
	need to add it to INCLUDES
	We can always include LOCALIZATION_LIB as we always AC_SUBST it now

	* ldtp-appmap.c (remove_context_entries, remove_appmap_entries): Add
	these back as we need to avoid destroying the hash tables until later,
	due to the potential of thread contention
	(ldtp_appmap_free): Add the _foreach back to destroy the hash table
	data that is stored in the appmap hash table

	* ldtp-gui.c (get_window_list): Don't create an extra variable to store
	the string in, and then assign that to another pointer, just assign
	the window_title string pointer directly
	Duplicate the string when inserting the key into the hash table
	Free the window_title string when done
	(get_accessible_context_handle): Print data before we free it
	(update_cur_window_appmap_handle): Don't create the hash table with
	_new_full and destructors, as there is potential thread contention

	* localizaiton.c (cleanup_hash_tables): Remove this unused method
	(ldtp_compare_with_locale): Free utf8_string before returning NULL

	* menu.c (menu_main): Free the accessible struct when done with it

	* remap.c (add_appmap_data, do_remap): Don't use _new_full to create
	the hash table with destructors, as there may be thread contention
	
2006-11-20  Rodney Dawes  <dobey@novell.com>

	* remap.c (get_keybinding): Duplicate the return value from the
	AccessibleAction_getKeyBinding call, so that we can safely free it
	Free binding and key_binding as appropriate before returning

2006-11-20  Rodney Dawes  <dobey@novell.com>

	* client-handler.c (handle_request): Just use g_strconcat instead of
	reallocing the size of rest_params and then using strcat

	* ldtp-appmap.c (search_label_based): Free the tmp pointer when we
	are done with it so we don't leak the memory
	(search_obj_after_stripping_space): Free the glob_str when we don't
	need it any more so we don't leak the memory
	glob_str will never be NULL as we're always duping at least "*", so
	we can simplify the code here by avoiding the check for non-NULL and
	stripping the else clause, since we were already validating the pattern
	match in the nested if statement anyway, and returning FALSE by default

2006-11-20  Rodney Dawes  <dobey@novell.com>

	* Makefile.am: Remove ldtp-command.c, ldtp-memory.[ch], ldtp-state.[ch]

	* client-handler.c: Don't need ldtp-state.h or ldtp-memory.h any more
	(has_state): Change state_id to a long int
	Use atol to get the state_id now instead of looking up in a hash table,
	as we pass the state id as an integer in the XML now
	(handle_request): Change command to a long int
	Use atol to get the command id now instead of looking it up in a hash
	table, as we pass the command id as an integer in the XML now

	* ldtp-command.c: Remove this file as we don't need the method calls
	any longer, as we pass the command id as an integer instead of a string
	
	* ldtp-command.h: Remove the LDTPCommand struct and the method
	prototypes as we don't use them any more

	* ldtp-gui.c: Don't include ldtp-state.h any longer
	Define the structure layout for state_list internally now

	* ldtp-memory.[ch]:
	* ldtp-state.[ch]:
	Remove these files as we don't need them any longer

2006-11-16  Rodney Dawes  <dobey@novell.com>

	* client-handler.c (has_state): Move the AccessibleStateSet_unref
	call below the error: label so that it always gets cleaned up properly
	(handle_client): Malloc packet_len + 1 for the packet buffer so that
	we have room for the NULL terminator to avoid an Invalid Read

	* ldtp-appmap.c (get_object_def, get_property):
	Don't use a static array size for the msg error message buffer
	Free the LDTPError objects after we finish using them
	Allocate and free the msg buffer as appropriate

	* ldtp-gui.c (ldtp_gui_get_gui_handle): Free ctxt_handle if we error

	* push-button.c (is_push_button_state_enabled): Add a boolean to store
	the return value and default it to FALSE
	Free the AccessibleStateSet before we return

	* remap.c (do_remap): Don't g_strdup name when passing it off to the
	accessible_object_handle method as it doesn't free the buffer

2006-11-15  Rodney Dawes  <dobey@novell.com>

	* client-handler.c (generate_response_packet):
	Set the err to LDTP_ERROR_SUCCESS when we are succeeding
	(has_state): Unref the state_set when we're done with it
	(handle_client): New integer for keeping track of how much of the
	packet was read in, if we have to read in chunks
	Remove prev_pckt_len as we don't need it any more
	Replace calloc calls when initializing cctxt with g_new0 calls
	Free LDTPErrors where appropriate
	Just always g_malloc0 packet instead of trying to realloc as we free
	the packet when finished anyway, and don't need to resize in a loop
	Use packet_read to keep track of how many bytes of the packet were
	read rather than using pointer math on the buffers
	Use g_new0 instead of calloc when allocating the pckt structure
	Don't do the g_slist_remove_all as the items in the list get freed
	inside the ldtp-request code anyway, and simply removing them doesn't
	get them freed here
	Allocate new LDTPErrors when we want to copy the error data to a new
	place such as in the cctxt->resp structure
	Check if there was an error sending the response and log it
	Free the cctxt and other items inside it

	* ldtp-appmap.c (remove_component_entries, remove_context_entries):
	(remove_appmap_entries): We don't need these methods any more as the
	destroy handlers are set properly when we create the hash tables
	(ldtp_appmap_free): Just return if there is no hash table, and
	remove the g_hash_table_foreach call as the data gets freed by the
	hash table destroy handlers

	* ldtp-gui.c (init_stack): Replace malloc with g_new0
	(get_accessible_app_handle): Free window_title when we're done with it
	(get_relation_name): We need the k variable method-wide
	Unref all the items in the relation array and free the array before
	we return a value or NULL
	(get_child_window_handle): Free the tmp value when we don't need it
	(update_cur_window_appmap_handle): Create the hash table with destroy
	handlers as appropriate for the data in the hash table
	Destroy new_hashtable if we aren't going to use it
	(ldtp_gui_get_gui_handle): Use g_new0 instead of calloc

	* ldtp-request.c (ldtp_request_free): Don't need to check if the
	values are non-NULL before calling g_free
	We never get called with finalize != 0 so don't need to free ourselves
	as we must free the LDTPRequest elsewhere anyway
	(ldtp_request_fill_request): Inserting a NULL into the slist doesn't
	do anything for us

	* remap.c (get_keybinding): Restructure the code to be a little more
	readable
	Return duplicated strings as we don't know if the string we are
	returning is already duplicated or not
	(add_appmap_data): Create hash_attributes with appropriate destructors
	Always free label_by when done with it
	(get_window_text_in_appmap_format): Create a return value char * to
	return a duplicate string with, so we can free our own copies
	(do_remap): Create current_context with appropriate destructors

2006-11-07  Rodney Dawes  <dobey@novell.com>

	* client-handler.c (generate_response_packet):
	Free the data_pckt buffer when we're doing with it

	* ldtp-error.c (ldtp_error_init): Remove this method, as we don't
	need to create a hash table to store the error data in
	(ldtp_error_get_error): Removed the _init method
	Just always malloc a new error structure to return with the right info
	(ldtp_error_free): Take an LDTPError * as an argument here
	Free the error structure and set the pointer to NULL

	* ldtp-error.h: Update the prototype for ldtp_error_free

	* ldtp.c (report_window_event): Allocate a new error in the cctxt->resp
	structure instead of assigning the value of the local err pointer
	Free the local err pointer where appropriate
	(accept_connection): Set the err to an LDTPError for success when we
	are within the code path that warrants a success
	(init_pollfd): Only create a new client_thraed_pool hash table if it
	has not already been initialized
	(ldtp_server_thread): Free local err structures where appropriate
	Check that err is valid memory before trying to test its members
	(main): Free the GError we get from the option context
	Exit with an exit code of 1 if option parsing failed
	Free the LDTPError we set when faliing to create the threads

2006-10-31  Rodney Dawes  <dobey@novell.com>

	* client-handler.c: Add an include for locale.h to fix warnings

	* ldtp-gui.c (get_accessible_object_handle): Too many args to g_print
	(ldtp_gui_get_gui_handle): Passing an int not a long int

	* ldtp-record.c (stop_record): Pass an int for the fd instead of a FILE
	pointer to g_print, and change the formatting to use int

	* table.c (double_click): Variable cell not used

	* tree-table.c (double_click): Variable cell not used

2006-10-27  Rodney Dawes  <dobey@novell.com>

	* ldtp-command.[ch]: Add new LDTP_CMD_PRESS command
	(ldtp_command_init_command_table): Set the destroy notify callback for
	the key value of the hash table, to be g_free
	
	* toggle-button.c (press): new method to tell the accessible to press
	itself
	(toggle_button_main): Call press if we get the press command

2006-10-25  Nagappan A  <anagappan@novell.com>

	* remap.c (get_object_info): Added embedded component object type
	* embedded-component.c (invoke_menu, click): Implemented two new
	functions to handle embedded component

2006-10-12  Nagappan A  <anagappan@novell.com>

	* client-handler.c (bind_text): Now checks for po file too
	(handle_request): Implemented new case SETLOCALE. In LAUNCHAPP If
	locale is set, then launch the application based on the given
	locale

2006-09-27  Myron Walker <myron.walker@gmail.com>

	* ldtp-command.h, ldtp-command.c, table.c: Added the singleclickrow
	API implemented by Puneet Mishra <punmish211@yahoo.com>.

2006-09-27  Nagappan A  <anagappan@novell.com>

	* client-handler.c (search_recording_handler,
	remove_recording_handler, register_recording_handler,
	unregister_recording_handler): Added new functions to handle
	recording client context handler.
	(generate_record_response_packet): Modified response tag from
	RECORD to RESPONSE.
	(handle_request): Added generatemouseevent, a function.
	
	* combo-box.c (select_item): Modified C str* functions to use
	g_utf8*.

	* device.c (generate_keyboard_sequence): Modified this function to
	be generic, so it can be called even with out accessible handle.

	* ldtp-appmap.c: Modified all the function names having regexp
	string to glob as the actual implementation is glob based.

	* ldtp-gui.c (grab_focus): Moved implementation from text.c to
	here.

	* ldtp-record.c: Removed all static variables and added all of
	them as a structure LdtpRecord.
	(caculate_time_elapsed): To find the time difference between the
	current operation and the previous operation. Will be useful for
	playback.

	* table.c (table_main): Now has the implementation of enterstring.

	* text.c (grab_focus): Moved implementation from here to
	ldtp-gui.c.

	* toggle-button.c (toggle): Fixed a crasher bug, when the object
	state does not match FALSE flag is set in LDTPError, which crashed
	the LDTP engine.

	* tree-table.c (tree_table_main): Now has the implementation of
	enterstring.

2006-09-26  Nagappan A  <anagappan@novell.com>

	* remap.c (accessible_object_handle): Fixes a performance issue
	reported by Palm Source team.

2006-09-20  Nagappan A  <anagappan@novell.com>

	* ldtp-appmap.c (search_key_regexp_based): Fixed a bug reported by
	Guofu Xu - Plam Source. Included * at end of pattern.

2006-09-19  Nagappan A  <anagappan@novell.com>

	* tree-table.c (double_click, double_click_row): Added two new
	functions

2006-09-14  Prashanth Mohan  <prashmohan@gmail.com>

	* tree-table.c (select_row): Added support for selecting Nth
	occurence of a value in a tree table row

2006-09-12  Nagappan A  <anagappan@novell.com>

	* client-handler.c (handle_request): launchapp can now take
	optional command line arguments

2006-09-11  Nagappan A  <anagappan@novell.com>

	* client-handler.c (handle_request): Moved launchapp from client
	side to server side, based on requirement from Palm Source.

2006-08-31  Nagappan A  <anagappan@novell.com>

	* ldtp-server.c (init_ldtp_server): Added functionality to ldtp to
	work from a remote location. Thanks to Punit Mishra of Palm Source
	for providing the patch.

2006-08-23  Nagappan A  <anagappan@novell.com>

	* tree-table.c (get_cell_value): Fixed, getting cell's value

2006-08-17  Nagappan A  <anagappan@novell.com>

	* client-handler.c (remove_app_list_table): Remove the app list
	table, when not required.

	* ldtp-gui.c (get_window_list): Implemented new function to get
	the list of accessibility application names that are currently
	opened.

	* ldtp-record.c (record_main): Fixed crash on solaris box, checked
	cctxt->req->application and command for NULL

2006-08-15  Prashanth Mohan  <prashmohan@gmail.com>

	* text.c (text_main): Checked for cctxt->req->arg_list->data to be
	NULL and replaced with "" in case of NULL

	* ldtp-request.c (ldtp_request_fill_request): Added NULL value to
	argument list in case of no arguments specified

2006-08-14  Rodney Dawes  <dobey@novell.com>

	* remap.c (add_appmap_data): Add support for the description property
	of the accessible objects, so that these properties can be checked
	for in testing

2006-08-14  Nagappan A  <anagappan@novell.com>

	* client-handler.c (handle_request): Grab focus based on window
	name.

	* ldtp-utils.c (ldtp_read_sizet): Fixed size_t bug, as its size in
	64bit is 8 and in 32 bit is 4. Now modified the type as uint32_t

2006-08-11  Nagappan A  <anagappan@novell.com>

	* ldtp-gui.c (trace_path_to_parent): Fixed critical warnings.

	* ldtp-appmap.c (search_key_regexp_based): Fixed critical
	warnings.

2006-08-10  Nagappan A  <anagappan@novell.com>

	* menu.c (menu_main): Fixed crash, when token is NULL, quiting
	with appropriate error message.

	* ldtp-appmap.c (search_label_regexp_based, search_label_based):
	Search window based on regexp.

2006-08-09  Nagappan A  <anagappan@novell.com>

	* ldtp-appmap.c (search_key_regexp_based): Search window based on
	regexp.

	* ldtp-gui.c (trace_path_to_parent): Trace parent based on regular
	expression too
	(get_child_window_handle): Trace child window handle based on
	regular epression too

2006-08-08  Nagappan A  <anagappan@novell.com>

	* ldtp-appmap.c (search_label_based): Fixed regular expression
	pattern matching bug.

2006-08-02  Nagappan A  <anagappan@novell.com>

	* ldtp-record.c (get_window_name): Fixed many SPI leaks.

2006-07-23  Nagappan A  <nagappan@gmail.com>

	* tool-bar.c (verify_visible_button_count, verify_button_count):
	Fixed implementations to work appropriately.

	* menu.c (list_child_menu_items): Returns all the sub menuitem of
	menu.

	* ldtp-gui.c (trace_path_to_parent): Fixed core dump, if
	child_index property is NULL, avoid calling atoi.

	* combo-box.c (capture_to_file): Fixed core dump, if filename is NULL.

2006-07-21  Prashanth Mohan  <prashmohan@gmail.com>

	* calendar-view.c (select_event): Modified to also select Meetings
	in evolution

2006-07-21  Nagappan A  <nagappan@gmail.com>

	* client-handler.c (has_state): Implemented new function.
	* *.[ch]: Code alignment.
	* states.h: Removed.
	* ldtp-state.[ch]: New files added.
	* ldtp-gui-cb.h: New file added.

2006-07-13  Prashanth Mohan  <prashmohan@gmail.com>

	* calendar-view.c (select_event): Generates a new string to match
	with the event summary.
	* client-handler.c (generate_notification_packet): Changing packet
	length since it is not correctly formed when special unicode
	characters are present.

2006-07-07 Harishankaran K <sp2hari@gmail.com>

	* ldtp-record.c: Main file recording which has all the event
	listeners. Added callbacks in all the corresponding objects.

2006-07-06 Harishankaran K <sp2hari@gmail.com>

	* push-button.c toggle-button.c (enterstring) Added
	LDTP_CMD_ENTERSTRING to the corresponding main functions

2006-07-05  Prashanth Mohan  <prashmohan@gmail.com>

	* table.c (select_row_partial_match): fixed Double freeing error
	* device.c (generate_keyboard_sequence): fixed the shift pressing
	issue to generate symbols

2006-07-03  Nagappan A  <nagappan@gmail.com>

	* client-handler.c (handle_request): getobjectlist,
	getobjectproperty, getobjectinfo functions will not call
	update_cur_window_appmap_handle function, unless the object
	information is found in the hash table.

2006-06-29  Prashanth Mohan  <prashmohan@gmail.com>

	* ldtp-logger.c (log_msg): Added escaping of XML special
	characters when writing to log file

	* text.c (get_text_property): Fixed bug #345858. The arguments
	given to AccessibleText_getAttributes was wrong

2006-06-27  Nagappan A  <nagappan@gmail.com>

	* ldtp-logger.c (log_msg): Added comment, testcaseid tag to
	logging based on Alex request Hao.Yu@palmsource.com

2006-06-23  Prashanth Mohan  <prashmohan@gmail.com>

	* client-handler.c (handle_request): fixed bug #342679
	getobjectlist () now updates the appmap if it is not done already
	(add_item_to_list): fixed bug #339901. illegal characters in XML
	files are properly parsed now.

2006-06-15  Nagappan A  <nagappan@gmail.com>

	* client-handler.c (handle_request): Added STOPSCRIPTSERVER
	functionality, required for using with tinderbox

2006-06-12  Nagappan A  <nagappan@gmail.com>

	* text.c (right_click): Added new function

2006-05-31  Nagappan A  <nagappan@gmail.com>

	* ldtp.c (ldtp_server_thread): Added code for ldtp record handler

2006-05-30  Nagappan A  <nagappan@gmail.com>

	* localization.c (ldtp_compare_with_locale): Regexp based search
	is implemented in localized object name too.

	* ldtp.c (ldtp_server_thread): Added a check in poll, whether the
	pollfd breaked due to ldtp script server thread or ldtp record
	server thread.

	* ldtp-server.c (init_ldtp_server): Removed LDTP_AUTH_SOCK
	environment variable setting, as its no longer been used.

	* ldtp-logger.c (close_log_file): NULL log file pointer after
	closing the file pointer.

	* ldtp-gui.c (get_accessible_context_handle): Fixed memory leak -
	freed the allocted string.

	* label.c (get_label_at_index): Implemented new function to get
	the label based on window, panel and index information.

	* client-handler.c (handle_client, handle_request): At end of
	stoplog, initialize log file pointer to NULL.

2006-05-26  Prashanth Mohan  <prashmohan@gmail.com>

	* text.c (insert_text): fixed bug #343006. Also cleared a TODO --
	Check if position of insertion is less than available text	

2006-05-13  Prashanth Mohan  <prashmohan@gmail.com>

	* page-tab-list.c (page_tab_list_main): added command
	LDTP_CMD_GET_TAB_COUNT to fix bug #341612

2006-05-11  Prashanth Mohan  <prashmohan@gmail.com>

	* text.c (get_cursor_position, set_cursor_position): Fixed bug
	#341391 and added some checks for return values

2006-05-08  Prashanth Mohan  <prashmohan@gmail.com>

	* device.c (generate_keyboard_sequence): fixed bug #340994

2006-05-07  Prashanth Mohan <prashmohan@gmail.com>

	* device.[ch]: Added registry events for keyboard and mouse
	events. Bug #340935
	* ldtp-error.[ch]: Added errors --
	LDTP_ERROR_UNABLE_TO_MOVE_MOUSE, LDTP_ERROR_INVALID_FORMAT,
	LDTP_ERROR_TOKEN_NOT_FOUND,	LDTP_ERROR_UNABLE_TO_ENTER_KEY
	* push-button.c: Added support for mouse move, mouse left click,
	mouse right click
	* text.c: Added support for mouse move, mouse left click, mouse
	right click, keyboard string entry

2006-05-02  Nagappan A <nagappan@gmail.com>

	* ldtp-gui.c (update_cur_window_appmap_handle): Added mutex lock /
	unlock to avoid corruption of application map

2006-04-27  Nagappan A <nagappan@gmail.com>

	* ldtp-logger.c (open_log_file): Modified the default option of
	opening file as overwrite - Bug # 339884

2006-04-25  Nagappan A <nagappan@gmail.com>

	* remap.c (get_object_info): Handles edit bar object type - Bug #
	339671

2006-04-17  Nagappan A <nagappan@gmail.com>

	* ldtp-gui.c (ldtp_gui_get_gui_handle): Handled multiple
	applications parallely - Bug # 338315

2006-04-14  Nagappan A <nagappan@gmail.com>

	* remap.c (strip_delim): Now this function is not static

2006-04-13  Nagappan A <nagappan@gmail.com>

	* ldtp-utils.c (read_line): Added new function to read data from
	given fd, line by line

2006-04-08  Nagappan A <nagappan@gmail.com>

	* ldtp-gui.c (get_relation_name, ldtp_gui_get_gui_handle):
	Valgrind and fixed memory leaks.

2006-04-07  Nagappan A <nagappan@gmail.com>

	* ldtp.c (main): Added command line options to ldtp engine

2006-04-06  Nagappan A <nagappan@gmail.com>

	* ldtp-appmap.c (search_label_based): Valgrind and fixed memory
	leaks.

2006-04-05  Nagappan A <nagappan@gmail.com>

	* client-handler.c (handle_request): Implemented reinitldtp

2006-04-04  Nagappan A <nagappan@gmail.com>

	* client-handler.c (createpo, deletepo, bind_text): Implemented
	new functions

2006-04-03  Nagappan A <nagappan@gmail.com>

	* calendar.c (select_calendar_date): Checked for NULL arguments to
	avoid crash
	* check-menu-item.c (uncheck_check_menu_item,
	verify_check_check_menu_item, verify_uncheck_check_menu_item):
	Removed functions

2006-04-01  Nagappan A <nagappan@gmail.com>

	* client-handler.h (_LDTPClientContext): Added individual log file
	for each new client connection

2006-03-29  Nagappan A <nagappan@gmail.com>

	* ldtp-logger.c (log_msg): Pass / fail report of a group are now
	logged in the XML.
	* ldtp-logger.h: Updated #define entries to use enum and appended
	all LOG_ variables to LDTP_LOG_ enum variables. This impact all
	the usage of LOG_ variables, which has to be replaced with
	LDTP_LOG_.

2006-03-28  Nagappan A <nagappan@gmail.com>

	* label.c (select_labels_panel_by_name): New functions implemented
	- bug # 336458.

2006-03-27  Nagappan A <nagappan@gmail.com>

	* text.c (select_text_by_name): New functions implemented - bug #
	316044.

2006-03-22  Nagappan A <nagappan@gmail.com>

	* Makefile.am: Updated GCC specific flags

2006-03-21  Nagappan <nagappan@gmail.com>

	* menu-item.c (is_menu_item_enabled): Implemented new function
	based on bug # 323530

2006-03-17  Nagappan <nagappan@gmail.com>

	* calendar-view.c (select_event): Checked for NULL arguments
	* combo-box.c (select_item): Replaced strip_white_space with
	escape_character
	* ldtp-appmap.c (search_key_regexp_based, search_label_based,
	search_label_regexp_based, search_obj_after_stripping_space):
	Checked for NULL arguments
	* ldtp-gui.c (trace_path_to_parent, get_accessible_context_handle,
	get_child_window_handle): Checked for NULL arguments
	* ldtp-logger.c (strip_white_space): Removed function as the
	implementation part of it is duplicate of escape_character
	function implemented in ldtp-utils.c
	* localization.c (ldtp_compare_with_locale, reverse_lookup):
	Checked for NULL arguments
	* remap.c (get_keybinding, insert_underscore, get_object_info,
	add_appmap_data, get_window_text_in_appmap_format): Checked for
	NULL arguments, which fixes the bug # 334521

2006-03-16  Nagappan <nagappan@gmail.com>

	* calendar-view.c (select_event): Updated with appropriate error
	message
	* menu.c (menu_main): Patch to fix bug # 334401
	* client-handler.c (handle_request): Patch to fix bug # 334386

2006-03-15  Nagappan <nagappan@gmail.com>

	* ldtp-response.h: Patch to fix bug # 333096 and bug # 334512
	* client-handler.c (handle_request): Patch to fix bug # 333096 and
	bug # 334512
	* remap.c (get_object_info): Patch to fix bug # 334520 and handles
	File Chooser object type
	* check-box.c (verify_check_check_box, verify_uncheck_check_box):
	Patch to fix bug # 334625, Now returns appropriate return value
	* ldtp-request.c (ldtp_request_fill_request): Patch to fix bug #
	333089 comment # 6
	* table.c (get_cell_value): Patch to fix bug # 333089 comment

2006-03-09  Nagappan <nagappan@gmail.com>

	* client-handler.c (add_item_to_list): A common function to
	generate XML object list.
	* client-handler.c (send_response):  If data sent in chunks from
	server to client, then the peek code in client was not able to
	continue reading the next chunk as the recv with peek option
	always returns the first chunk.
	* client-handler.c (handle_request): Implemented getwindowlist,
	getobjectlist, getobjectinfo, getobjectproperty. Modified
	initappmap to get the file name from gslist only once. Memory leak
	fixed - Freed memory resources when client disconnects.
	* ldtp.c (ldtp_print): Indentation
	* ldtp-appmap.c (remove_appmap_entries): Memory leak fixed - Freed
	memory resources when client disconnects.
	* ldtp-appmap.c (search_obj_after_stripping_space): Added new
	function to search for an object after stripping spaces.
	* ldtp-appmap.c (add_child_attributes): Modified it as static
	function.
	* ldtp-appmap.c (ldtp_appmap_free): If appmap is not NULL then
	only traverse the hash table. To avoid a critical warning.
	* ldtp-appmap.c (search_label_based): Modified the logic to check
	for label or label_by and also, if under score is in value, then
	remove it and then look for the match.
	* ldtp-command.c (ldtp_command_init_command_table): Added
	getwindowlist, getobjectlist, getobjectinfo, getobjectproperty
	commands to the list of commands.
	* ldtp-error.c (ldtp_error_get_error_message): Added new error
	messages.
	* ldtp-gui.c (ldtp_gui_get_gui_handle): If appmap is not
	initialized, then try to initialize it by updating the window
	handle.
	* ldtp-gui.c (update_cur_window_appmap_handle): Checked for
	argument NULL to avoid crash.
	* ldtp-logger.c (ldtp_log): vprintf also will be printed iff
	LDTP_DEBUG option is enabled.
	* ldtp-request.c (ldtp_request_fill_request): When XML packet is
	NULL don't process further, which avoids a crash.
	* ldtp-utils.c (escape_character): Modified function name
	escape_under_score to escape_character and also added one
	parameter to make this function a generic one. Check if argument
	is not NULL then continue else return immediately.
	* remap.c (get_keybinding, filter_appmap_data, get_object_info,
	add_appmap_data): Checked for NULL arguments to avoid crash.
	* remap.c (accessible_object_handle): Avoided memory fragmentation
	as the same data is allocated multiple times.

2006-02-24  Nagappan <nagappan@gmail.com>

	* tree-table.c (select_row): Fixed crash - bug #332346
	* text.c (select_text): Added new API selecttext - bug #323445
	* ldtp-request.c (ldtp_request_fill_request): Fixed crash - bug #332427

2006-02-20  Nagappan <nagappan@gmail.com>

	* ldtp-response.h: Added encoding type and it defaults to utf-8.
	
2006-02-15  Nagappan <nagappan@gmail.com>

	* page-tab-list.c (select_tab): Called
	AccessibleComponent_grabFocus function.

2006-02-09  Veerapuram Varadhan <v.varadhan@gmail.com>

	* ldtp-appmap.c: Screw-up fixes. ;-)

2006-02-09  Veerapuram Varadhan <v.varadhan@gmail.com>

	* combo-box.c:
	* ldtp-appmap.c:
	* localization.c:
	* menu.c:
	* table.c: Don't use g_strdup_printf for message-logging, it
	  defragments memory.  Static arrays should suffice.
	  Coding style fixes.

2006-02-08  Nagappan <nagappan@gmail.com>

	* ldtp.c, ldtp-logger.c, Makefile.am: Removed argp dependancy
	* ldtp.c: Generate core dump in case of crash
	* ldtp-logger.c: Fixed crasher bug, when fp is NULL, don't try to
	use the fp
	* ldtp-appmap.c: Fixed crasher bug, when argument is NULL, don't
	try to print its value

2006-02-01  Nagappan <nagappan@gmail.com>

	* Makefile.am: Moved localization.h from ENABLE_LOCALIZATION
	section to ldtp_SOURCES
	* ldtp-gui.c (send_response, handle_client): Checked error and
	packet_len for any invalid value
	* client-handler.c (handle_request): Handled startlog, stoplog and
	log client functions

2006-01-30  Nagappan <nagappan@gmail.com>

	* ldtp-gui.c (get_accessible_context_handle): Fixed finding
	objects based on window title in appmap format
	* ldtp-gui.c (ldtp_gui_get_gui_handle): Added code to avoid
	calling remap at runtime
	* combo-box.c (select_item): Fixed passing a wrong accessible
	handle to menu_item_main function
	* ldtp-error.c (ldtp_error_get_error_message): Fixed error message
	text
	* page-tab-list.c (page_tab_list_main): Checked selecttab argument
	for NULL to avoid a crash
	* client-handler.c (handle_request): Fixed caculation of packet
	size, to read packet sizeof >= 512

2006-01-27  Nagappan <nagappan@gmail.com>

	* *.[ch]: Updated Copyright license year
	* ldtp-utils.[ch]: Moved escape_under_score function from
	localization.[ch] to ldtp-utils.[ch]
	* client-handler.c (generate_response_packet)
	(generate_notification_packet): Implemented functions to generate
	response and notification packets
	* client-handler.c (send_response): Function code has been
	modified to have logic only for sending data to client
	* *.[ch]: Modified params variable to have g_slist where ever
	possible
	* *.c: Modified tab space according to GNOME standard
	* calendar-event.c (select_event): Implemented function to select
	an event based on event name
	* ldtp-command.c (ldtp_command_get_command_id): Validated if the
	command is NULL, which avoid a crash
	* ldtp-gui.c (update_cur_window_appmap_handle): Implemented
	function to update application map of a given window (context) at
	runtime
	* ldtp-gui.c (ldtp_gui_get_gui_handle): Function now tries to get
	the object (component) handle at runtime, if its missing
	* ldtp-request.c (ldtp_request_fill_request): If node is NULL,
	then break from for loop to avoid a crash, when there are no
	ARGUMENT tag present inside ARGUMENTS tag

2006-01-19  Veerapuram Varadhan <v.varadhan@gmail.com>
	
	* client-handler.c (send_response)
	(register_window_creation_event): Compiler warning fixes.

2006-01-19  Veerapuram Varadhan <v.varadhan@gmail.com>

	* Makefile.am: make distcheck fixes.

2006-01-19  Veerapuram Varadhan <v.varadhan@gmail.com>
	
	Committing for Nagappan A <nagappan@gmail.com>
	* client-handler.[ch]:
	* ldtp-command.[ch]:
	* ldtp-error.[ch]:
	* ldtp-gui.c:
	* ldtp-request.[ch]:
	* ldtp-response.h:
	* ldtp-utils.[ch]:
	* ldtp.c:
	Changes w.r.t dynamic-appmap-generation and notification.
	Nags will write a detailed changelog.  This commit is mostly to
	correct a *mid-air* collision of our CVS commits.

2006-01-19  Veerapuram Varadhan <v.varadhan@gmail.com>

	* [*.c, *.h]: Added "tabs-mode" line for emacs editor to
	properly indent the source file.  Also, indented all the files
	to 8 space tab.

	* ldtp-request.h: Added request_id member.
	* ldtp-request.c: Change in packet format. Every tag in XML is
	now within angular brackets.  No more "Props".
	* ldtp-response.h: Change the packet format to have every tag
	formated within angular brackets and not more "attributes".
	Move response-header definitions from ldtp-utils.h to here.
	* client-handler.c (send_response): Adhere to latest response format.
	(handle_client): Logic change in the while loop that reads the
	packet from the socket.

2006-01-16 Nagappan A <nagappan@gmail.com>
	* ldtp-appmap.c (print_context): Function is now a global function
	* ldtp-gui.c (ldtp_gui_get_gui_handle): Function uses
	print_context function after creating the appmap at runtime
	* ldtp-gui.c (ldtp_gui_get_gui_handle): Implemented dynamic
	handling of windows
	* ldtp-gui.c (get_child_window_handle): Handled window title with
	actual label, with regexp, with old appmap format
	* ldtp.c (register_window_event): Implemented initial version for
	listening callback events
	* ldtp-appmap.c (get_component_def): Removed function
	
2006-01-13 Nagappan A <nagappan@gmail.com>
	* ldtp.c (main): Added SPI_event_main, which is required to handle
	unexpected windows
	* ldtp-gui.c (ldtp_gui_get_gui_handle): Implemented
	get_window_handle, get_client_window_handle to handle situations
	where appmap is not found for the given context
	* ldtp.c (cleanup): Gracefully shutdown the LDTP server and also
	remove the named socket file
	* remap.c (get_window_text_in_appmap_format): Implemented to
	generate the window title text in appmap format, so that it wont
	break the existing logic
	
2006-01-12 Nagappan A <nagappan@gmail.com>
	* ldtp-gui.c (guiexist, waittillguiexist, waittillguinotexist)
	functions added
	* client-handler.c (handle_client) Removed code for disconnecting
	the client connection for any error
	
2006-01-11 Nagappan A <nagappan@gmail.com>
	* Removed appmap entry in LDTPRequest structure
	* Implemented regular expression based object and label search
	* Implemented label base search
	* Commented pthread_detach code
	
2006-01-10 Nagappan A <nagappan@gmail.com>
	* Compilation error fixed in calendar.c
	* Fixed SPI leak
	* Removed typdef Appmap
	
2006-01-05 Veerapuram Varadhan <v.varadhan@gmail.com>
	* ldtp-request.c (ldtp_request_fill_request): Xml parsing fixes.
	
2006-01-03 Veerapuram Varadhan <v.varadhan@gmail.com>
	* client-handler.c (handle_request): Error handling fixes.
	* (send_response): Encode the response packet appropriately.
	
2006-01-02 Veerapuram Varadhan <v.varadhan@gmail.com>
	* Fixed response packet creation/sending
	
2005-12-23 Veerapuram Varadhan <v.varadhan@gmail.com>
	* Cleanups and other misc changes
	
2005-12-23 Nagappan <nagappan@gmail.com>
	* Added label.c, compilation warning
	
2005-12-05 Veerapuram Varadhan <v.varadhan@gmail.com>
	* Merging my LDTP_CMD* and ldtp-command.[ch] related changes
	* Initial version of new LDTP arch
