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:
-rw-r--r--source/blender/editors/screen/screen_edit.c31
-rw-r--r--source/blender/windowmanager/intern/wm.c11
2 files changed, 23 insertions, 19 deletions
diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c
index 9d178a57465..2cd6dafa167 100644
--- a/source/blender/editors/screen/screen_edit.c
+++ b/source/blender/editors/screen/screen_edit.c
@@ -1029,23 +1029,26 @@ void ED_screen_refresh(wmWindowManager *wm, wmWindow *win)
ScrArea *sa;
rcti winrct= {0, win->sizex-1, 0, win->sizey-1};
- screen_test_scale(win->screen, win->sizex, win->sizey);
-
- if(win->screen->mainwin==0)
- win->screen->mainwin= wm_subwindow_open(win, &winrct);
- else
- wm_subwindow_position(win, win->screen->mainwin, &winrct);
+ /* exception for bg mode, we only need the screen context */
+ if (!G.background) {
+ screen_test_scale(win->screen, win->sizex, win->sizey);
+
+ if(win->screen->mainwin==0)
+ win->screen->mainwin= wm_subwindow_open(win, &winrct);
+ else
+ wm_subwindow_position(win, win->screen->mainwin, &winrct);
+
+ for(sa= win->screen->areabase.first; sa; sa= sa->next) {
+ /* set spacetype and region callbacks, calls init() */
+ /* sets subwindows for regions, adds handlers */
+ ED_area_initialize(wm, win, sa);
+ }
- for(sa= win->screen->areabase.first; sa; sa= sa->next) {
- /* set spacetype and region callbacks, calls init() */
- /* sets subwindows for regions, adds handlers */
- ED_area_initialize(wm, win, sa);
+ /* wake up animtimer */
+ if(win->screen->animtimer)
+ WM_event_timer_sleep(wm, win, win->screen->animtimer, 0);
}
- /* wake up animtimer */
- if(win->screen->animtimer)
- WM_event_timer_sleep(wm, win, win->screen->animtimer, 0);
-
if(G.f & G_DEBUG) printf("set screen\n");
win->screen->do_refresh= 0;
diff --git a/source/blender/windowmanager/intern/wm.c b/source/blender/windowmanager/intern/wm.c
index 1b0870194a6..5c4912d7aee 100644
--- a/source/blender/windowmanager/intern/wm.c
+++ b/source/blender/windowmanager/intern/wm.c
@@ -232,12 +232,13 @@ void WM_check(bContext *C)
/* case: no open windows at all, for old file reads */
wm_window_add_ghostwindows(C, wm);
+ }
- /* case: fileread */
- if((wm->initialized & WM_INIT_WINDOW) == 0) {
- ED_screens_initialize(wm);
- wm->initialized |= WM_INIT_WINDOW;
- }
+ /* case: fileread */
+ /* note: this runs in bg mode to set the screen context cb */
+ if((wm->initialized & WM_INIT_WINDOW) == 0) {
+ ED_screens_initialize(wm);
+ wm->initialized |= WM_INIT_WINDOW;
}
}