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:
authorCampbell Barton <ideasman42@gmail.com>2010-10-27 20:05:31 +0400
committerCampbell Barton <ideasman42@gmail.com>2010-10-27 20:05:31 +0400
commitfd3532f1a9598292711412f63ee818329819e478 (patch)
tree9293fd00df12a34f028845a111887595939cd20a /source/blender/editors
parent7a569402078e4d4cb5b905645e8466e653bf6e1a (diff)
bugfix [#24341] Problems running blender headless
bg mode didnt have the screen context callback set. Though this sounds logical, bg mode defines a screen it should be set.
Diffstat (limited to 'source/blender/editors')
-rw-r--r--source/blender/editors/screen/screen_edit.c31
1 files changed, 17 insertions, 14 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;