{
if (cancel_encode("Closing HandBrake will terminate encoding.\n"))
{
- ghb_hb_cleanup();
+ ghb_hb_cleanup(FALSE);
gtk_main_quit();
return;
}
return;
}
- ghb_hb_cleanup();
+ ghb_hb_cleanup(FALSE);
gtk_main_quit();
}
gtk_progress_bar_set_fraction (progress, 0);
gtk_progress_bar_set_text (progress, "Scanning ...");
ud->state |= GHB_STATE_SCANNING;
+ ghb_hb_cleanup(TRUE);
ghb_backend_scan (path, 0);
}
else
window_destroy_event_cb(GtkWidget *widget, GdkEvent *event, signal_user_data_t *ud)
{
g_debug("window_destroy_event_cb ()\n");
- ghb_hb_cleanup();
+ ghb_hb_cleanup(FALSE);
gtk_main_quit();
return FALSE;
}
{
if (cancel_encode("Closing HandBrake will terminate encoding.\n"))
{
- ghb_hb_cleanup();
+ ghb_hb_cleanup(FALSE);
gtk_main_quit();
return FALSE;
}
return TRUE;
}
- ghb_hb_cleanup();
+ ghb_hb_cleanup(FALSE);
gtk_main_quit();
return FALSE;
}
current_id = -1;
if (ghb_autostart)
{
- ghb_hb_cleanup();
+ ghb_hb_cleanup(FALSE);
gtk_main_quit();
}
} break;
gtk_progress_bar_set_fraction (progress, 0);
gtk_progress_bar_set_text (progress, "Scanning ...");
ud->state |= GHB_STATE_SCANNING;
+ ghb_hb_cleanup(TRUE);
ghb_backend_scan (path, 0);
}
}
gtk_progress_bar_set_fraction (progress, 0);
update_source_label(ud, device);
ud->state |= GHB_STATE_SCANNING;
+ ghb_hb_cleanup(TRUE);
ghb_backend_scan(device, 0);
}
else
{
ud->state |= GHB_STATE_SCANNING;
+ ghb_hb_cleanup(TRUE);
ghb_backend_scan("/dev/null", 0);
}
}
#define LANG_TABLE_SIZE (sizeof(language_table)/ sizeof(iso639_lang_t))
static void
-del_tree(const gchar *name)
+del_tree(const gchar *name, gboolean del_top)
{
const gchar *file;
{
gchar *path;
path = g_strdup_printf("%s/%s", name, file);
- del_tree(path);
+ del_tree(path, TRUE);
g_free(path);
file = g_dir_read_name(gdir);
}
- g_rmdir(name);
+ if (del_top)
+ g_rmdir(name);
}
else
{
extern void hb_get_tempory_directory(hb_handle_t *h, char path[512]);
void
-ghb_hb_cleanup()
+ghb_hb_cleanup(gboolean partial)
{
char dir[512];
hb_get_tempory_directory(h, dir);
- del_tree(dir);
+ del_tree(dir, !partial);
}
static hb_audio_config_t*
gboolean ghb_validate_vquality(GHashTable *settings);
gboolean ghb_validate_audio(signal_user_data_t *ud);
gboolean ghb_validate_video(signal_user_data_t *ud);
-void ghb_hb_cleanup();
+void ghb_hb_cleanup(gboolean partial);
#endif // _HBBACKEND_H_