Moved BrowserWindow to new/delete.
This commit is contained in:
34
src/bw.cc
34
src/bw.cc
@ -21,8 +21,6 @@
|
||||
#include "capi.hh"
|
||||
#include "uicmd.hh"
|
||||
|
||||
BrowserWindow::~BrowserWindow()= default;
|
||||
|
||||
/*
|
||||
* Local Data
|
||||
*/
|
||||
@ -30,7 +28,6 @@ BrowserWindow::~BrowserWindow()= default;
|
||||
static BrowserWindow **bws;
|
||||
static int num_bws, num_bws_max;
|
||||
|
||||
|
||||
/**
|
||||
* Initialize global data
|
||||
*/
|
||||
@ -50,7 +47,7 @@ BrowserWindow *a_Bw_new(void)
|
||||
BrowserWindow *bw;
|
||||
|
||||
/* We use dNew0() to zero the memory */
|
||||
bw = dNew0(BrowserWindow, 1);
|
||||
bw = new BrowserWindow{};
|
||||
a_List_add(bws, num_bws, num_bws_max, BrowserWindow *);
|
||||
bws[num_bws++] = bw;
|
||||
|
||||
@ -87,31 +84,30 @@ BrowserWindow *a_Bw_new(void)
|
||||
/**
|
||||
* Free resources associated to a bw.
|
||||
*/
|
||||
void a_Bw_free(BrowserWindow *bw)
|
||||
BrowserWindow::~BrowserWindow()
|
||||
{
|
||||
int i, j;
|
||||
|
||||
for (i = 0; i < num_bws; i++) {
|
||||
if (bws[i] == bw) {
|
||||
if (bws[i] == this) {
|
||||
a_List_remove(bws, i, num_bws);
|
||||
|
||||
dList_free(bw->RootClients);
|
||||
dList_free(bw->ImageClients);
|
||||
dList_free(bw->Docs);
|
||||
dList_free(this->RootClients);
|
||||
dList_free(this->ImageClients);
|
||||
dList_free(this->Docs);
|
||||
|
||||
delete bw->nav_expect_url;
|
||||
for (j = 0; j < dList_length(bw->PageUrls); ++j)
|
||||
delete reinterpret_cast< DilloUrl * >( dList_nth_data(bw->PageUrls, j) );
|
||||
dList_free(bw->PageUrls);
|
||||
delete this->nav_expect_url;
|
||||
for (j = 0; j < dList_length(this->PageUrls); ++j)
|
||||
delete reinterpret_cast< DilloUrl * >( dList_nth_data(this->PageUrls, j) );
|
||||
dList_free(this->PageUrls);
|
||||
|
||||
for (j = 0; j < dList_length(bw->nav_stack); ++j)
|
||||
dFree(dList_nth_data(bw->nav_stack, j));
|
||||
dList_free(bw->nav_stack);
|
||||
for (j = 0; j < dList_length(this->nav_stack); ++j)
|
||||
dFree(dList_nth_data(this->nav_stack, j));
|
||||
dList_free(this->nav_stack);
|
||||
|
||||
delete bw->meta_refresh_url;
|
||||
delete this->meta_refresh_url;
|
||||
|
||||
dStr_free(bw->page_bugs, 1);
|
||||
dFree(bw);
|
||||
dStr_free(this->page_bugs, 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -86,7 +86,7 @@ extern "C" {
|
||||
|
||||
void a_Bw_init(void);
|
||||
BrowserWindow *a_Bw_new(void);
|
||||
void a_Bw_free(BrowserWindow *bw);
|
||||
//void a_Bw_free(BrowserWindow *bw);
|
||||
BrowserWindow *a_Bw_get(int i);
|
||||
int a_Bw_num(void);
|
||||
|
||||
|
@ -705,7 +705,7 @@ void a_UIcmd_close_bw(void *vbw)
|
||||
delete tabs->window();
|
||||
}
|
||||
}
|
||||
a_Bw_free(bw);
|
||||
delete bw;
|
||||
}
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user