diff options
| author | Dana Jansens <danakj@orodu.net> | 2002-04-19 21:05:49 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2002-04-19 21:05:49 +0000 |
| commit | 8f8eba7b962023a7cd702f503c1d9e4645d984fb (patch) | |
| tree | c6fc1d139bc0ac6343ab4e93853d0f816ac60b83 /src/Screen.cc | |
| parent | e75d3560a621976eee5413d3583c14c294fbeab6 (diff) | |
fixed memory leak in screen::load()
Diffstat (limited to 'src/Screen.cc')
| -rw-r--r-- | src/Screen.cc | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/Screen.cc b/src/Screen.cc index 44515671..8ad57376 100644 --- a/src/Screen.cc +++ b/src/Screen.cc @@ -1192,8 +1192,11 @@ void BScreen::load() { rname.seekp(0); rclass.seekp(0); rname << rscreen.str() << "strftimeFormat" << ends; rclass << rscreen.str() << "StrftimeFormat" << ends; - if (config.getValue(rname.str(), rclass.str(), s)) + if (config.getValue(rname.str(), rclass.str(), s)) { + if (resource.strftime_format != NULL) + delete [] resource.strftime_format; resource.strftime_format = bstrdup(s.c_str()); + } #else // !HAVE_STRFTIME rname.seekp(0); rclass.seekp(0); rname << rscreen.str() << "dateFormat" << ends; @@ -1230,8 +1233,11 @@ void BScreen::load() { rname.seekp(0); rclass.seekp(0); rname << rscreen.str() << "rootCommand" << ends; rclass << rscreen.str() << "RootCommand" << ends; - if (config.getValue(rname.str(), rclass.str(), s)) + if (config.getValue(rname.str(), rclass.str(), s)) { + if (resource.root_command != NULL) + delete [] resource.root_command; resource.root_command = bstrdup(s.c_str()); + } rname.seekp(0); rclass.seekp(0); rname << rscreen.str() << "opaqueMove" << ends; |
