Time: Fix memory leak.

BListView::RemoveItem() doesn't delete the item, it just removes it
from the list. We have to delete the item to free the memory it
consumes ourselves.
This commit is contained in:
John Scipione
2014-03-26 17:34:48 -04:00
parent 14d7522197
commit aa8033905a
+6 -3
View File
@@ -21,6 +21,7 @@
#include <ControlLook.h>
#include <File.h>
#include <FindDirectory.h>
#include <ListItem.h>
#include <ListView.h>
#include <Path.h>
#include <ScrollView.h>
@@ -494,12 +495,14 @@ NetworkTimeView::_InitView()
void
NetworkTimeView::_UpdateServerList()
{
while (fServerListView->RemoveItem((int32)0) != NULL)
;
BListItem* item;
while ((item = fServerListView->RemoveItem((int32)0)) != NULL)
delete item;
fServerListView->MakeEmpty();
const char* server;
int32 index = 0;
while ((server = fSettings.GetServer(index++)) != NULL)
fServerListView->AddItem(new BStringItem(server));