projects
/
goodguy
/
history.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ffmpeg index marker fix, layout fixes, quit deadlock fix
[goodguy/history.git]
/
cinelerra-5.1
/
cinelerra
/
mwindow.C
diff --git
a/cinelerra-5.1/cinelerra/mwindow.C
b/cinelerra-5.1/cinelerra/mwindow.C
index 44a7d00562bbaaa5a7565bc40d389e1f1de1bcbf..27e0917ec7eabe59d3782ee1f8c5973d9e62fd2d 100644
(file)
--- a/
cinelerra-5.1/cinelerra/mwindow.C
+++ b/
cinelerra-5.1/cinelerra/mwindow.C
@@
-235,6
+235,7
@@
MWindow::~MWindow()
delete create_bd; create_bd = 0;
delete create_dvd; create_dvd = 0;
delete batch_render; batch_render = 0;
delete create_bd; create_bd = 0;
delete create_dvd; create_dvd = 0;
delete batch_render; batch_render = 0;
+ delete render; render = 0;
commit_commercial();
if( commercials && !commercials->remove_user() ) commercials = 0;
commit_commercial();
if( commercials && !commercials->remove_user() ) commercials = 0;
@@
-292,15
+293,13
@@
MWindow::~MWindow()
finit_error();
keyframe_threads->remove_all_objects();
colormodels.remove_all_objects();
finit_error();
keyframe_threads->remove_all_objects();
colormodels.remove_all_objects();
- delete gui; gui = 0;
- delete render; render = 0;
delete awindow; awindow = 0;
delete lwindow; lwindow = 0;
delete twindow; twindow = 0;
delete wwindow; wwindow = 0;
delete gwindow; gwindow = 0;
delete awindow; awindow = 0;
delete lwindow; lwindow = 0;
delete twindow; twindow = 0;
delete wwindow; wwindow = 0;
delete gwindow; gwindow = 0;
- // must be last or nouveau chokes
delete cwindow; cwindow = 0;
delete cwindow; cwindow = 0;
+ delete gui; gui = 0;
//delete file_server; file_server = 0; // reusable
delete mainindexes; mainindexes = 0;
delete mainprogress; mainprogress = 0;
//delete file_server; file_server = 0; // reusable
delete mainindexes; mainindexes = 0;
delete mainprogress; mainprogress = 0;
@@
-340,8
+339,8
@@
MWindow::~MWindow()
void MWindow::quit(int unlock)
{
void MWindow::quit(int unlock)
{
- stop_playback(1);
if(unlock) gui->unlock_window();
if(unlock) gui->unlock_window();
+ stop_playback(1);
brender_lock->lock("MWindow::quit");
delete brender; brender = 0;
brender_lock->lock("MWindow::quit");
delete brender; brender = 0;
@@
-369,7
+368,7
@@
void MWindow::create_defaults_path(char *string, const char *config_file)
// set the .bcast path
FileSystem fs;
// set the .bcast path
FileSystem fs;
- sprintf(string, "%s
", BCASTDIR
);
+ sprintf(string, "%s
/", File::get_config_path()
);
fs.complete_path(string);
if(!fs.is_dir(string))
fs.create_dir(string);
fs.complete_path(string);
if(!fs.is_dir(string))
fs.create_dir(string);
@@
-597,8
+596,7
@@
int MWindow::init_ladspa_plugins(MWindow *mwindow, Preferences *preferences)
char *path = getenv("LADSPA_PATH");
char ladspa_path[BCTEXTLEN];
if( !path ) {
char *path = getenv("LADSPA_PATH");
char ladspa_path[BCTEXTLEN];
if( !path ) {
- get_exe_path(ladspa_path);
- strcat(ladspa_path, "/ladspa");
+ strncpy(ladspa_path, File::get_ladspa_path(), sizeof(ladspa_path));
path = ladspa_path;
}
for( int len=0; *path; path+=len ) {
path = ladspa_path;
}
for( int len=0; *path; path+=len ) {
@@
-903,6
+901,11
@@
void MWindow::show_warning(int *do_warning, const char *text)
wwindow->show_warning(do_warning, text);
}
wwindow->show_warning(do_warning, text);
}
+int MWindow::wait_warning()
+{
+ return wwindow->wait_result();
+}
+
void MWindow::init_theme()
{
Timer timer;
void MWindow::init_theme()
{
Timer timer;
@@
-2434,7
+2437,7
@@
void MWindow::hide_plugin(Plugin *plugin, int lock)
ptr->hide_gui();
delete_plugin(ptr);
//sleep(1);
ptr->hide_gui();
delete_plugin(ptr);
//sleep(1);
-
//
return;
+
return;
}
}
if(lock) plugin_gui_lock->unlock();
}
}
if(lock) plugin_gui_lock->unlock();
@@
-2876,17
+2879,18
@@
void MWindow::save_backup()
FileXML file;
edl->optimize();
edl->set_path(session->filename);
FileXML file;
edl->optimize();
edl->set_path(session->filename);
- edl->save_xml(&file, BACKUP_PATH, 0, 0);
+ char backup_path[BCTEXTLEN];
+ snprintf(backup_path, sizeof(backup_path), "%s/%s",
+ File::get_config_path(), BACKUP_FILE);
+ edl->save_xml(&file, backup_path, 0, 0);
file.terminate_string();
file.terminate_string();
- char path[BCTEXTLEN];
FileSystem fs;
FileSystem fs;
- strcpy(path, BACKUP_PATH);
- fs.complete_path(path);
+ fs.complete_path(backup_path);
- if(file.write_to_file(path))
+ if(file.write_to_file(
backup_
path))
{
char string2[256];
{
char string2[256];
- sprintf(string2, _("Couldn't open %s for writing."),
BACKUP_PATH
);
+ sprintf(string2, _("Couldn't open %s for writing."),
backup_path
);
gui->show_message(string2);
}
}
gui->show_message(string2);
}
}
@@
-2896,13
+2900,14
@@
void MWindow::load_backup()
ArrayList<char*> path_list;
path_list.set_array_delete();
char *out_path;
ArrayList<char*> path_list;
path_list.set_array_delete();
char *out_path;
- char string[BCTEXTLEN];
- strcpy(string, BACKUP_PATH);
+ char backup_path[BCTEXTLEN];
+ snprintf(backup_path, sizeof(backup_path), "%s/%s",
+ File::get_config_path(), BACKUP_FILE);
FileSystem fs;
FileSystem fs;
- fs.complete_path(
string
);
+ fs.complete_path(
backup_path
);
- path_list.append(out_path = new char[strlen(
string
) + 1]);
- strcpy(out_path,
string
);
+ path_list.append(out_path = new char[strlen(
backup_path
) + 1]);
+ strcpy(out_path,
backup_path
);
load_filenames(&path_list, LOADMODE_REPLACE, 0);
edl->local_session->clip_title[0] = 0;
load_filenames(&path_list, LOADMODE_REPLACE, 0);
edl->local_session->clip_title[0] = 0;