delete the openbox class, to shut things down properly!
This commit is contained in:
parent
478f240c7f
commit
f5904cdaaa
1 changed files with 9 additions and 4 deletions
13
src/main.cc
13
src/main.cc
|
@ -36,11 +36,14 @@ int main(int argc, char **argv) {
|
||||||
bind_textdomain_codeset(PACKAGE, "UTF-8");
|
bind_textdomain_codeset(PACKAGE, "UTF-8");
|
||||||
textdomain(PACKAGE);
|
textdomain(PACKAGE);
|
||||||
|
|
||||||
ob::Openbox openbox(argc, argv);
|
ob::Openbox *openbox = new ob::Openbox(argc, argv);
|
||||||
openbox.eventLoop();
|
openbox->eventLoop();
|
||||||
|
|
||||||
if (openbox.doRestart()) {
|
if (openbox->doRestart()) {
|
||||||
const std::string &prog = openbox.restartProgram();
|
std::string prog = openbox->restartProgram();
|
||||||
|
|
||||||
|
delete openbox; // shutdown the current one!
|
||||||
|
|
||||||
if (!prog.empty()) {
|
if (!prog.empty()) {
|
||||||
execl("/bin/sh", "/bin/sh", "-c", prog.c_str(), NULL);
|
execl("/bin/sh", "/bin/sh", "-c", prog.c_str(), NULL);
|
||||||
perror(prog.c_str());
|
perror(prog.c_str());
|
||||||
|
@ -50,4 +53,6 @@ int main(int argc, char **argv) {
|
||||||
execvp(argv[0], argv);
|
execvp(argv[0], argv);
|
||||||
execvp(otk::basename(argv[0]).c_str(), argv);
|
execvp(otk::basename(argv[0]).c_str(), argv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
delete openbox; // shutdown
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue