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

View File

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

View File

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