Moved BrowserWindow to new/delete.

This commit is contained in:
2025-04-15 15:59:28 -04:00
parent 5a9bd87b0a
commit 5c79999603
3 changed files with 17 additions and 21 deletions

View File

@ -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;
}
}

View File

@ -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);

View File

@ -705,7 +705,7 @@ void a_UIcmd_close_bw(void *vbw)
delete tabs->window();
}
}
a_Bw_free(bw);
delete bw;
}
/*