diff --git a/src/apps/webpositive/LauncherWindow.cpp b/src/apps/webpositive/LauncherWindow.cpp index b721e8d313..5fc38abc75 100644 --- a/src/apps/webpositive/LauncherWindow.cpp +++ b/src/apps/webpositive/LauncherWindow.cpp @@ -94,6 +94,7 @@ LauncherWindow::LauncherWindow(BRect frame, const BMessenger& downloadListener, : WebViewWindow(frame, "HaikuLauncher", B_TITLED_WINDOW_LOOK, B_NORMAL_WINDOW_FEEL, B_AUTO_UPDATE_SIZE_LIMITS | B_ASYNCHRONOUS_CONTROLS) + , m_downloadListener(downloadListener) { m_tabView = new WebTabView("tabview", BMessenger(this)); m_tabView->setTarget(BMessenger(this)); @@ -228,7 +229,6 @@ LauncherWindow::LauncherWindow(BRect frame, const BMessenger& downloadListener, } newTab("", true); - currentWebView()->WebPage()->SetDownloadListener(downloadListener); m_findGroup->SetVisible(false); @@ -410,6 +410,8 @@ void LauncherWindow::newTab(const BString& url, bool select) { // Executed in app thread (new BWebPage needs to be created in app thread). BWebView* webView = new BWebView("web_view"); + webView->WebPage()->SetDownloadListener(m_downloadListener); + m_tabView->AddTab(webView); m_tabView->TabAt(m_tabView->CountTabs() - 1)->SetLabel("New tab"); // TODO: Remove when BTabView is fixed... diff --git a/src/apps/webpositive/LauncherWindow.h b/src/apps/webpositive/LauncherWindow.h index f1879290fa..d0f8fe0a2c 100644 --- a/src/apps/webpositive/LauncherWindow.h +++ b/src/apps/webpositive/LauncherWindow.h @@ -31,6 +31,7 @@ #define LauncherWindow_h #include "WebViewWindow.h" +#include #include class BButton; @@ -92,6 +93,7 @@ private: void updateTitle(const BString &title); private: + BMessenger m_downloadListener; BMenuBar* m_menuBar; BMenu* m_goMenu; IconButton* m_BackButton;