[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