Revision: 29134 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29134 Author: blendix Date: 2010-06-01 19:29:56 +0200 (Tue, 01 Jun 2010)
Log Message: ----------- Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender/source/blender/render -r29104:29132 Modified Paths: -------------- branches/render25/intern/ghost/intern/GHOST_WindowWin32.cpp branches/render25/intern/ghost/intern/GHOST_WindowWin32.h branches/render25/intern/ghost/intern/GHOST_WindowX11.cpp branches/render25/intern/ghost/intern/GHOST_WindowX11.h branches/render25/release/scripts/modules/bpy/utils.py branches/render25/release/scripts/op/wm.py branches/render25/release/scripts/ui/properties_texture.py branches/render25/release/scripts/ui/space_info.py branches/render25/release/scripts/ui/space_userpref.py branches/render25/source/blender/blenkernel/intern/texture.c branches/render25/source/blender/blenloader/intern/readfile.c branches/render25/source/blender/editors/mesh/editmesh_mods.c branches/render25/source/blender/editors/screen/screen_ops.c branches/render25/source/blender/editors/space_script/script_edit.c branches/render25/source/blender/editors/space_script/script_intern.h branches/render25/source/blender/editors/space_script/script_ops.c branches/render25/source/blender/imbuf/IMB_thumbs.h branches/render25/source/blender/imbuf/intern/IMB_filetype.h branches/render25/source/blender/imbuf/intern/filetype.c branches/render25/source/blender/imbuf/intern/thumbs.c branches/render25/source/blender/imbuf/intern/thumbs_blend.c branches/render25/source/blender/imbuf/intern/tiff.c branches/render25/source/blender/makesdna/DNA_texture_types.h branches/render25/source/blender/makesrna/intern/rna_actuator.c branches/render25/source/blender/makesrna/intern/rna_scene.c branches/render25/source/blender/makesrna/intern/rna_texture.c branches/render25/source/blender/python/doc/blender-org/static/default.css_t branches/render25/source/blender/render/intern/source/texture_voxeldata.c branches/render25/source/blender/windowmanager/intern/wm_files.c branches/render25/source/blender/windowmanager/intern/wm_operators.c Modified: branches/render25/intern/ghost/intern/GHOST_WindowWin32.cpp =================================================================== --- branches/render25/intern/ghost/intern/GHOST_WindowWin32.cpp 2010-06-01 17:17:34 UTC (rev 29133) +++ branches/render25/intern/ghost/intern/GHOST_WindowWin32.cpp 2010-06-01 17:29:56 UTC (rev 29134) @@ -64,6 +64,7 @@ LPCSTR GHOST_WindowWin32::s_windowClassName = "GHOST_WindowClass"; const int GHOST_WindowWin32::s_maxTitleLength = 128; HGLRC GHOST_WindowWin32::s_firsthGLRc = NULL; +HDC GHOST_WindowWin32::s_firstHDC = NULL; static int WeightPixelFormat(PIXELFORMATDESCRIPTOR& pfd); static int EnumPixelFormats(HDC hdc); @@ -134,6 +135,7 @@ m_top(top), m_width(width), m_height(height), + m_normal_state(GHOST_kWindowStateNormal), m_stereo(stereoVisual), m_nextWindow(NULL) { @@ -202,6 +204,10 @@ // Store the device context m_hDC = ::GetDC(m_hWnd); + if(!s_firstHDC) { + s_firstHDC = m_hDC; + } + // Show the window int nCmdShow; switch (state) { @@ -308,10 +314,11 @@ m_customCursor = NULL; } + ::wglMakeCurrent(NULL, NULL); m_multisampleEnabled = GHOST_kFailure; m_multisample = 0; setDrawingContextType(GHOST_kDrawingContextTypeNone); - if (m_hDC) { + if (m_hDC && m_hDC != s_firstHDC) { ::ReleaseDC(m_hWnd, m_hDC); m_hDC = 0; } @@ -482,9 +489,13 @@ GHOST_TSuccess GHOST_WindowWin32::setState(GHOST_TWindowState state) { + GHOST_TWindowState curstate = getState(); WINDOWPLACEMENT wp; wp.length = sizeof(WINDOWPLACEMENT); ::GetWindowPlacement(m_hWnd, &wp); + + if (state == GHOST_kWindowStateNormal) + state = m_normal_state; switch (state) { case GHOST_kWindowStateMinimized: wp.showCmd = SW_SHOWMINIMIZED; @@ -495,6 +506,8 @@ SetWindowLongPtr(m_hWnd, GWL_STYLE, WS_OVERLAPPEDWINDOW); break; case GHOST_kWindowStateFullScreen: + if (curstate != state && curstate != GHOST_kWindowStateMinimized) + m_normal_state = curstate; wp.showCmd = SW_SHOWMAXIMIZED; wp.ptMaxPosition.x = 0; wp.ptMaxPosition.y = 0; @@ -637,6 +650,7 @@ m_hGlRc = ::wglCreateContext(m_hDC); if (m_hGlRc) { if (s_firsthGLRc) { + ::wglCopyContext(s_firsthGLRc, m_hGlRc, GL_ALL_ATTRIB_BITS); wglShareLists(s_firsthGLRc, m_hGlRc); } else { s_firsthGLRc = m_hGlRc; Modified: branches/render25/intern/ghost/intern/GHOST_WindowWin32.h =================================================================== --- branches/render25/intern/ghost/intern/GHOST_WindowWin32.h 2010-06-01 17:17:34 UTC (rev 29133) +++ branches/render25/intern/ghost/intern/GHOST_WindowWin32.h 2010-06-01 17:29:56 UTC (rev 29134) @@ -315,6 +315,8 @@ HGLRC m_hGlRc; /** The first created OpenGL context (for sharing display lists) */ static HGLRC s_firsthGLRc; + /** The first created device context handle. */ + static HDC s_firstHDC; /** Flag for if window has captured the mouse */ bool m_hasMouseCaptured; /** Count of number of pressed buttons */ @@ -351,6 +353,7 @@ GHOST_TInt32 m_top; GHOST_TUns32 m_width; GHOST_TUns32 m_height; + GHOST_TWindowState m_normal_state; bool m_stereo; /** The GHOST_System passes this to wm if this window is being replaced */ Modified: branches/render25/intern/ghost/intern/GHOST_WindowX11.cpp =================================================================== --- branches/render25/intern/ghost/intern/GHOST_WindowX11.cpp 2010-06-01 17:17:34 UTC (rev 29133) +++ branches/render25/intern/ghost/intern/GHOST_WindowX11.cpp 2010-06-01 17:29:56 UTC (rev 29134) @@ -159,6 +159,7 @@ GHOST_Window(title,left,top,width,height,state,type,stereoVisual,numOfAASamples), m_context(NULL), m_display(display), + m_normal_state(GHOST_kWindowStateNormal), m_system (system), m_valid_setup (false), m_invalid_window(false), @@ -1036,6 +1037,9 @@ is_motif_full = motifIsFullScreen(); + if (state == GHOST_kWindowStateNormal) + state = m_normal_state; + if (state == GHOST_kWindowStateNormal) { if (is_max == True) netwmMaximized(False); @@ -1055,6 +1059,8 @@ if (cur_state == GHOST_kWindowStateMinimized) return (GHOST_kFailure); + m_normal_state = cur_state; + if (is_max == True) netwmMaximized(False); if (is_full == False) Modified: branches/render25/intern/ghost/intern/GHOST_WindowX11.h =================================================================== --- branches/render25/intern/ghost/intern/GHOST_WindowX11.h 2010-06-01 17:17:34 UTC (rev 29133) +++ branches/render25/intern/ghost/intern/GHOST_WindowX11.h 2010-06-01 17:29:56 UTC (rev 29134) @@ -327,6 +327,7 @@ Window m_window; Display *m_display; XVisualInfo *m_visual; + GHOST_TWindowState m_normal_state; /** The first created OpenGL context (for sharing display lists) */ static GLXContext s_firstContext; Modified: branches/render25/release/scripts/modules/bpy/utils.py =================================================================== --- branches/render25/release/scripts/modules/bpy/utils.py 2010-06-01 17:17:34 UTC (rev 29133) +++ branches/render25/release/scripts/modules/bpy/utils.py 2010-06-01 17:29:56 UTC (rev 29134) @@ -144,6 +144,9 @@ _loaded.append(mod) if reload_scripts: + + # TODO, this is broken but should work, needs looking into + ''' # reload modules that may not be directly included for type_class_name in dir(_bpy.types): type_class = getattr(_bpy.types, type_class_name) @@ -156,6 +159,7 @@ for module_name in sorted(loaded_modules): print("Reloading:", module_name) test_reload(_sys.modules[module_name]) + ''' # loop over and unload all scripts _loaded.reverse() @@ -166,6 +170,10 @@ unregister() except: traceback.print_exc() + + for mod in _loaded: + reload(mod) + _loaded[:] = [] user_path = user_script_path() Modified: branches/render25/release/scripts/op/wm.py =================================================================== --- branches/render25/release/scripts/op/wm.py 2010-06-01 17:17:34 UTC (rev 29133) +++ branches/render25/release/scripts/op/wm.py 2010-06-01 17:29:56 UTC (rev 29134) @@ -418,7 +418,7 @@ class WM_OT_url_open(bpy.types.Operator): - "Open the Blender Wiki in the Webbrowser" + "Open a website in the Webbrowser" bl_idname = "wm.url_open" bl_label = "" @@ -543,17 +543,6 @@ return wm.invoke_props_dialog(self, width=600) -class WM_OT_reload_scripts(bpy.types.Operator): - '''Load online reference docs''' - bl_idname = "wm.reload_scripts" - bl_label = "Reload Scripts" - - def execute(self, context): - MOD = type(bpy) - bpy.utils.load_scripts(True) - return {'FINISHED'} - - import rna_prop_ui classes = [ @@ -577,8 +566,6 @@ WM_OT_doc_view, WM_OT_doc_edit, - WM_OT_reload_scripts, - # experemental! rna_prop_ui.WM_OT_properties_edit, rna_prop_ui.WM_OT_properties_add, Modified: branches/render25/release/scripts/ui/properties_texture.py =================================================================== --- branches/render25/release/scripts/ui/properties_texture.py 2010-06-01 17:17:34 UTC (rev 29133) +++ branches/render25/release/scripts/ui/properties_texture.py 2010-06-01 17:29:56 UTC (rev 29134) @@ -969,7 +969,9 @@ layout.prop(vd, "domain_object") layout.prop(vd, "smoke_data_type") elif vd.file_format == 'IMAGE_SEQUENCE': - layout.template_image(tex, "image", tex.image_user) + layout.template_ID(tex, "image", open="image.open") + layout.template_image(tex, "image", tex.image_user, compact=True) + #layout.prop(vd, "frames") layout.prop(vd, "still") row = layout.row() Modified: branches/render25/release/scripts/ui/space_info.py =================================================================== --- branches/render25/release/scripts/ui/space_info.py 2010-06-01 17:17:34 UTC (rev 29133) +++ branches/render25/release/scripts/ui/space_info.py 2010-06-01 17:29:56 UTC (rev 29134) @@ -310,19 +310,19 @@ def draw(self, context): layout = self.layout - layout.operator("help.manual", icon='HELP') - layout.operator("help.release_logs", icon='URL') + layout.operator("wm.url_open", text="Manual", icon='HELP').url = 'http://wiki.blender.org/index.php/Doc:Manual' + layout.operator("wm.url_open", text="Release Log", icon='URL').url = 'http://www.blender.org/development/release-logs/blender-250/' layout.separator() - layout.operator("help.blender_website", icon='URL') - layout.operator("help.blender_eshop", icon='URL') - layout.operator("help.developer_community", icon='URL') - layout.operator("help.user_community", icon='URL') + layout.operator("wm.url_open", text="Blender Website", icon='URL').url = 'http://www.blender.org/' + layout.operator("wm.url_open", text="Blender e-Shop", icon='URL').url = 'http://www.blender.org/e-shop' + layout.operator("wm.url_open", text="Developer Community", icon='URL').url = 'http://www.blender.org/community/get-involved/' + layout.operator("wm.url_open", text="User Community", icon='URL').url = 'http://www.blender.org/community/user-community/' layout.separator() - layout.operator("help.report_bug", icon='URL') + layout.operator("wm.url_open", text="Report a Bug", icon='URL').url = 'http://projects.blender.org/tracker/?atid=498&group_id=9&func=browse' layout.separator() - layout.operator("help.python_api", icon='URL') + layout.operator("wm.url_open", text="Python API Reference", icon='URL').url = 'http://www.blender.org/documentation/250PythonDoc/contents.html' layout.operator("help.operator_cheat_sheet") layout.separator() layout.operator("wm.splash") @@ -331,70 +331,6 @@ # Help operators -class HelpOperator(bpy.types.Operator): - - def execute(self, context): - import webbrowser - webbrowser.open(self._url) - return {'FINISHED'} - - -class HELP_OT_manual(HelpOperator): - '''The Blender Wiki manual''' - bl_idname = "help.manual" - bl_label = "Manual" - _url = 'http://wiki.blender.org/index.php/Doc:Manual' - - -class HELP_OT_release_logs(HelpOperator): - '''Information about the changes in this version of Blender''' @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs