void test_for_memory_leaks() { int x; board *board; play *play; play_list *pl; /* printf( "Hit enter to test board creation and deletion\n" ); getchar(); */ printf( "Testing board creation and deletion\n" ); for( x = 0; x < 100000; x++ ) { board = create_board( ); // printf( "%d\n", board ); delete_board( board ); } // printf( "%d\n", board ); /* printf( "Hit enter to test play creation and deletion\n" ); getchar(); */ printf( "Testing play creation and deletion\n" ); for( x = 0; x < 100000; x++ ) { play = create_play( ); printf( "%d\n", play ); delete_play( play ); } printf( "%d\n", play ); /* printf( "Hit enter to test play list creation and deletion\n" ); getchar(); */ printf( "Testing play list creation and deletion\n" ); for( x = 0; x < 1000000; x++ ) { pl = create_play_list( 5 ); /* print_play_list( pl ); */ printf( "%d\n", pl ); delete_play_list( pl ); } printf( "%d\n", pl ); }
RET_CODE win_set_imageplay_param(PlayListHandle *pplaylist, UINT32 idx, UINT8 folder_flag) { UINT8 back_saved; RET_CODE retcode = RET_SUCCESS; FileInfo filenode; char image_name[FULL_PATH_SIZE]; int playlist_idx; image_folderloop_flag = folder_flag; if(image_folderloop_flag == 1) { if(*pplaylist != NULL) { if(RET_SUCCESS != delete_play_list(*pplaylist)) { return RET_FAILURE; } } *pplaylist = create_play_list(IMAGE_PLAY_LIST, "folder_image"); if(*pplaylist == NULL) { return RET_FAILURE; } get_file_from_file_list(cur_filelist, idx, &filenode); win_get_fullname(image_name, filenode.path, filenode.name); win_compopup_init(WIN_POPUP_TYPE_SMSG); win_compopup_set_frame(200, 200, 200, 100); win_compopup_set_msg(NULL, NULL,RS_DISPLAY_PLEASE_WAIT); win_compopup_open_ext(&back_saved); retcode = add_all_file_list_items_to_play_list(*pplaylist, cur_filelist); osal_task_sleep(500); win_compopup_smsg_restoreback(); if(retcode != RET_SUCCESS) { return RET_FAILURE; } if((filenode.filetype == F_JPG) || (filenode.filetype == F_BMP)) { playlist_idx = get_play_list_index_by_name(*pplaylist, image_name); } else { playlist_idx = 1; } if(playlist_idx == -1) { return RET_FAILURE; } cur_playlist_image = *pplaylist; cur_image_idx = playlist_idx; } else { cur_playlist_image = *pplaylist; cur_image_idx = idx; } set_play_list_info(cur_playlist_image, &cur_image_idx, NULL); return RET_SUCCESS; }
static PRESULT playlist_colorkey_proc(VACTION unact) { UINT16 curPos; PRESULT ret_proc = PROC_PASS; POBJLIST pOl; POBJECT_HEAD top_win; UINT8 back_saved; win_popup_choice_t choice; UINT32 file_num; pOl = &ol_playlist; curPos = OSD_GetObjListCurPoint(pOl); switch(unact) { case VACT_PLAY: top_win = (POBJECT_HEAD)(&g_win_usb_filelist); if(cur_playlist_type == PL_MUSIC) { win_set_musicplay_param(&cur_display_playlist,curPos+1,0); ap_send_msg(CTRL_MSG_SUBTYPE_CMD_PLAYMUSIC,(UINT32)top_win,TRUE); } else { win_set_imageplay_param(&cur_display_playlist, curPos+1,0); ap_send_msg(CTRL_MSG_SUBTYPE_CMD_PLAYIMAGE,(UINT32)top_win,TRUE); } ret_proc = PROC_LEAVE; break; case VACT_MOVE: if(moving_flag == 0) { moving_flag = 1; move_file_idx = curPos; } else { moving_flag = 0; //move file move_file_in_play_list(cur_display_playlist, move_file_idx+1, curPos+1); move_file_idx = INVALID_IDX; } OSD_TrackObject((POBJECT_HEAD)pOl, C_UPDATE_ALL | C_DRAW_SIGN_EVN_FLG); break; case VACT_DELETE: if(moving_flag == 1) { moving_flag = 0; //move file move_file_in_play_list(cur_display_playlist, move_file_idx+1, curPos+1); move_file_idx = INVALID_IDX; } delete_play_list_item(cur_display_playlist, curPos+1); if(cur_playlist_type == PL_MUSIC) { musiclist_changed = TRUE; } else { imagelist_changed = TRUE; } get_play_list_info(cur_display_playlist,&file_num, NULL); OSD_SetObjListCount(pOl, file_num); if(file_num == 0)//all items have been deleted { delete_play_list(win_play_list[cur_playlist_type]); win_play_list[cur_playlist_type] = NULL; ret_proc = PROC_LEAVE; break; } if(curPos >= file_num) { OSD_SetObjListCurPoint(pOl, 0); OSD_SetObjListNewPoint(pOl, 0); OSD_SetObjListTop(pOl, 0); } OSD_TrackObject((POBJECT_HEAD)pOl, C_UPDATE_ALL | C_DRAW_SIGN_EVN_FLG); break; case VACT_DELETE_ALL: win_compopup_init(WIN_POPUP_TYPE_OKNO); win_compopup_set_msg(NULL,NULL,RS_MP_DELETE_PLAYLIST); choice = win_compopup_open_ext(&back_saved); if(choice == WIN_POP_CHOICE_YES) { delete_play_list(win_play_list[cur_playlist_type]); win_play_list[cur_playlist_type] = NULL; if(cur_playlist_type == PL_MUSIC) { musiclist_changed = TRUE; } else { imagelist_changed = TRUE; } ret_proc = PROC_LEAVE; } break; default: break; } return ret_proc; }