diff -u base/guicast/bcmenubar.C hvirtual-1.1.5/guicast/bcmenubar.C
--- base/guicast/bcmenubar.C	2003-05-01 15:11:31.000000000 +0200
+++ hvirtual-1.1.5/guicast/bcmenubar.C	2003-05-09 12:18:32.000000000 +0200
@@ -21,8 +21,7 @@
 BC_MenuBar::~BC_MenuBar()
 {
 // Delete all titles.
-	for(int i = 0; i < menu_titles.total; i++) delete menu_titles.values[i];
-	menu_titles.remove_all();
+	menu_titles.remove_all_objects();
 }
 
 int BC_MenuBar::initialize()
diff -u base/cinelerra/mainindexes.C hvirtual-1.1.5/cinelerra/mainindexes.C
--- base/cinelerra/mainindexes.C	2003-05-04 02:51:48.000000000 +0200
+++ hvirtual-1.1.5/cinelerra/mainindexes.C	2003-05-08 14:54:36.000000000 +0200
@@ -24,6 +24,12 @@
 
 MainIndexes::~MainIndexes()
 {
+	if (running()) 
+	{
+		done = 1;
+		input_lock.unlock();
+		Thread::join();
+	}
 	delete indexfile;
 }
 
diff -u base/cinelerra/mwindow.C hvirtual-1.1.5/cinelerra/mwindow.C
--- base/cinelerra/mwindow.C	2003-05-02 19:16:23.000000000 +0200
+++ hvirtual-1.1.5/cinelerra/mwindow.C	2003-05-09 12:00:24.000000000 +0200
@@ -126,6 +126,9 @@
 
 //printf("MWindow::~MWindow 2\n");
 	clean_indexes();
+//printf("MWindow::~MWindow 2\n");
+	delete mainindexes;
+
 //printf("MWindow::~MWindow 1\n");
 	delete mainprogress;
 //printf("MWindow::~MWindow 1\n");
@@ -153,6 +156,7 @@
 	delete lwindow;
 //printf("MWindow::~MWindow 1\n");
 	delete theme;
+	delete edl;
 	delete_plugins();
 	plugin_guis->remove_all_objects();
 	colormodels.remove_all_objects();
@@ -603,6 +607,7 @@
 	mainindexes->start_loop();
 }
 
+
 void MWindow::init_gui()
 {
 	gui = new MWindowGUI(this);
@@ -731,6 +736,7 @@
 				{
 					asset_to_edl(new_edl, new_asset);
 //printf("load_filenames 1.2\n");
+					delete(new_asset);
 					new_edls.append(new_edl);
 				}
 				else
@@ -830,6 +836,7 @@
 						asset_to_edl(new_edl, new_asset);
 //printf("MWindow::load_filenames 1 %d %d\n", new_asset->video_length, new_asset->audio_length);
 //new_edl->dump();
+						delete(new_asset);
 						new_edls.append(new_edl);
 					}
 					else
diff -u base/cinelerra/mwindowgui.C hvirtual-1.1.5/cinelerra/mwindowgui.C
--- base/cinelerra/mwindowgui.C	2003-05-01 15:10:51.000000000 +0200
+++ hvirtual-1.1.5/cinelerra/mwindowgui.C	2003-05-09 00:08:25.000000000 +0200
@@ -64,9 +64,15 @@
 	delete timebar;
 	delete mainclock;
 	delete plugin_menu;
+	delete edit_menu;
 	delete transition_menu;
+	delete mainmenu;
+	delete canvas;
+
 }
 
+
+
 void MWindowGUI::get_scrollbars()
 {
 //printf("MWindowGUI::get_scrollbars 1\n");
diff -u base/cinelerra/patchbay.C hvirtual-1.1.5/cinelerra/patchbay.C
--- base/cinelerra/patchbay.C	2003-05-09 12:21:47.000000000 +0200
+++ hvirtual-1.1.5/cinelerra/patchbay.C	2003-05-09 11:25:33.000000000 +0200
@@ -40,6 +40,7 @@
 
 PatchBay::~PatchBay() 
 {
+	delete_all_patches();
 }
 
 int PatchBay::create_objects()
