projects
/
goodguy
/
history.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixup a bunch of memory use issues
[goodguy/history.git]
/
cinelerra-5.0
/
guicast
/
bcsynchronous.C
diff --git
a/cinelerra-5.0/guicast/bcsynchronous.C
b/cinelerra-5.0/guicast/bcsynchronous.C
index 671ec0df036733fa9f1b5c1815bb893acca4d438..4459fa363051686b076228c832d08b51f4f67776 100644
(file)
--- a/
cinelerra-5.0/guicast/bcsynchronous.C
+++ b/
cinelerra-5.0/guicast/bcsynchronous.C
@@
-165,6
+165,7
@@
void BC_Synchronous::quit()
command_lock->unlock();
next_command->unlock();
command->command_done->lock("BC_Synchronous::quit");
command_lock->unlock();
next_command->unlock();
command->command_done->lock("BC_Synchronous::quit");
+ delete command;
}
long BC_Synchronous::send_command(BC_SynchronousCommand *command)
}
long BC_Synchronous::send_command(BC_SynchronousCommand *command)
@@
-212,7
+213,8
@@
void BC_Synchronous::handle_command_base(BC_SynchronousCommand *command)
switch(command->command) {
case BC_SynchronousCommand::QUIT:
done = 1;
switch(command->command) {
case BC_SynchronousCommand::QUIT:
done = 1;
- break;
+ command->command_done->unlock();
+ return;
case BC_SynchronousCommand::DELETE_WINDOW:
delete_window_sync(command);
case BC_SynchronousCommand::DELETE_WINDOW:
delete_window_sync(command);
@@
-228,10
+230,10
@@
void BC_Synchronous::handle_command_base(BC_SynchronousCommand *command)
default:
handle_command(command);
default:
handle_command(command);
- break;
+ command->command_done->unlock();
+ return;
}
}
-
- command->command_done->unlock();
+ delete command;
}
void BC_Synchronous::handle_command(BC_SynchronousCommand *command)
}
void BC_Synchronous::handle_command(BC_SynchronousCommand *command)
@@
-374,7
+376,6
@@
void BC_Synchronous::delete_window(BC_WindowBase *window)
command->glx_context = window->glx_win_context;
send_garbage(command);
command->glx_context = window->glx_win_context;
send_garbage(command);
- command->command_done->lock("BC_Synchronous::delete_window");
#endif
}
#endif
}