Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Eisel <eiseljulian@gmail.com>2017-03-29 13:23:15 +0300
committerJulian Eisel <eiseljulian@gmail.com>2017-03-29 13:27:10 +0300
commit38d0ea4f69439ac78af3f6ad0245251e048e18b5 (patch)
treedd1351e0d13b30ac45f14b5c5aa8f44322684bfe /source/blender/windowmanager/intern
parent870440dee910c908e213e5e2638ed2e0d0f010ae (diff)
Alternative fix for crash displaying 'New Window' keymap item
rB870440dee910c9 just did NULL-check for Main pointer, actual issue is that bContext pointer was NULL. This can be fixed by ensuring PROP_ENUM_NO_CONTEXT flag is not set by calling WM_operator_properties_sanitize when creating RNA buttons. Now, layout previews are visible in keymap editor too.
Diffstat (limited to 'source/blender/windowmanager/intern')
-rw-r--r--source/blender/windowmanager/intern/wm_window.c32
1 files changed, 15 insertions, 17 deletions
diff --git a/source/blender/windowmanager/intern/wm_window.c b/source/blender/windowmanager/intern/wm_window.c
index 69da8fd591b..151c21d3cdd 100644
--- a/source/blender/windowmanager/intern/wm_window.c
+++ b/source/blender/windowmanager/intern/wm_window.c
@@ -817,25 +817,23 @@ struct EnumPropertyItem *wm_window_new_screen_itemf(
* for dynamic strings in EnumPropertyItem.name to avoid this. */
static char active_screens[20][MAX_NAME + 12];
- if (bmain) {
- for (bScreen *screen = bmain->screen.first; screen; screen = screen->id.next) {
- if (screen->winid) {
- BLI_snprintf(active_screens[count_act_screens], sizeof(*active_screens), "%s (Duplicate)",
- screen->id.name + 2);
- tmp.name = active_screens[count_act_screens++];
- }
- else {
- tmp.name = screen->id.name + 2;
- }
+ for (bScreen *screen = bmain->screen.first; screen; screen = screen->id.next) {
+ if (screen->winid) {
+ BLI_snprintf(active_screens[count_act_screens], sizeof(*active_screens), "%s (Duplicate)",
+ screen->id.name + 2);
+ tmp.name = active_screens[count_act_screens++];
+ }
+ else {
+ tmp.name = screen->id.name + 2;
+ }
- tmp.value = value;
- tmp.identifier = screen->id.name;
- UI_id_icon_render(C, CTX_data_scene(C), &screen->id, true, false);
- tmp.icon = BKE_icon_id_ensure(&screen->id);
+ tmp.value = value;
+ tmp.identifier = screen->id.name;
+ UI_id_icon_render(C, CTX_data_scene(C), &screen->id, true, false);
+ tmp.icon = BKE_icon_id_ensure(&screen->id);
- RNA_enum_item_add(&item, &totitem, &tmp);
- value++;
- }
+ RNA_enum_item_add(&item, &totitem, &tmp);
+ value++;
}
RNA_enum_item_end(&item, &totitem);