summaryrefslogtreecommitdiff
path: root/beos/beos_scaffolding.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'beos/beos_scaffolding.cpp')
-rw-r--r--beos/beos_scaffolding.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/beos/beos_scaffolding.cpp b/beos/beos_scaffolding.cpp
index 24c5d27de..1362b1115 100644
--- a/beos/beos_scaffolding.cpp
+++ b/beos/beos_scaffolding.cpp
@@ -1612,7 +1612,13 @@ nsbeos_scaffolding *nsbeos_new_scaffolding(struct gui_window *toplevel)
g->window = NULL;
- if (!replicated) {
+ if (replicated && !replicant_view) {
+ warn_user("Error: No subwindow allowed when replicated.", NULL);
+ return NULL;
+ }
+
+
+ if (!replicant_view) {
BRect frame(0, 0, 600-1, 500-1);
if (option_window_width > 0) {
@@ -1940,7 +1946,6 @@ nsbeos_scaffolding *nsbeos_new_scaffolding(struct gui_window *toplevel)
} else { // replicant_view
// the base view has already been created with the archive constructor
g->top_view = replicant_view;
- replicant_view = NULL;
}
g->top_view->SetScaffolding(g);
@@ -2053,7 +2058,10 @@ nsbeos_scaffolding *nsbeos_new_scaffolding(struct gui_window *toplevel)
// will be added to the scrollview when adding the top view.
// notify the thread creating the replicant that we're done
- release_sem(replicant_done_sem);
+ if (replicant_view)
+ release_sem(replicant_done_sem);
+
+ replicant_view = NULL;
#warning XXX
#if 0 /* GTK */