Mercurial > mplayer.hg
comparison gui/dialog/fileselect.c @ 35931:dd2264983633
Make fsSelectedDirectory a local variable.
Additionally, avoid memory leaks by using the variable instead of
calling get_current_dir_name() again and by freeing fsSelectedDirectory.
author | ib |
---|---|
date | Wed, 20 Mar 2013 17:33:42 +0000 |
parents | eab9c3e8a565 |
children | 445773b8c373 |
comparison
equal
deleted
inserted
replaced
35930:9f25b60fa81b | 35931:dd2264983633 |
---|---|
55 #else | 55 #else |
56 char * get_current_dir_name( void ); | 56 char * get_current_dir_name( void ); |
57 #endif | 57 #endif |
58 | 58 |
59 char * fsSelectedFile = NULL; | 59 char * fsSelectedFile = NULL; |
60 char * fsSelectedDirectory = NULL; | |
61 gchar * fsSelectedDirectoryUtf8 = NULL; | 60 gchar * fsSelectedDirectoryUtf8 = NULL; |
62 unsigned char * fsThatDir = "."; | 61 unsigned char * fsThatDir = "."; |
63 const gchar * fsFilter = "*"; | 62 const gchar * fsFilter = "*"; |
64 | 63 |
65 int fsType = 0; | 64 int fsType = 0; |
496 return; | 495 return; |
497 } | 496 } |
498 | 497 |
499 static void fs_Ok_released( GtkButton * button, gpointer user_data ) | 498 static void fs_Ok_released( GtkButton * button, gpointer user_data ) |
500 { | 499 { |
500 char * fsSelectedDirectory; | |
501 GList * item; | 501 GList * item; |
502 int i = 1, l; | 502 int i = 1, l; |
503 struct stat fs; | 503 struct stat fs; |
504 gchar * selected; | 504 gchar * selected; |
505 | 505 |
528 listMgr(PLAYLIST_DELETE, 0); | 528 listMgr(PLAYLIST_DELETE, 0); |
529 add_to_gui_playlist(selected, PLAYLIST_ITEM_APPEND); | 529 add_to_gui_playlist(selected, PLAYLIST_ITEM_APPEND); |
530 g_free(selected); | 530 g_free(selected); |
531 } | 531 } |
532 guiInfo.NewPlay=GUI_FILE_NEW; sub_fps=0; | 532 guiInfo.NewPlay=GUI_FILE_NEW; sub_fps=0; |
533 fs_PersistantHistory( get_current_dir_name() ); //totem, write into history | 533 fs_PersistantHistory( fsSelectedDirectory ); |
534 break; | 534 break; |
535 case fsSubtitleSelector: | 535 case fsSubtitleSelector: |
536 setddup( &guiInfo.SubtitleFilename,fsSelectedDirectory,fsSelectedFile ); | 536 setddup( &guiInfo.SubtitleFilename,fsSelectedDirectory,fsSelectedFile ); |
537 mplayerLoadSubtitle( guiInfo.SubtitleFilename ); | 537 mplayerLoadSubtitle( guiInfo.SubtitleFilename ); |
538 break; | 538 break; |
560 if ( i ) | 560 if ( i ) |
561 { | 561 { |
562 fsTopList_items=g_list_prepend( fsTopList_items,fsSelectedDirectoryUtf8 ); | 562 fsTopList_items=g_list_prepend( fsTopList_items,fsSelectedDirectoryUtf8 ); |
563 g_hash_table_insert(fsPathTable, strdup(fsSelectedDirectoryUtf8), strdup(fsSelectedDirectory)); | 563 g_hash_table_insert(fsPathTable, strdup(fsSelectedDirectoryUtf8), strdup(fsSelectedDirectory)); |
564 } | 564 } |
565 | |
566 free(fsSelectedDirectory); | |
567 | |
565 if ( uiLoadPlay ) { uiLoadPlay=False; uiEvent( evPlay,0 ); } | 568 if ( uiLoadPlay ) { uiLoadPlay=False; uiEvent( evPlay,0 ); } |
566 else gui( GUI_SET_STATE,(void *) GUI_STOP ); | 569 else gui( GUI_SET_STATE,(void *) GUI_STOP ); |
567 } | 570 } |
568 | 571 |
569 static void fs_Cancel_released( GtkButton * button,gpointer user_data ) | 572 static void fs_Cancel_released( GtkButton * button,gpointer user_data ) |