--- base/guicast/bclistboxitem.C	2003-03-05 13:03:02.000000000 +0100
+++ hvirtual-1.1.5/guicast/bclistboxitem.C	2003-04-12 15:50:53.000000000 +0200
@@ -36,7 +36,7 @@
 
 BC_ListBoxItem::~BC_ListBoxItem()
 {
-	if(text) delete text;
+	if(text) delete [] text;
 	if(sublist)
 	{
 		for(int i = 0; i < columns; i++)
@@ -139,7 +139,7 @@
 
 void BC_ListBoxItem::set_text(char *new_text)
 {
-	if(this->text) delete this->text;
+	if(this->text) delete [] this->text;
 	this->text = 0;
 
 	if(new_text)
--- base/guicast/bcbitmap.C	2002-08-02 20:03:16.000000000 +0200
+++ hvirtual-1.1.5/guicast/bcbitmap.C	2003-04-12 15:51:14.000000000 +0200
@@ -317,7 +317,7 @@
 					for(int i = 0; i < ring_buffers; i++)
 					{
 						XDestroyImage(ximage[i]);
-						delete row_data[i];
+						delete [] row_data[i];
 					}
 					XShmDetach(top_level->display, &shm_info);
 
@@ -329,7 +329,7 @@
 		else
 		{
 			XDestroyImage(ximage[0]);
-			delete row_data[0];
+			delete [] row_data[0];
 		}
 
 // data is automatically freed by XDestroyImage
--- base/guicast/bcrepeater.C	2002-07-31 18:39:54.000000000 +0200
+++ hvirtual-1.1.5/guicast/bcrepeater.C	2003-04-22 22:53:53.000000000 +0200
@@ -13,7 +13,6 @@
 	pause_lock.lock();
 	startup_lock.lock();
 	start();
-	startup_lock.lock();
 	startup_lock.unlock();
 }
 
@@ -54,7 +53,6 @@
 {
 	next_delay = delay;
 	Thread::disable_cancel();
-	startup_lock.unlock();
 
 	while(!interrupted)
 	{
--- base/cinelerra/filexml.C	2002-06-21 16:35:24.000000000 +0200
+++ hvirtual-1.1.5/cinelerra/filexml.C	2003-04-12 20:27:34.000000000 +0200
@@ -29,8 +29,8 @@
 
 FileXML::~FileXML()
 {
-	if(!share_string) delete string;
-	if(output_length) delete output;
+	if(!share_string) delete [] string;
+	if(output_length) delete [] output;
 }
 
 void FileXML::dump()
@@ -94,7 +94,7 @@
 		char *new_string = new char[new_available];
 		for(int i = 0; i < position; i++) new_string[i] = string[i];
 		available = new_available;
-		delete string;
+		delete [] string;
 		string = new_string;
 	}
 	return 0;
@@ -276,7 +276,7 @@
 	strcpy(this->filename, "");
 	if(!share_string)
 	{
-		delete string;
+		delete [] string;
 		share_string = 1;
 		string = shared_string;
 		this->available = available;
@@ -312,8 +312,8 @@
 int XMLTag::reset_tag()     // clear all structures
 {
 	len = 0;
-	for(int i = 0; i < total_properties; i++) delete tag_properties[i];
-	for(int i = 0; i < total_properties; i++) delete tag_property_values[i];
+	for(int i = 0; i < total_properties; i++) delete [] tag_properties[i];
+	for(int i = 0; i < total_properties; i++) delete [] tag_property_values[i];
 	total_properties = 0;
 	return 0;
 }
--- base/cinelerra/transportque.C	2002-07-08 06:04:46.000000000 +0200
+++ hvirtual-1.1.5/cinelerra/transportque.C	2003-04-22 23:01:52.000000000 +0200
@@ -11,8 +11,8 @@
 // in the middle of a job.
 	edl = new EDL;
 	edl->create_objects();
-	reset();
 	command = 0;
+	reset();
 	change_type = 0;
 }
 
--- base/cinelerra/pluginserver.C	2002-11-16 16:48:52.000000000 +0100
+++ hvirtual-1.1.5/cinelerra/pluginserver.C	2003-04-12 20:00:30.000000000 +0200
@@ -90,9 +90,9 @@
 //printf("PluginServer::~PluginServer 1\n");
 	close_plugin();
 //printf("PluginServer::~PluginServer 1\n");
-	if(path) delete path;
+	if(path) delete [] path;
 //printf("PluginServer::~PluginServer 1\n");
-	if(title) delete title;
+	if(title) delete [] title;
 //printf("PluginServer::~PluginServer 1\n");
 	if(modules) delete modules;
 //printf("PluginServer::~PluginServer 1\n");
@@ -167,14 +167,14 @@
 
 int PluginServer::set_path(char *path)
 {
-	if(this->path) delete this->path;
+	if(this->path) delete [] this->path;
 	this->path = new char[strlen(path) + 1];
 	strcpy(this->path, path);
 }
 
 void PluginServer::set_title(char *string)
 {
-	if(title) delete title;
+	if(title) delete [] title;
 	title = new char[strlen(string) + 1];
 	strcpy(title, string);
 }
--- base/guicast/defaults.C	2002-06-21 16:35:25.000000000 +0200
+++ hvirtual-1.1.5/guicast/defaults.C	2003-04-12 15:37:21.000000000 +0200
@@ -23,8 +23,8 @@
 {
 	for(int i = 0; i < total; i++)
 	{
-		delete names[i];
-		delete values[i];
+		delete [] names[i];
+		delete [] values[i];
 	}
 }
 
@@ -180,7 +180,7 @@
 	{
 		if(!strcmp(names[i], name))
 		{
-			delete values[i];
+			delete [] values[i];
 			values[i] = new char[strlen(value) + 1];
 			strcpy(values[i], value);
 			return 0;
--- base/guicast/filesystem.C	2002-10-16 17:22:29.000000000 +0200
+++ hvirtual-1.1.5/guicast/filesystem.C	2003-04-12 15:32:31.000000000 +0200
@@ -44,8 +44,8 @@
 
 int FileItem::reset()
 {
-	if(this->path) delete this->path;
-	if(this->name) delete this->name;
+	if(this->path) delete [] this->path;
+	if(this->name) delete [] this->name;
 	path = 0;
 	name = 0;
 	is_dir = 0;
@@ -58,7 +58,7 @@
 
 int FileItem::set_path(char *path)
 {
-	if(this->path) delete this->path;
+	if(this->path) delete [] this->path;
 	this->path = new char[strlen(path) + 1];
 	strcpy(this->path, path);
 	return 0;
@@ -66,7 +66,7 @@
 
 int FileItem::set_name(char *name)
 {
-	if(this->name) delete this->name;
+	if(this->name) delete [] this->name;
 	this->name = new char[strlen(name) + 1];
 	strcpy(this->name, name);
 	return 0;
--- base/guicast/stringfile.C	2002-06-21 16:35:25.000000000 +0200
+++ hvirtual-1.1.5/guicast/stringfile.C	2003-04-12 15:29:03.000000000 +0200
@@ -47,7 +47,7 @@
 
 StringFile::~StringFile()
 {
-	delete string;
+	delete [] string;
 }
 
 int StringFile::write_to_file(char *filename)
@@ -202,7 +202,7 @@
 	{
 		char *newstring = new char[available * 2];
 		strcpy(newstring, string);
-		delete string;
+		delete [] string;
 		available *= 2;
 		length *= 2;
 		string = newstring;
