[Bf-blender-cvs] [0ee47856757] blender2.8: Cleanup: get rid of just-added G.main usage.

Bastien Montagne noreply at git.blender.org
Wed Jun 6 16:33:03 CEST 2018


Commit: 0ee478567570d4bb85b39d043b800a11694ffe5e
Author: Bastien Montagne
Date:   Wed Jun 6 16:32:09 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB0ee478567570d4bb85b39d043b800a11694ffe5e

Cleanup: get rid of just-added G.main usage.

Was just added to ease merging of master, proper code now!

===================================================================

M	source/blender/editors/include/ED_screen.h
M	source/blender/editors/screen/screen_edit.c
M	source/blender/editors/screen/screen_ops.c
M	source/blender/editors/screen/workspace_edit.c
M	source/blender/editors/screen/workspace_layout_edit.c
M	source/blender/windowmanager/intern/wm_files.c
M	source/blender/windowmanager/intern/wm_window.c

===================================================================

diff --git a/source/blender/editors/include/ED_screen.h b/source/blender/editors/include/ED_screen.h
index f10e1039cd4..cd1fb1f91d8 100644
--- a/source/blender/editors/include/ED_screen.h
+++ b/source/blender/editors/include/ED_screen.h
@@ -211,10 +211,12 @@ void ED_workspace_view_layer_unset(
         const struct Main *bmain, struct Scene *scene,
         const ViewLayer *layer_unset, ViewLayer *layer_new) ATTR_NONNULL(1, 2);
 struct WorkSpaceLayout *ED_workspace_layout_add(
+        struct Main *bmain,
         struct WorkSpace *workspace,
         struct wmWindow *win,
         const char *name) ATTR_NONNULL();
 struct WorkSpaceLayout *ED_workspace_layout_duplicate(
+        struct Main *bmain,
         struct WorkSpace *workspace, const struct WorkSpaceLayout *layout_old,
         struct wmWindow *win) ATTR_NONNULL();
 bool ED_workspace_layout_delete(
diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c
index 2aa48a15291..ec2cb641bcd 100644
--- a/source/blender/editors/screen/screen_edit.c
+++ b/source/blender/editors/screen/screen_edit.c
@@ -1399,6 +1399,7 @@ void ED_screen_full_restore(bContext *C, ScrArea *sa)
  */
 ScrArea *ED_screen_state_toggle(bContext *C, wmWindow *win, ScrArea *sa, const short state)
 {
+	Main *bmain = CTX_data_main(C);
 	wmWindowManager *wm = CTX_wm_manager(C);
 	WorkSpace *workspace = WM_window_get_active_workspace(win);
 	bScreen *sc, *oldscreen;
@@ -1489,7 +1490,7 @@ ScrArea *ED_screen_state_toggle(bContext *C, wmWindow *win, ScrArea *sa, const s
 		oldscreen->state = state;
 		BLI_snprintf(newname, sizeof(newname), "%s-%s", oldscreen->id.name + 2, "nonnormal");
 
-		layout_new = ED_workspace_layout_add(workspace, win, newname);
+		layout_new = ED_workspace_layout_add(bmain, workspace, win, newname);
 
 		sc = BKE_workspace_layout_screen_get(layout_new);
 		sc->state = state;
diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c
index e504a116384..f6bd238170d 100644
--- a/source/blender/editors/screen/screen_ops.c
+++ b/source/blender/editors/screen/screen_ops.c
@@ -1069,6 +1069,7 @@ static void SCREEN_OT_area_swap(wmOperatorType *ot)
 /* operator callback */
 static int area_dupli_invoke(bContext *C, wmOperator *op, const wmEvent *event)
 {
+	Main *bmain = CTX_data_main(C);
 	wmWindow *newwin, *win = CTX_wm_window(C);
 	Scene *scene;
 	WorkSpace *workspace = WM_window_get_active_workspace(win);
@@ -1110,7 +1111,7 @@ static int area_dupli_invoke(bContext *C, wmOperator *op, const wmEvent *event)
 
 	WM_window_set_active_workspace(newwin, workspace);
 	/* allocs new screen and adds to newly created window, using window size */
-	layout_new = ED_workspace_layout_add(workspace, newwin, BKE_workspace_layout_name_get(layout_old));
+	layout_new = ED_workspace_layout_add(bmain, workspace, newwin, BKE_workspace_layout_name_get(layout_old));
 	newsc = BKE_workspace_layout_screen_get(layout_new);
 	WM_window_set_active_layout(newwin, workspace, layout_new);
 
@@ -4301,12 +4302,13 @@ static void SCREEN_OT_drivers_editor_show(struct wmOperatorType *ot)
 
 static int screen_new_exec(bContext *C, wmOperator *UNUSED(op))
 {
+	Main *bmain = CTX_data_main(C);
 	wmWindow *win = CTX_wm_window(C);
 	WorkSpace *workspace = BKE_workspace_active_get(win->workspace_hook);
 	WorkSpaceLayout *layout_old = BKE_workspace_active_layout_get(win->workspace_hook);
 	WorkSpaceLayout *layout_new;
 
-	layout_new = ED_workspace_layout_duplicate(workspace, layout_old, win);
+	layout_new = ED_workspace_layout_duplicate(bmain, workspace, layout_old, win);
 	WM_event_add_notifier(C, NC_SCREEN | ND_LAYOUTBROWSE, layout_new);
 
 	return OPERATOR_FINISHED;
diff --git a/source/blender/editors/screen/workspace_edit.c b/source/blender/editors/screen/workspace_edit.c
index d54996bad59..a044a7d377a 100644
--- a/source/blender/editors/screen/workspace_edit.c
+++ b/source/blender/editors/screen/workspace_edit.c
@@ -131,7 +131,7 @@ static bool workspace_change_find_new_layout_cb(const WorkSpaceLayout *layout, v
 }
 
 static WorkSpaceLayout *workspace_change_get_new_layout(
-        WorkSpace *workspace_new, wmWindow *win)
+        Main *bmain, WorkSpace *workspace_new, wmWindow *win)
 {
 	/* ED_workspace_duplicate may have stored a layout to activate once the workspace gets activated. */
 	WorkSpaceLayout *layout_new;
@@ -155,7 +155,7 @@ static WorkSpaceLayout *workspace_change_get_new_layout(
 		                                   NULL, false);
 		if (!layout_temp) {
 			/* fallback solution: duplicate layout */
-			layout_temp = ED_workspace_layout_duplicate(workspace_new, layout_new, win);
+			layout_temp = ED_workspace_layout_duplicate(bmain, workspace_new, layout_new, win);
 		}
 		layout_new = layout_temp;
 	}
@@ -177,7 +177,7 @@ bool ED_workspace_change(
 {
 	Main *bmain = CTX_data_main(C);
 	WorkSpace *workspace_old = WM_window_get_active_workspace(win);
-	WorkSpaceLayout *layout_new = workspace_change_get_new_layout(workspace_new, win);
+	WorkSpaceLayout *layout_new = workspace_change_get_new_layout(bmain, workspace_new, win);
 	bScreen *screen_new = BKE_workspace_layout_screen_get(layout_new);
 	bScreen *screen_old = BKE_workspace_active_screen_get(win->workspace_hook);
 
@@ -228,7 +228,7 @@ WorkSpace *ED_workspace_duplicate(
 	/* TODO(campbell): tools */
 
 	for (WorkSpaceLayout *layout_old = layouts_old->first; layout_old; layout_old = layout_old->next) {
-		WorkSpaceLayout *layout_new = ED_workspace_layout_duplicate(workspace_new, layout_old, win);
+		WorkSpaceLayout *layout_new = ED_workspace_layout_duplicate(bmain, workspace_new, layout_old, win);
 
 		if (layout_active_old == layout_old) {
 			win->workspace_hook->temp_layout_store = layout_new;
diff --git a/source/blender/editors/screen/workspace_layout_edit.c b/source/blender/editors/screen/workspace_layout_edit.c
index 4cb88b7f9a0..0c7431cb2e7 100644
--- a/source/blender/editors/screen/workspace_layout_edit.c
+++ b/source/blender/editors/screen/workspace_layout_edit.c
@@ -46,6 +46,7 @@
  * Empty screen, with 1 dummy area without spacedata. Uses window size.
  */
 WorkSpaceLayout *ED_workspace_layout_add(
+        Main *bmain,
         WorkSpace *workspace,
         wmWindow *win,
         const char *name)
@@ -54,12 +55,13 @@ WorkSpaceLayout *ED_workspace_layout_add(
 	rcti screen_rect;
 
 	WM_window_screen_rect_calc(win, &screen_rect);
-	screen = screen_add(G.main, name, &screen_rect);
+	screen = screen_add(bmain, name, &screen_rect);
 
 	return BKE_workspace_layout_add(workspace, screen, name);
 }
 
 WorkSpaceLayout *ED_workspace_layout_duplicate(
+        Main *bmain,
         WorkSpace *workspace, const WorkSpaceLayout *layout_old,
         wmWindow *win)
 {
@@ -72,7 +74,7 @@ WorkSpaceLayout *ED_workspace_layout_duplicate(
 		return NULL; /* XXX handle this case! */
 	}
 
-	layout_new = ED_workspace_layout_add(workspace, win, name);
+	layout_new = ED_workspace_layout_add(bmain, workspace, win, name);
 	screen_new = BKE_workspace_layout_screen_get(layout_new);
 	screen_data_copy(screen_new, screen_old);
 
diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c
index 315a3d715ea..28c47a4ea8a 100644
--- a/source/blender/windowmanager/intern/wm_files.c
+++ b/source/blender/windowmanager/intern/wm_files.c
@@ -215,6 +215,7 @@ static void wm_window_match_keep_current_wm(
         const bool load_ui,
         ListBase *r_new_wm_list)
 {
+	Main *bmain = CTX_data_main(C);
 	wmWindowManager *wm = current_wm_list->first;
 	bScreen *screen = NULL;
 
@@ -236,7 +237,7 @@ static void wm_window_match_keep_current_wm(
 			}
 			else {
 				WorkSpaceLayout *layout_old = WM_window_get_active_layout(win);
-				WorkSpaceLayout *layout_new = ED_workspace_layout_duplicate(workspace, layout_old, win);
+				WorkSpaceLayout *layout_new = ED_workspace_layout_duplicate(bmain, workspace, layout_old, win);
 
 				WM_window_set_active_layout(win, workspace, layout_new);
 			}
diff --git a/source/blender/windowmanager/intern/wm_window.c b/source/blender/windowmanager/intern/wm_window.c
index afe24bb508c..676bcb1aa5c 100644
--- a/source/blender/windowmanager/intern/wm_window.c
+++ b/source/blender/windowmanager/intern/wm_window.c
@@ -288,6 +288,7 @@ static wmWindow *wm_window_new_test(bContext *C)
 /* part of wm_window.c api */
 wmWindow *wm_window_copy(bContext *C, wmWindow *win_src, const bool duplicate_layout)
 {
+	Main *bmain = CTX_data_main(C);
 	wmWindow *win_dst = wm_window_new(C);
 	WorkSpace *workspace = WM_window_get_active_workspace(win_src);
 	WorkSpaceLayout *layout_old = WM_window_get_active_layout(win_src);
@@ -301,7 +302,7 @@ wmWindow *wm_window_copy(bContext *C, wmWindow *win_src, const bool duplicate_la
 
 	win_dst->scene = scene;
 	WM_window_set_active_workspace(win_dst, workspace);
-	layout_new = duplicate_layout ? ED_workspace_layout_duplicate(workspace, layout_old, win_dst) : layout_old;
+	layout_new = duplicate_layout ? ED_workspace_layout_duplicate(bmain, workspace, layout_old, win_dst) : layout_old;
 	WM_window_set_active_layout(win_dst, workspace, layout_new);
 
 	*win_dst->stereo3d_format = *win_src->stereo3d_format;
@@ -906,7 +907,7 @@ wmWindow *WM_window_open_temp(bContext *C, int x, int y, int sizex, int sizey, i
 	if (screen == NULL) {
 		/* add new screen layout */
 		WorkSpace *workspace = WM_window_get_active_workspace(win);
-		WorkSpaceLayout *layout = ED_workspace_layout_add(workspace, win, "temp");
+		WorkSpaceLayout *layout = ED_workspace_layout_add(bmain, workspace, win, "temp");
 
 		screen = BKE_workspace_layout_screen_get(layout);
 		WM_window_set_active_layout(win, workspace, layout);
@@ -1031,6 +1032,7 @@ static WorkSpaceLayout *wm_window_new_find_layout(wmOperator *op, WorkSpace *wor
 /* new window operator callback */
 int wm_window_new_exec(bContext *C, wmOperator *op)
 {
+	Main *bmain = CTX_data_main(C);
 	wmWindow *win_src = CTX_wm_window(C);
 	WorkSpace *workspace = WM_window_get_active_workspace(win_src);
 	WorkSpaceLayout *layout_new = wm_window_new_find_layout(op, workspace);
@@ -1040,7 +1042,7 @@ int wm_window_new_exec(bContext *C, wmOperator *op)
 	if ((win_dst = wm_window_new_test(C))) {
 		if (screen_new->winid) {
 			

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list