diff options
author | François Revel <mmu_man@netsurf-browser.org> | 2010-12-12 00:26:36 +0000 |
---|---|---|
committer | François Revel <mmu_man@netsurf-browser.org> | 2010-12-12 00:26:36 +0000 |
commit | 84ca0e364bc80b63d6e74f7c7fde23846cb7a772 (patch) | |
tree | 761cf3baac0b5398256c17e93f7ea15863b6d7e8 /beos | |
parent | afc6a62b7a3afca860757afeee50acfe79a31c54 (diff) | |
download | netsurf-84ca0e364bc80b63d6e74f7c7fde23846cb7a772.tar.gz netsurf-84ca0e364bc80b63d6e74f7c7fde23846cb7a772.tar.bz2 |
Fix Replicant instanciation, though it doesn't get the url correctly yet, and leaves stuff behind when removed (like the main thread).
svn path=/trunk/netsurf/; revision=11028
Diffstat (limited to 'beos')
-rw-r--r-- | beos/beos_scaffolding.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/beos/beos_scaffolding.cpp b/beos/beos_scaffolding.cpp index 3fb147f1f..f35caee93 100644 --- a/beos/beos_scaffolding.cpp +++ b/beos/beos_scaffolding.cpp @@ -161,6 +161,9 @@ static void nsbeos_window_update_back_forward(struct beos_scaffolding *); static void nsbeos_throb(void *); static int32 nsbeos_replicant_main_thread(void *_arg); +// in beos_gui.cpp +extern int main(int argc, char** argv); + #warning XXX #if 0 /* GTK */ static gboolean nsbeos_window_url_activate_event(beosWidget *, gpointer); @@ -339,6 +342,7 @@ NSBaseView::NSBaseView(BMessage *archive) NSBaseView::~NSBaseView() { + warn_user ("~NSBaseView()", NULL); } @@ -500,7 +504,7 @@ NSBaseView::Instantiate(BMessage *archive) //TODO:FIXME: fix replicants // netsurf_init() needs different args now... //netsurf_init(2, info->args); - return NULL; + //return NULL; replicant_done_sem = create_sem(0, "NS Replicant created"); thread_id nsMainThread = spawn_thread(nsbeos_replicant_main_thread, @@ -512,7 +516,7 @@ NSBaseView::Instantiate(BMessage *archive) return NULL; } resume_thread(nsMainThread); - //while (acquire_sem(replicant_done_sem) == EINTR); + while (acquire_sem(replicant_done_sem) == EINTR); delete_sem(replicant_done_sem); return view; @@ -603,10 +607,12 @@ NSBrowserWindow::QuitRequested(void) int32 nsbeos_replicant_main_thread(void *_arg) { struct replicant_thread_info *info = (struct replicant_thread_info *)_arg; - netsurf_main_loop(); - netsurf_exit(); + int32 ret; + ret = main(2, info->args); + //netsurf_main_loop(); + //netsurf_exit(); delete info; - return 0; + return ret; } @@ -1612,6 +1618,7 @@ nsbeos_scaffolding *nsbeos_new_scaffolding(struct gui_window *toplevel) g->menu_bar = NULL; g->window = NULL; +printf ("repli: %p\n", replicant_view); if (replicated && !replicant_view) { warn_user("Error: No subwindow allowed when replicated.", NULL); |