# HG changeset patch # User ib # Date 1363857306 0 # Node ID 445773b8c3736c37b59c55c60f4e879cc9af7f20 # Parent de49b61ded494630fca2565abe95008c649dccb1 Fix get_current_dir_name_utf8() memory leaks. diff -r de49b61ded49 -r 445773b8c373 gui/dialog/fileselect.c --- a/gui/dialog/fileselect.c Wed Mar 20 23:08:34 2013 +0000 +++ b/gui/dialog/fileselect.c Thu Mar 21 09:15:06 2013 +0000 @@ -488,10 +488,14 @@ static void fs_Up_released( GtkButton * button, gpointer user_data ) { + char *utf8dir; + chdir( ".." ); fsSelectedFile=fsThatDir; CheckDir( fsFNameList ); - gtk_entry_set_text( GTK_ENTRY( fsPathCombo ),(unsigned char *)get_current_dir_name_utf8() ); + utf8dir = get_current_dir_name_utf8(); + gtk_entry_set_text( GTK_ENTRY( fsPathCombo ),(unsigned char *)utf8dir ); + g_free(utf8dir); return; } @@ -505,10 +509,13 @@ if( ( stat( fsSelectedFile,&fs ) == 0 ) && S_ISDIR( fs.st_mode ) ) { + char *utf8dir; if ( chdir( fsSelectedFile ) != 0 ) return; fsSelectedFile=fsThatDir; CheckDir( fsFNameList ); - gtk_entry_set_text( GTK_ENTRY( fsPathCombo ),(unsigned char *)get_current_dir_name_utf8() ); + utf8dir = get_current_dir_name_utf8(); + gtk_entry_set_text( GTK_ENTRY( fsPathCombo ),(unsigned char *)utf8dir ); + g_free(utf8dir); gtk_widget_grab_focus( fsFNameList ); return; }