[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [44792] trunk/blender/source/blender/ windowmanager: patch [#30511] Save/load window state ( allows Blender to start maximised)
Campbell Barton
ideasman42 at gmail.com
Sat Mar 10 18:49:38 CET 2012
Revision: 44792
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=44792
Author: campbellbarton
Date: 2012-03-10 17:49:26 +0000 (Sat, 10 Mar 2012)
Log Message:
-----------
patch [#30511] Save/load window state (allows Blender to start maximised)
from Tom Edwards (artfunkel)
This patch fixes bug [#20791]
Modified Paths:
--------------
trunk/blender/source/blender/windowmanager/intern/wm.c
trunk/blender/source/blender/windowmanager/intern/wm_window.c
trunk/blender/source/blender/windowmanager/wm_window.h
Modified: trunk/blender/source/blender/windowmanager/intern/wm.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm.c 2012-03-10 17:14:50 UTC (rev 44791)
+++ trunk/blender/source/blender/windowmanager/intern/wm.c 2012-03-10 17:49:26 UTC (rev 44792)
@@ -255,7 +255,7 @@
}
/* case: no open windows at all, for old file reads */
- wm_window_add_ghostwindows(C, wm);
+ wm_window_add_ghostwindows(wm);
}
/* case: fileread */
Modified: trunk/blender/source/blender/windowmanager/intern/wm_window.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_window.c 2012-03-10 17:14:50 UTC (rev 44791)
+++ trunk/blender/source/blender/windowmanager/intern/wm_window.c 2012-03-10 17:49:26 UTC (rev 44792)
@@ -304,17 +304,10 @@
}
/* belongs to below */
-static void wm_window_add_ghostwindow(bContext *C, const char *title, wmWindow *win)
+static void wm_window_add_ghostwindow(const char *title, wmWindow *win)
{
GHOST_WindowHandle ghostwin;
int scr_w, scr_h, posy;
- GHOST_TWindowState initial_state;
-
- /* when there is no window open uses the initial state */
- if(!CTX_wm_window(C))
- initial_state= initialstate;
- else
- initial_state= GHOST_kWindowStateNormal;
wm_get_screensize(&scr_w, &scr_h);
posy= (scr_h - win->posy - win->sizey);
@@ -329,7 +322,7 @@
* doesn't work well when AA is initialized, even if not used. */
ghostwin= GHOST_CreateWindow(g_system, title,
win->posx, posy, win->sizex, win->sizey,
- initial_state,
+ (GHOST_TWindowState)win->windowstate,
GHOST_kDrawingContextTypeOpenGL,
0 /* no stereo */,
0 /* no AA */);
@@ -339,7 +332,7 @@
GPU_extensions_init();
/* set the state*/
- GHOST_SetWindowState(ghostwin, initial_state);
+ GHOST_SetWindowState(ghostwin, (GHOST_TWindowState)win->windowstate);
win->ghostwin= ghostwin;
GHOST_SetWindowUserData(ghostwin, win); /* pointer back */
@@ -368,7 +361,7 @@
/* for wmWindows without ghostwin, open these and clear */
/* window size is read from window, if 0 it uses prefsize */
/* called in WM_check, also inits stuff after file read */
-void wm_window_add_ghostwindows(bContext* C, wmWindowManager *wm)
+void wm_window_add_ghostwindows(wmWindowManager *wm)
{
wmKeyMap *keymap;
wmWindow *win;
@@ -404,7 +397,7 @@
win->windowstate= initialstate;
useprefsize= 0;
}
- wm_window_add_ghostwindow(C, "Blender", win);
+ wm_window_add_ghostwindow("Blender", win);
}
/* happens after fileread */
if(win->eventstate==NULL)
@@ -698,6 +691,7 @@
case GHOST_kEventWindowMove: {
GHOST_TWindowState state;
state = GHOST_GetWindowState(win->ghostwin);
+ win->windowstate = state;
/* win32: gives undefined window size when minimized */
if(state!=GHOST_kWindowStateMinimized) {
Modified: trunk/blender/source/blender/windowmanager/wm_window.h
===================================================================
--- trunk/blender/source/blender/windowmanager/wm_window.h 2012-03-10 17:14:50 UTC (rev 44791)
+++ trunk/blender/source/blender/windowmanager/wm_window.h 2012-03-10 17:49:26 UTC (rev 44792)
@@ -46,7 +46,7 @@
void wm_window_close (bContext *C, wmWindowManager *wm, wmWindow *win);
void wm_window_title (wmWindowManager *wm, wmWindow *win);
-void wm_window_add_ghostwindows (bContext *C, wmWindowManager *wm);
+void wm_window_add_ghostwindows (wmWindowManager *wm);
void wm_window_process_events (const bContext *C);
void wm_window_process_events_nosleep(void);
More information about the Bf-blender-cvs
mailing list