diff --git a/src/bw.cc b/src/bw.cc index d133716..c2bb517 100644 --- a/src/bw.cc +++ b/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; } } diff --git a/src/bw.hh b/src/bw.hh index d482877..7225d3a 100644 --- a/src/bw.hh +++ b/src/bw.hh @@ -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); diff --git a/src/uicmd.cc b/src/uicmd.cc index 5dfe5ea..125e508 100644 --- a/src/uicmd.cc +++ b/src/uicmd.cc @@ -705,7 +705,7 @@ void a_UIcmd_close_bw(void *vbw) delete tabs->window(); } } - a_Bw_free(bw); + delete bw; } /*