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