[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [30080] branches/render25: Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30031 :30079

Brecht Van Lommel brecht at blender.org
Wed Jul 7 16:52:55 CEST 2010


Revision: 30080
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=30080
Author:   blendix
Date:     2010-07-07 16:52:55 +0200 (Wed, 07 Jul 2010)

Log Message:
-----------
Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30031:30079

Modified Paths:
--------------
    branches/render25/intern/ghost/intern/GHOST_SystemWin32.cpp
    branches/render25/intern/ghost/intern/GHOST_WindowCocoa.mm
    branches/render25/release/scripts/ui/space_view3d.py
    branches/render25/release/windows/installer/00.sconsblender.nsi
    branches/render25/source/blender/blenkernel/BKE_sequencer.h
    branches/render25/source/blender/blenkernel/intern/image.c
    branches/render25/source/blender/blenkernel/intern/sequencer.c
    branches/render25/source/blender/blenlib/BLI_path_util.h
    branches/render25/source/blender/editors/interface/interface_handlers.c
    branches/render25/source/blender/editors/interface/interface_templates.c
    branches/render25/source/blender/editors/mesh/editmesh_tools.c
    branches/render25/source/blender/editors/mesh/mesh_intern.h
    branches/render25/source/blender/editors/mesh/mesh_ops.c
    branches/render25/source/blender/editors/mesh/meshtools.c
    branches/render25/source/blender/editors/screen/screen_context.c
    branches/render25/source/blender/editors/space_view3d/drawobject.c
    branches/render25/source/blender/editors/space_view3d/view3d_edit.c
    branches/render25/source/blender/makesrna/intern/rna_constraint.c
    branches/render25/source/blender/makesrna/intern/rna_sequencer.c
    branches/render25/source/blender/makesrna/rna_cleanup/rna_cleaner.py
    branches/render25/source/blender/render/extern/include/RE_pipeline.h
    branches/render25/source/blender/render/intern/source/result.c

Removed Paths:
-------------
    branches/render25/release/windows/inno/

Modified: branches/render25/intern/ghost/intern/GHOST_SystemWin32.cpp
===================================================================
--- branches/render25/intern/ghost/intern/GHOST_SystemWin32.cpp	2010-07-07 14:28:22 UTC (rev 30079)
+++ branches/render25/intern/ghost/intern/GHOST_SystemWin32.cpp	2010-07-07 14:52:55 UTC (rev 30080)
@@ -37,6 +37,14 @@
 #include "GHOST_SystemWin32.h"
 #include "GHOST_EventDragnDrop.h"
 
+#define WIN32_LEAN_AND_MEAN
+#ifdef _WIN32_IE
+#undef _WIN32_IE
+#endif
+#define _WIN32_IE 0x0501
+#include <windows.h>
+#include <shlobj.h>
+
 // win64 doesn't define GWL_USERDATA
 #ifdef WIN32
 #ifndef GWL_USERDATA
@@ -88,8 +96,6 @@
 #include "GHOST_WindowWin32.h"
 #include "GHOST_NDOFManager.h"
 
-#include <shlobj.h>
-
 // Key code values not found in winuser.h
 #ifndef VK_MINUS
 #define VK_MINUS 0xBD
@@ -1129,4 +1135,4 @@
 	}
 
 	return NULL;
-}
\ No newline at end of file
+}

Modified: branches/render25/intern/ghost/intern/GHOST_WindowCocoa.mm
===================================================================
--- branches/render25/intern/ghost/intern/GHOST_WindowCocoa.mm	2010-07-07 14:28:22 UTC (rev 30079)
+++ branches/render25/intern/ghost/intern/GHOST_WindowCocoa.mm	2010-07-07 14:52:55 UTC (rev 30080)
@@ -732,7 +732,7 @@
 #ifdef MAC_OS_X_VERSION_10_6
 				//10.6 provides Cocoa functions to autoshow menu bar, and to change a window style
 				//Hide menu & dock if needed
-				if ([[m_window screen] isEqual:[NSScreen mainScreen]])
+				if ([[m_window screen] isEqual:[[NSScreen screens] objectAtIndex:0]])
 				{
 					[NSApp setPresentationOptions:(NSApplicationPresentationHideDock | NSApplicationPresentationAutoHideMenuBar)];
 				}
@@ -743,7 +743,7 @@
 #else
 				//With 10.5, we need to create a new window to change its style to borderless
 				//Hide menu & dock if needed
-				if ([[m_window screen] isEqual:[NSScreen mainScreen]])
+				if ([[m_window screen] isEqual:[[NSScreen screens] objectAtIndex:0]])
 				{
 					//Cocoa function in 10.5 does not allow to set the menu bar in auto-show mode [NSMenu setMenuBarVisible:NO];
 					//One of the very few 64bit compatible Carbon function

Modified: branches/render25/release/scripts/ui/space_view3d.py
===================================================================
--- branches/render25/release/scripts/ui/space_view3d.py	2010-07-07 14:28:22 UTC (rev 30079)
+++ branches/render25/release/scripts/ui/space_view3d.py	2010-07-07 14:52:55 UTC (rev 30080)
@@ -1550,6 +1550,7 @@
         layout.operator("mesh.fill")
         layout.operator("mesh.beautify_fill")
         layout.operator("mesh.solidify")
+        layout.operator("mesh.sort_faces")
 
         layout.separator()
 

Modified: branches/render25/release/windows/installer/00.sconsblender.nsi
===================================================================
--- branches/render25/release/windows/installer/00.sconsblender.nsi	2010-07-07 14:28:22 UTC (rev 30079)
+++ branches/render25/release/windows/installer/00.sconsblender.nsi	2010-07-07 14:52:55 UTC (rev 30080)
@@ -25,6 +25,7 @@
 !define MUI_COMPONENTSPAGE_SMALLDESC
 !define MUI_FINISHPAGE_RUN "$INSTDIR\blender.exe"
 !define MUI_CHECKBITMAP "[RELDIR]\00.checked.bmp"
+!define MUI_UNWELCOMEFINISHPAGE_BITMAP "[RELDIR]\01.installer.bmp"
 
 !insertmacro MUI_PAGE_WELCOME
 !insertmacro MUI_PAGE_LICENSE "[DISTDIR]\Copyright.txt"
@@ -66,7 +67,7 @@
 
 Caption "Blender [VERSION] Installer"
 OutFile "[DISTDIR]\..\blender-[VERSION]-windows[BITNESS].exe"
-InstallDir "$PROGRAMFILES\Blender Foundation\Blender"
+InstallDir "$PROGRAMFILES[BITNESS]\Blender Foundation\Blender"
 
 BrandingText "Blender Foundation | http://www.blender.org"
 ComponentText "This will install Blender [VERSION] on your computer."
@@ -86,6 +87,7 @@
 Var HWND_HOMEDIR
 
 Function .onInit
+  ClearErrors
   StrCpy $SHORTVERSION "[SHORTVERSION]"
 FunctionEnd
 
@@ -162,7 +164,7 @@
 SectionEnd
 
 Section "Add Start Menu shortcuts" Section2
-  SetOutPath $INSTDIR
+  SetShellVarContext all
   CreateDirectory "$SMPROGRAMS\Blender Foundation\Blender\"
   CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
   CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\Blender.lnk" "$INSTDIR\Blender.exe" "" "$INSTDIR\blender.exe" 0
@@ -173,14 +175,10 @@
 SectionEnd
 
 Section "Add Desktop Blender-[VERSION] shortcut" Section3
-  SetOutPath $INSTDIR
   CreateShortCut "$DESKTOP\Blender.lnk" "$INSTDIR\blender.exe" "" "$INSTDIR\blender.exe" 0
 SectionEnd
 
 Section "Open .blend files with Blender-[VERSION]" Section4
-  SetOutPath $INSTDIR
-  ;ExecShell "open" '"$INSTDIR\blender.exe"' "-R -b"
-  ;do it the manual way! ;)
   
   WriteRegStr HKCR ".blend" "" "blendfile"
   WriteRegStr HKCR "blendfile" "" "Blender .blend File"
@@ -199,6 +197,10 @@
   ReadRegStr $SHORTVERSION HKLM "SOFTWARE\BlenderFoundation" "ShortVersion"
   DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Blender"
   DeleteRegKey HKLM "SOFTWARE\BlenderFoundation"
+  SetShellVarContext all
+
+  StrCpy $0 "$SMPROGRAMS\Blender Foundation\"
+  MessageBox MB_OK $0
   ; remove files
   [DELROOTDIRCONTS]
 
@@ -208,10 +210,9 @@
   RMDir /r "$BLENDERHOME"
 Next:
   ; remove shortcuts, if any.
-  Delete "$SMPROGRAMS\Blender Foundation\Blender\*.*"
   Delete "$DESKTOP\Blender.lnk"
   ; remove all link related directories and files
-  RMDir /r "$SMPROGRAMS\Blender Foundation"
+  RMDir /r "$SMPROGRAMS\Blender Foundation\"
   ; remove entire installation directory, including any file created by the user
   RMDir /r "$INSTDIR"
 SectionEnd

Modified: branches/render25/source/blender/blenkernel/BKE_sequencer.h
===================================================================
--- branches/render25/source/blender/blenkernel/BKE_sequencer.h	2010-07-07 14:28:22 UTC (rev 30079)
+++ branches/render25/source/blender/blenkernel/BKE_sequencer.h	2010-07-07 14:52:55 UTC (rev 30080)
@@ -136,8 +136,8 @@
 void printf_strip(struct Sequence *seq);
 
 /* apply functions recursively */
-void seqbase_recursive_apply(struct ListBase *seqbase, int (*apply_func)(struct Sequence *seq, void *), void *arg);
-void seq_recursive_apply(struct Sequence *seq, int (*apply_func)(struct Sequence *, void *), void *arg);
+int seqbase_recursive_apply(struct ListBase *seqbase, int (*apply_func)(struct Sequence *seq, void *), void *arg);
+int seq_recursive_apply(struct Sequence *seq, int (*apply_func)(struct Sequence *, void *), void *arg);
 
 // extern
 void seq_free_sequence(struct Scene *scene, struct Sequence *seq);

Modified: branches/render25/source/blender/blenkernel/intern/image.c
===================================================================
--- branches/render25/source/blender/blenkernel/intern/image.c	2010-07-07 14:28:22 UTC (rev 30079)
+++ branches/render25/source/blender/blenkernel/intern/image.c	2010-07-07 14:52:55 UTC (rev 30080)
@@ -1831,10 +1831,13 @@
 	layer= (iuser)? iuser->layer: 0;
 	pass= (iuser)? iuser->pass: 0;
 
-	if(from_render)
+	if(from_render) {
 		RE_AcquireResultImage(re, &rres);
-	else if(ima->renders[ima->render_slot])
+	}
+	else if(ima->renders[ima->render_slot]) {
 		rres= *(ima->renders[ima->render_slot]);
+		rres.have_combined= rres.rectf != NULL;
+	}
 	else
 		memset(&rres, 0, sizeof(RenderResult));
 	
@@ -1856,10 +1859,10 @@
 	rectz= rres.rectz;
 	dither= iuser->scene->r.dither_intensity;
 
-	/* get compo/seq result by default */
-	if(rres.compo_seq && layer==0);
+	/* combined layer gets added as first layer */
+	if(rres.have_combined && layer==0);
 	else if(rres.layers.first) {
-		RenderLayer *rl= BLI_findlink(&rres.layers, layer-(rres.compo_seq?1:0));
+		RenderLayer *rl= BLI_findlink(&rres.layers, layer-(rres.have_combined?1:0));
 		if(rl) {
 			RenderPass *rpass;
 

Modified: branches/render25/source/blender/blenkernel/intern/sequencer.c
===================================================================
--- branches/render25/source/blender/blenkernel/intern/sequencer.c	2010-07-07 14:28:22 UTC (rev 30079)
+++ branches/render25/source/blender/blenkernel/intern/sequencer.c	2010-07-07 14:52:55 UTC (rev 30080)
@@ -87,18 +87,27 @@
 	fprintf(stderr, "\tseq_tx_set_final_left: %d %d\n\n", seq_tx_get_final_left(seq, 0), seq_tx_get_final_right(seq, 0));
 }
 
-void seqbase_recursive_apply(ListBase *seqbase, int (*apply_func)(Sequence *seq, void *), void *arg)
+int seqbase_recursive_apply(ListBase *seqbase, int (*apply_func)(Sequence *seq, void *), void *arg)
 {
 	Sequence *iseq;
 	for(iseq= seqbase->first; iseq; iseq= iseq->next) {
-		seq_recursive_apply(iseq, apply_func, arg);
+		if(seq_recursive_apply(iseq, apply_func, arg) == -1)
+			return -1; /* bail out */
 	}
+	return 1;
 }
 
-void seq_recursive_apply(Sequence *seq, int (*apply_func)(Sequence *, void *), void *arg)
+int seq_recursive_apply(Sequence *seq, int (*apply_func)(Sequence *, void *), void *arg)
 {
-	if(apply_func(seq, arg) && seq->seqbase.first)
-		seqbase_recursive_apply(&seq->seqbase, apply_func, arg);
+	int ret= apply_func(seq, arg);
+
+	if(ret == -1)
+		return -1;  /* bail out */
+
+	if(ret && seq->seqbase.first)
+		ret = seqbase_recursive_apply(&seq->seqbase, apply_func, arg);
+
+	return ret;
 }
 
 /* **********************************************************************
@@ -3790,6 +3799,8 @@
 
 int seq_swap(Sequence *seq_a, Sequence *seq_b)
 {
+	char name[sizeof(seq_a->name)];
+
 	if(seq_a->len != seq_b->len)
 		return 0;
 
@@ -3798,12 +3809,33 @@
 		if(seq_a->type == SEQ_SOUND || seq_b->type == SEQ_SOUND) {
 			return 0;
 		}
+
+		/* disallow effects to swap with non-effects strips */
+		if((seq_a->type & SEQ_EFFECT) != (seq_b->type & SEQ_EFFECT)) {
+			return 0;
+		}
+
+		if((seq_a->type & SEQ_EFFECT) && (seq_b->type & SEQ_EFFECT)) {
+			if(get_sequence_effect_num_inputs(seq_a->type) != get_sequence_effect_num_inputs(seq_b->type)) {
+				return 0;
+			}
+		}
 	}
 
 	SWAP(Sequence, *seq_a, *seq_b);
+
+	/* swap back names so animation fcurves dont get swapped */
+	strcpy(name, seq_a->name+2);
+	strcpy(seq_a->name+2, seq_b->name+2);
+	strcpy(seq_b->name+2, name);
+
+	/* swap back opacity, and overlay mode */
+	SWAP(int, seq_a->blend_mode, seq_b->blend_mode);
+	SWAP(float, seq_a->blend_opacity, seq_b->blend_opacity);
+
+
 	SWAP(void *, seq_a->prev, seq_b->prev);
 	SWAP(void *, seq_a->next, seq_b->next);
-
 	SWAP(int, seq_a->start, seq_b->start);
 	SWAP(int, seq_a->startofs, seq_b->startofs);
 	SWAP(int, seq_a->endofs, seq_b->endofs);


@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list