2009-08-13 Nagappan Alagappan * 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 * device.c (get_keyboard_keycodes): Fixes bug 590755, Keycodes mismatch using generatekeyevent from python-ldtp. 2009-08-11 Nagappan Alagappan * 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 * 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 * link.c (click): Added new file for link object type. * remap.c (get_object_info): Added link object. 2009-07-12 Nagappan Alagappan * tree-table.c (tree_table_main): Fixes bug # 587456 – checkrow action fails on tree table cell. 2009-06-01 Nagappan Alagappan * 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 * 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 * 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 * tree-table.c (tree_table_main): When object doesn't have accessible action then don't proceed further. Thanks to Szilárd Pfeiffer 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 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 * ldtp.c (report_window_event): Fixes bug # 579027, onwindowcreate expects a _NON_ stripped window title. 2009-04-26 Nagappan Alagappan * 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 * 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 * 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 * ldtp-appmap.c (search_key_based): Fixes bug #553747, thanks to Guofu Xu . * ldtp-gui.c (trace_path_to_parent) (get_accessible_component_handle): Fixes bug #553747, thanks to Guofu Xu . 2009-04-08 Willie Walker * 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 * client-handler.c (handle_request): Crash on getobjectproperty, when both window and object arguments are same - Fix bug # 575690. 2009-03-12 Nagappan Alagappan * ldtp.c (report_window_event): Crash reported by Javier Collado , when adding a callback with string 'frm*', which crashes ldtp, when the window doesn't have any child window. 2009-03-10 Michael Terry * client-handler.c (generate_response_packet): Bug 574789 – getwindowlist (and others?) don't handle utf8 well. 2009-03-02 Nagappan Alagappan * remap.c (filter_appmap_data): Updated ukngrip to unkgrip based on Eitan Isaacson suggestion. 2009-02-09 Nagappan A * client-handler.c (handle_request): Fixed SPI leak. 2009-02-02 Nagappan A * 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 * remap.c (get_object_info): Fixed issue of calender object type as reported by Nathan Samson . 2009-01-22 Nagappan A * 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 * 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 * 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 * 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 * 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 * 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 * client-handler.c (handle_request): Removed one time invocation of launchapp. 2008-11-05 Guofu Xu * 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 * 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 . * device.c (press_key, release_key): Added new functions as per requirement from Willie Walker 2008-10-29 Nagappan A * 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 * 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 * 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 * table.c (right_click): Fixed implementation of right click and verified with Ubuntu update manager. 2008-09-11 Nagappan A * toggle-button.c (right_click): Added right click function. 2008-09-05 Nagappan A * text.c (right_click): Fixes Bug 343890 – rightclick function not work. Thanks to Alex.Yu for reporting this bug. * table.c (right_click): Fixes Bug # 550978 mouserightclick should be available for table objects. Thanks to Ara Pulido for reporting this bug. 2008-09-04 Nagappan A * 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 2008-08-27 Nagappan A * 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 * ldtp-gui.c (update_cur_context_appmap_handle): Removed previously handled resource free on failure code ! 2008-08-13 Nagappan A * 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 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 * 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 for filing this critical bug ! * remap.c (add_appmap_data): Updated string children. 2008-07-31 Nagappan A * 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 * 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 * 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 * 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 * 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 * 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 * page-tab-list.c (page_tab_list_main): Fixed printing the page tab name. 2008-02-18 Nagappan A * client-handler.c (handle_request): Modified nano_sleep to sleep. 2008-02-11 Nagappan A * 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 * 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 * 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 * 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 * scroll-pane.c: Added new file. * table.c (set_cell_value): Fixed minor bug. 2007-08-28 Nagappan A * *.[ch]: Updated all the files for the new address in LGPL license. 2007-08-28 Nagappan A * calendar.c: Fixed compiler warnings. * client-handler.c: Fixed compiler warnings. * menu.c: Fixed compiler warnings. 2007-08-20 Nagappan A * 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 * 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 * remap.c (get_object_info): Should not consider autocomplete role as text object. 2007-08-09 Nagappan A * 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 * 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 * 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 * combo-box.c (verify_set_text_value): Fixes verifyselect return value - Bug # 412173. 2007-02-21 Nagappan A * 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 * ldtp-appmap.c (search_key_glob_based): * table.c: Fix a couple of minor compilation warnings 2007-02-14 Nagappan A * 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 * combo-box.c (hide_list, show_list): Handles menu item under a combo box. 2007-01-30 Nagappan A * combo-box.c (verify_select_item): Incorrect return value from verifyselect function. Fixes bug # 402371. 2007-01-25 Nagappan A * ldtp-gui.c (get_object_handle): Fixed a crash, due to two Accessible_unref on same handle. 2007-01-22 Nagappan A * 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 * 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 * ldtp-record.c (stop_record): AFAIK _fileno is not part of the FILE struct. Modified to use fileno (). 2006-12-20 Nagappan A * ldtp-response.c: Removed this file as we no longer use it. 2006-12-16 Nagappan A * 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 * client-handler.h: Modified the packet length type from size_t to uint32_t. 2006-12-05 Rodney Dawes * 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 * 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 * ldtp-gui.c (get_accessible_app_handle): Fixed crash reported by lavi of Palm Source. 2006-12-05 Prashanth Mohan * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ldtp-command.h, ldtp-command.c, table.c: Added the singleclickrow API implemented by Puneet Mishra . 2006-09-27 Nagappan A * 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 * remap.c (accessible_object_handle): Fixes a performance issue reported by Palm Source team. 2006-09-20 Nagappan A * 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 * tree-table.c (double_click, double_click_row): Added two new functions 2006-09-14 Prashanth Mohan * tree-table.c (select_row): Added support for selecting Nth occurence of a value in a tree table row 2006-09-12 Nagappan A * client-handler.c (handle_request): launchapp can now take optional command line arguments 2006-09-11 Nagappan A * client-handler.c (handle_request): Moved launchapp from client side to server side, based on requirement from Palm Source. 2006-08-31 Nagappan A * 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 * tree-table.c (get_cell_value): Fixed, getting cell's value 2006-08-17 Nagappan A * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ldtp-appmap.c (search_label_based): Fixed regular expression pattern matching bug. 2006-08-02 Nagappan A * ldtp-record.c (get_window_name): Fixed many SPI leaks. 2006-07-23 Nagappan A * 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 * calendar-view.c (select_event): Modified to also select Meetings in evolution 2006-07-21 Nagappan A * 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 * 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 * ldtp-record.c: Main file recording which has all the event listeners. Added callbacks in all the corresponding objects. 2006-07-06 Harishankaran K * push-button.c toggle-button.c (enterstring) Added LDTP_CMD_ENTERSTRING to the corresponding main functions 2006-07-05 Prashanth Mohan * 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 * 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 * 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 * ldtp-logger.c (log_msg): Added comment, testcaseid tag to logging based on Alex request Hao.Yu@palmsource.com 2006-06-23 Prashanth Mohan * 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 * client-handler.c (handle_request): Added STOPSCRIPTSERVER functionality, required for using with tinderbox 2006-06-12 Nagappan A * text.c (right_click): Added new function 2006-05-31 Nagappan A * ldtp.c (ldtp_server_thread): Added code for ldtp record handler 2006-05-30 Nagappan A * 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 * 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 * page-tab-list.c (page_tab_list_main): added command LDTP_CMD_GET_TAB_COUNT to fix bug #341612 2006-05-11 Prashanth Mohan * text.c (get_cursor_position, set_cursor_position): Fixed bug #341391 and added some checks for return values 2006-05-08 Prashanth Mohan * device.c (generate_keyboard_sequence): fixed bug #340994 2006-05-07 Prashanth Mohan * 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 * ldtp-gui.c (update_cur_window_appmap_handle): Added mutex lock / unlock to avoid corruption of application map 2006-04-27 Nagappan A * ldtp-logger.c (open_log_file): Modified the default option of opening file as overwrite - Bug # 339884 2006-04-25 Nagappan A * remap.c (get_object_info): Handles edit bar object type - Bug # 339671 2006-04-17 Nagappan A * ldtp-gui.c (ldtp_gui_get_gui_handle): Handled multiple applications parallely - Bug # 338315 2006-04-14 Nagappan A * remap.c (strip_delim): Now this function is not static 2006-04-13 Nagappan A * ldtp-utils.c (read_line): Added new function to read data from given fd, line by line 2006-04-08 Nagappan A * ldtp-gui.c (get_relation_name, ldtp_gui_get_gui_handle): Valgrind and fixed memory leaks. 2006-04-07 Nagappan A * ldtp.c (main): Added command line options to ldtp engine 2006-04-06 Nagappan A * ldtp-appmap.c (search_label_based): Valgrind and fixed memory leaks. 2006-04-05 Nagappan A * client-handler.c (handle_request): Implemented reinitldtp 2006-04-04 Nagappan A * client-handler.c (createpo, deletepo, bind_text): Implemented new functions 2006-04-03 Nagappan A * 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 * client-handler.h (_LDTPClientContext): Added individual log file for each new client connection 2006-03-29 Nagappan A * 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 * label.c (select_labels_panel_by_name): New functions implemented - bug # 336458. 2006-03-27 Nagappan A * text.c (select_text_by_name): New functions implemented - bug # 316044. 2006-03-22 Nagappan A * Makefile.am: Updated GCC specific flags 2006-03-21 Nagappan * menu-item.c (is_menu_item_enabled): Implemented new function based on bug # 323530 2006-03-17 Nagappan * 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 * 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 * 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 * 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 * 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 * ldtp-response.h: Added encoding type and it defaults to utf-8. 2006-02-15 Nagappan * page-tab-list.c (select_tab): Called AccessibleComponent_grabFocus function. 2006-02-09 Veerapuram Varadhan * ldtp-appmap.c: Screw-up fixes. ;-) 2006-02-09 Veerapuram Varadhan * 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 * 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 * 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 * 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 * *.[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 * client-handler.c (send_response) (register_window_creation_event): Compiler warning fixes. 2006-01-19 Veerapuram Varadhan * Makefile.am: make distcheck fixes. 2006-01-19 Veerapuram Varadhan Committing for Nagappan A * 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 * [*.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 * 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 * 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 * 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 * 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 * Compilation error fixed in calendar.c * Fixed SPI leak * Removed typdef Appmap 2006-01-05 Veerapuram Varadhan * ldtp-request.c (ldtp_request_fill_request): Xml parsing fixes. 2006-01-03 Veerapuram Varadhan * client-handler.c (handle_request): Error handling fixes. * (send_response): Encode the response packet appropriately. 2006-01-02 Veerapuram Varadhan * Fixed response packet creation/sending 2005-12-23 Veerapuram Varadhan * Cleanups and other misc changes 2005-12-23 Nagappan * Added label.c, compilation warning 2005-12-05 Veerapuram Varadhan * Merging my LDTP_CMD* and ldtp-command.[ch] related changes * Initial version of new LDTP arch