[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [29134] branches/render25: Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender/source/ blender/render -r29104:29132
Brecht Van Lommel
brecht at blender.org
Tue Jun 1 19:29:56 CEST 2010
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. @@
More information about the Bf-blender-cvs
mailing list