From 8a1ef33e88d2683f8566f4db8edbc3dc2f488307 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 3 Jun 2013 04:06:54 +0000 Subject: [PATCH] fix [#35468] screen list shows temp layout --- source/blender/makesrna/intern/rna_wm.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/source/blender/makesrna/intern/rna_wm.c b/source/blender/makesrna/intern/rna_wm.c index 1bd1e48e768..6bf3beec57b 100644 --- a/source/blender/makesrna/intern/rna_wm.c +++ b/source/blender/makesrna/intern/rna_wm.c @@ -585,6 +585,14 @@ static void rna_Window_screen_set(PointerRNA *ptr, PointerRNA value) win->newscreen = value.data; } +int rna_Window_screen_assign_poll(PointerRNA *ptr, PointerRNA value) +{ + bScreen *screen = (bScreen *)value.id.data; + + return !screen->temp; +} + + static void rna_Window_screen_update(bContext *C, PointerRNA *ptr) { wmWindow *win = (wmWindow *)ptr->data; @@ -1706,7 +1714,7 @@ static void rna_def_window(BlenderRNA *brna) RNA_def_property_struct_type(prop, "Screen"); RNA_def_property_ui_text(prop, "Screen", "Active screen showing in the window"); RNA_def_property_flag(prop, PROP_EDITABLE); - RNA_def_property_pointer_funcs(prop, NULL, "rna_Window_screen_set", NULL, NULL); + RNA_def_property_pointer_funcs(prop, NULL, "rna_Window_screen_set", NULL, "rna_Window_screen_assign_poll"); RNA_def_property_flag(prop, PROP_CONTEXT_UPDATE); RNA_def_property_update(prop, 0, "rna_Window_screen_update");