[Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23789] trunk/blender/intern/ghost/intern: Cocoa : fix secondary window display bug issue

Damien Plisson damien.plisson at yahoo.fr
Tue Oct 13 20:00:46 CEST 2009


Hi Jasper,

Currently only cmake is supported. Jens Verwiebe is updating the scons  
files, and ... a volunteer is needed for the nan make files...
So you have to you cmake for now.

Now some good news: there are no more known bugs/regressions over  
carbon on the 32bit cocoa version!
I now concentrate on adding handling of new apple stuff like dual  
touch trackpad stuff...
And the 64bit is on its way, thanks to Jens for building the 64bit libs.

So you and any other testers are warmly welcome.

Damien


Le 13 oct. 2009 à 18:57, Jasper Mine a écrit :

> Hello Mr. Plisson,
>
> I am getting a kernel panic after running the compile.
>
> I am on mac osx 10.5.8 intel using the nan make files.  Am I doing it
> wrong?  Do I run cmake to generate the make files or to generate an
> xcode project?
>
> Thank you.
> Jasper
>
>
> On Oct 12, 2009, at 12:51 PM, Damien Plisson wrote:
>
>> Revision: 23789
>>         http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23789
>> Author:   damien78
>> Date:     2009-10-12 18:51:36 +0200 (Mon, 12 Oct 2009)
>>
>> Log Message:
>> -----------
>> Cocoa : fix secondary window display bug issue
>>
>> Modified Paths:
>> --------------
>>   trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.h
>>   trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.mm
>>
>> Modified: trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.h
>> ===================================================================
>> --- trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.h	2009-10-12
>> 16:34:55 UTC (rev 23788)
>> +++ trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.h	2009-10-12
>> 16:51:36 UTC (rev 23789)
>> @@ -275,6 +275,9 @@
>> 	/** The mother SystemCocoa class to send events */
>> 	GHOST_SystemCocoa *m_systemCocoa;
>> 			
>> +	/** The first created OpenGL context (for sharing display lists) */
>> +	static NSOpenGLContext *s_firstOpenGLcontext;
>> +	
>> 	NSCursor*	m_customCursor;
>>
>> 	GHOST_TabletData m_tablet;
>>
>> Modified: trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.mm
>> ===================================================================
>> --- trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.mm	
>> 2009-10-12 16:34:55 UTC (rev 23788)
>> +++ trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.mm	
>> 2009-10-12 16:51:36 UTC (rev 23789)
>> @@ -149,6 +149,8 @@
>>
>> #pragma mark initialization / finalization
>>
>> +NSOpenGLContext* GHOST_WindowCocoa::s_firstOpenGLcontext = nil;
>> +
>> GHOST_WindowCocoa::GHOST_WindowCocoa(
>> 	GHOST_SystemCocoa *systemCocoa,
>> 	const STR_String& title,
>> @@ -197,7 +199,7 @@
>> 	
>> 	[pixelFormat release];
>> 	
>> -	m_openGLContext = [m_openGLView openGLContext];
>> +	m_openGLContext = [m_openGLView openGLContext]; //This context
>> will be replaced by the proper one just after
>> 	
>> 	[m_window setContentView:m_openGLView];
>> 	[m_window setInitialFirstResponder:m_openGLView];
>> @@ -229,9 +231,6 @@
>> {
>> 	if (m_customCursor) delete m_customCursor;
>>
>> -	/*if(ugly_hack==m_windowRef) ugly_hack= NULL;
>> -	
>> -	if(ugly_hack==NULL)
>> setDrawingContextType(GHOST_kDrawingContextTypeNone);*/
>>    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
>> 	[m_openGLView release];
>> 	
>> @@ -670,12 +669,15 @@
>> 		case GHOST_kDrawingContextTypeOpenGL:
>> 			if (!getValid()) break;
>>            				
>> -				pixelFormat = [m_openGLView pixelFormat];
>> -				tmpOpenGLContext = [[NSOpenGLContext alloc]
>> initWithFormat:pixelFormat
>> -															  shareContext:m_openGLContext];
>> -				if (tmpOpenGLContext == nil)
>> -					success = GHOST_kFailure;
>> -					break;
>> +			pixelFormat = [m_openGLView pixelFormat];
>> +			tmpOpenGLContext = [[NSOpenGLContext alloc]
>> initWithFormat:pixelFormat
>> +															  shareContext:s_firstOpenGLcontext];
>> +			if (tmpOpenGLContext == nil) {
>> +				success = GHOST_kFailure;
>> +				break;
>> +			}
>> +			
>> +			if (!s_firstOpenGLcontext) s_firstOpenGLcontext =
>> tmpOpenGLContext;
>> #ifdef WAIT_FOR_VSYNC
>> 				/* wait for vsync, to avoid tearing artifacts */
>> 				[tmpOpenGLContext setValues:1
>> forParameter:NSOpenGLCPSwapInterval];
>> @@ -683,7 +685,6 @@
>> 				[m_openGLView setOpenGLContext:tmpOpenGLContext];
>> 				[tmpOpenGLContext setView:m_openGLView];
>> 				
>> -				[m_openGLContext release];
>> 				m_openGLContext = tmpOpenGLContext;
>> 			break;
>> 		
>> @@ -704,7 +705,12 @@
>> 	NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
>> 	switch (m_drawingContextType) {
>> 		case GHOST_kDrawingContextTypeOpenGL:
>> -			[m_openGLView clearGLContext];
>> +			if (m_openGLContext)
>> +			{
>> +				[m_openGLView clearGLContext];
>> +				if (s_firstOpenGLcontext == m_openGLContext)
>> s_firstOpenGLcontext = nil;
>> +				m_openGLContext = nil;
>> +			}
>> 			[pool drain];
>> 			return GHOST_kSuccess;
>> 		case GHOST_kDrawingContextTypeNone:
>>
>>
>> _______________________________________________
>> Bf-blender-cvs mailing list
>> Bf-blender-cvs at blender.org
>> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
>>
>
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers



More information about the Bf-committers mailing list