[Bf-blender-cvs] [69eb452622e] blender2.8: Merge branch 'master' into blender2.8

Campbell Barton noreply at git.blender.org
Wed Mar 21 16:28:02 CET 2018


Commit: 69eb452622e9af340f14b7116d59e450c3b6c745
Author: Campbell Barton
Date:   Wed Mar 21 16:27:48 2018 +0100
Branches: blender2.8
https://developer.blender.org/rB69eb452622e9af340f14b7116d59e450c3b6c745

Merge branch 'master' into blender2.8

===================================================================



===================================================================

diff --cc intern/ghost/intern/GHOST_SystemX11.cpp
index 0de6e2f7d4a,7fde6791d78..69aa3a09977
--- a/intern/ghost/intern/GHOST_SystemX11.cpp
+++ b/intern/ghost/intern/GHOST_SystemX11.cpp
@@@ -386,98 -379,11 +386,102 @@@ createWindow(const STR_String& title
  	return window;
  }
  
+ bool GHOST_SystemX11::supportsNativeDialogs(void) 
+ {
+ 	return false;
+ }
  
 +/**
 + * Create a new offscreen context.
 + * Never explicitly delete the context, use disposeContext() instead.
 + * \return  The new context (or 0 if creation failed).
 + */
 +GHOST_IContext *
 +GHOST_SystemX11::
 +createOffscreenContext()
 +{
 +	// During development:
 +	//   try 4.x compatibility profile
 +	//   try 3.3 compatibility profile
 +	//   fall back to 3.0 if needed
 +	//
 +	// Final Blender 2.8:
 +	//   try 4.x core profile
 +	//   try 3.3 core profile
 +	//   no fallbacks
 +
 +#if defined(WITH_GL_PROFILE_CORE)
 +	{
 +		const char *version_major = (char*)glewGetString(GLEW_VERSION_MAJOR);
 +		if (version_major != NULL && version_major[0] == '1') {
 +			fprintf(stderr, "Error: GLEW version 2.0 and above is required.\n");
 +			abort();
 +		}
 +	}
 +#endif
 +
 +	const int profile_mask =
 +#if defined(WITH_GL_PROFILE_CORE)
 +		GLX_CONTEXT_CORE_PROFILE_BIT_ARB;
 +#elif defined(WITH_GL_PROFILE_COMPAT)
 +		GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB;
 +#else
 +#  error // must specify either core or compat at build time
 +#endif
 +
 +	GHOST_Context *context;
 +
 +	for (int minor = 5; minor >= 0; --minor) {
 +		context = new GHOST_ContextGLX(
 +		        false,
 +		        0,
 +		        (Window)NULL,
 +		        m_display,
 +		        (GLXFBConfig)NULL,
 +		        profile_mask,
 +		        4, minor,
 +		        GHOST_OPENGL_GLX_CONTEXT_FLAGS | (false ? GLX_CONTEXT_DEBUG_BIT_ARB : 0),
 +		        GHOST_OPENGL_GLX_RESET_NOTIFICATION_STRATEGY);
 +
 +		if (context->initializeDrawingContext())
 +			return context;
 +		else
 +			delete context;
 +	}
 +
 +	context = new GHOST_ContextGLX(
 +	        false,
 +	        0,
 +	        (Window)NULL,
 +	        m_display,
 +	        (GLXFBConfig)NULL,
 +	        profile_mask,
 +	        3, 3,
 +	        GHOST_OPENGL_GLX_CONTEXT_FLAGS | (false ? GLX_CONTEXT_DEBUG_BIT_ARB : 0),
 +	        GHOST_OPENGL_GLX_RESET_NOTIFICATION_STRATEGY);
 +
 +	if (context->initializeDrawingContext())
 +		return context;
 +	else
 +		delete context;
 +
 +	return NULL;
 +}
 +
 +/**
 + * Dispose of a context.
 + * \param   context Pointer to the context to be disposed.
 + * \return  Indication of success.
 + */
 +GHOST_TSuccess
 +GHOST_SystemX11::
 +disposeContext(GHOST_IContext *context)
 +{
 +	delete context;
 +
 +	return GHOST_kSuccess;
 +}
 +
  #if defined(WITH_X11_XINPUT) && defined(X_HAVE_UTF8_STRING)
  static void destroyIMCallback(XIM /*xim*/, XPointer ptr, XPointer /*data*/)
  {
diff --cc source/blender/windowmanager/wm_window.h
index 652cefb1a54,4313c978ef4..75595eb8817
--- a/source/blender/windowmanager/wm_window.h
+++ b/source/blender/windowmanager/wm_window.h
@@@ -81,13 -76,10 +81,14 @@@ void		wm_window_IME_end	(wmWindow *win)
  
  /* *************** window operators ************** */
  int			wm_window_close_exec(bContext *C, struct wmOperator *op);
 -int			wm_window_duplicate_exec(bContext *C, struct wmOperator *op);
  int			wm_window_fullscreen_toggle_exec(bContext *C, struct wmOperator *op);
+ void		wm_confirm_quit(bContext *C);
  
 +const struct EnumPropertyItem *wm_window_new_screen_itemf(
 +        bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop, bool *r_free);
 +int			wm_window_new_exec(bContext *C, struct wmOperator *op);
 +int			wm_window_new_invoke(bContext *C, struct wmOperator *op, const struct wmEvent *event);
 +
  /* Initial (unmaximized) size to start with for
   * systems that can't find it for themselves (X11).
   * Clamped by real desktop limits */



More information about the Bf-blender-cvs mailing list