[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [50172] branches/soc-2011-tomato: Merging r50162 through r50171 from trunk into soc-2011-tomato

Sergey Sharybin sergey.vfx at gmail.com
Fri Aug 24 11:09:33 CEST 2012


Revision: 50172
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=50172
Author:   nazgul
Date:     2012-08-24 09:09:33 +0000 (Fri, 24 Aug 2012)
Log Message:
-----------
Merging r50162 through r50171 from trunk into soc-2011-tomato

Revision Links:
--------------
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=50162
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=50171

Modified Paths:
--------------
    branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_sequencer.py
    branches/soc-2011-tomato/source/blender/blenfont/intern/blf_glyph.c
    branches/soc-2011-tomato/source/blender/blenkernel/BKE_context.h
    branches/soc-2011-tomato/source/blender/blenkernel/BKE_screen.h
    branches/soc-2011-tomato/source/blender/blenkernel/intern/customdata.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/mask_rasterize.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/node.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/seqmodifier.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/subsurf_ccg.c
    branches/soc-2011-tomato/source/blender/blenlib/BLI_rect.h
    branches/soc-2011-tomato/source/blender/blenlib/intern/rct.c
    branches/soc-2011-tomato/source/blender/compositor/operations/COM_DespeckleOperation.cpp
    branches/soc-2011-tomato/source/blender/editors/animation/keyframes_edit.c
    branches/soc-2011-tomato/source/blender/editors/gpencil/gpencil_paint.c
    branches/soc-2011-tomato/source/blender/editors/include/UI_view2d.h
    branches/soc-2011-tomato/source/blender/editors/interface/interface_handlers.c
    branches/soc-2011-tomato/source/blender/editors/interface/interface_ops.c
    branches/soc-2011-tomato/source/blender/editors/interface/interface_panel.c
    branches/soc-2011-tomato/source/blender/editors/interface/interface_regions.c
    branches/soc-2011-tomato/source/blender/editors/mask/mask_select.c
    branches/soc-2011-tomato/source/blender/editors/screen/area.c
    branches/soc-2011-tomato/source/blender/editors/screen/screen_edit.c
    branches/soc-2011-tomato/source/blender/editors/screen/screen_ops.c
    branches/soc-2011-tomato/source/blender/editors/sculpt_paint/paint_image.c
    branches/soc-2011-tomato/source/blender/editors/space_clip/clip_graph_ops.c
    branches/soc-2011-tomato/source/blender/editors/space_clip/tracking_select.c
    branches/soc-2011-tomato/source/blender/editors/space_file/file_ops.c
    branches/soc-2011-tomato/source/blender/editors/space_logic/logic_window.c
    branches/soc-2011-tomato/source/blender/editors/space_node/drawnode.c
    branches/soc-2011-tomato/source/blender/editors/space_node/node_draw.c
    branches/soc-2011-tomato/source/blender/editors/space_node/node_edit.c
    branches/soc-2011-tomato/source/blender/editors/space_node/node_relationships.c
    branches/soc-2011-tomato/source/blender/editors/space_node/node_select.c
    branches/soc-2011-tomato/source/blender/editors/space_outliner/space_outliner.c
    branches/soc-2011-tomato/source/blender/editors/space_view3d/drawobject.c
    branches/soc-2011-tomato/source/blender/editors/space_view3d/view3d_select.c
    branches/soc-2011-tomato/source/blender/editors/transform/transform.c
    branches/soc-2011-tomato/source/blender/editors/uvedit/uvedit_ops.c
    branches/soc-2011-tomato/source/blender/imbuf/intern/indexer.c
    branches/soc-2011-tomato/source/blender/imbuf/intern/scaling.c
    branches/soc-2011-tomato/source/blender/makesdna/DNA_sequence_types.h
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_sequencer.c
    branches/soc-2011-tomato/source/blender/modifiers/intern/MOD_boolean.c
    branches/soc-2011-tomato/source/blender/modifiers/intern/MOD_cast.c
    branches/soc-2011-tomato/source/blender/modifiers/intern/MOD_displace.c
    branches/soc-2011-tomato/source/blender/modifiers/intern/MOD_fluidsim.c
    branches/soc-2011-tomato/source/blender/modifiers/intern/MOD_lattice.c
    branches/soc-2011-tomato/source/blender/modifiers/intern/MOD_meshdeform.c
    branches/soc-2011-tomato/source/blender/modifiers/intern/MOD_particlesystem.c
    branches/soc-2011-tomato/source/blender/render/intern/source/shadbuf.c
    branches/soc-2011-tomato/source/blender/windowmanager/intern/wm_event_system.c

Property Changed:
----------------
    branches/soc-2011-tomato/
    branches/soc-2011-tomato/source/blender/compositor/nodes/COM_DespeckleNode.cpp
    branches/soc-2011-tomato/source/blender/compositor/nodes/COM_DespeckleNode.h
    branches/soc-2011-tomato/source/blender/compositor/operations/COM_DespeckleOperation.cpp
    branches/soc-2011-tomato/source/blender/compositor/operations/COM_DespeckleOperation.h
    branches/soc-2011-tomato/source/blender/editors/interface/interface.c
    branches/soc-2011-tomato/source/blender/editors/space_outliner/
    branches/soc-2011-tomato/source/blender/editors/space_sequencer/sequencer_view.c
    branches/soc-2011-tomato/source/blender/nodes/composite/nodes/node_composite_despeckle.c


Property changes on: branches/soc-2011-tomato
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/ge_harmony:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/vgroup_modifiers:38694-39989
/trunk/blender:36831-50161
   + /branches/ge_harmony:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/vgroup_modifiers:38694-39989
/trunk/blender:36831-50171

Modified: branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_sequencer.py
===================================================================
--- branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_sequencer.py	2012-08-24 09:07:04 UTC (rev 50171)
+++ branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_sequencer.py	2012-08-24 09:09:33 UTC (rev 50172)
@@ -935,6 +935,10 @@
                     box.template_curve_mapping(mod, "curve_mapping", type='COLOR')
                 elif mod.type == 'HUE_CORRECT':
                     box.template_curve_mapping(mod, "curve_mapping", type='HUE')
+                elif mod.type == 'BRIGHT_CONTRAST':
+                    col = box.column()
+                    col.prop(mod, "bright")
+                    col.prop(mod, "contrast")
 
 
 if __name__ == "__main__":  # only for live edit.

Modified: branches/soc-2011-tomato/source/blender/blenfont/intern/blf_glyph.c
===================================================================
--- branches/soc-2011-tomato/source/blender/blenfont/intern/blf_glyph.c	2012-08-24 09:07:04 UTC (rev 50171)
+++ branches/soc-2011-tomato/source/blender/blenfont/intern/blf_glyph.c	2012-08-24 09:09:33 UTC (rev 50172)
@@ -437,13 +437,13 @@
 	y2 = y + g->pos_y - g->height;
 
 	if (font->flags & BLF_CLIPPING) {
-		if (!BLI_in_rctf(&font->clip_rec, dx + font->pos[0], y1 + font->pos[1]))
+		if (!BLI_rctf_isect_pt(&font->clip_rec, dx + font->pos[0], y1 + font->pos[1]))
 			return 0;
-		if (!BLI_in_rctf(&font->clip_rec, dx + font->pos[0], y2 + font->pos[1]))
+		if (!BLI_rctf_isect_pt(&font->clip_rec, dx + font->pos[0], y2 + font->pos[1]))
 			return 0;
-		if (!BLI_in_rctf(&font->clip_rec, dx1 + font->pos[0], y2 + font->pos[1]))
+		if (!BLI_rctf_isect_pt(&font->clip_rec, dx1 + font->pos[0], y2 + font->pos[1]))
 			return 0;
-		if (!BLI_in_rctf(&font->clip_rec, dx1 + font->pos[0], y1 + font->pos[1]))
+		if (!BLI_rctf_isect_pt(&font->clip_rec, dx1 + font->pos[0], y1 + font->pos[1]))
 			return 0;
 	}
 

Modified: branches/soc-2011-tomato/source/blender/blenkernel/BKE_context.h
===================================================================
--- branches/soc-2011-tomato/source/blender/blenkernel/BKE_context.h	2012-08-24 09:07:04 UTC (rev 50171)
+++ branches/soc-2011-tomato/source/blender/blenkernel/BKE_context.h	2012-08-24 09:09:33 UTC (rev 50172)
@@ -88,7 +88,7 @@
 	int used;
 } bContextStore;
 
-/* for the conrtext's rna mode enum
+/* for the context's rna mode enum
  * keep aligned with data_mode_strings in context.c */
 enum {
 	CTX_MODE_EDIT_MESH = 0,
@@ -174,7 +174,7 @@
  *
  * - listbases consist of CollectionPointerLink items and must be
  *   freed with BLI_freelistN!
- * - the dir listbase consits of LinkData items */
+ * - the dir listbase consists of LinkData items */
 
 /* data type, needed so we can tell between a NULL pointer and an empty list */
 enum {

Modified: branches/soc-2011-tomato/source/blender/blenkernel/BKE_screen.h
===================================================================
--- branches/soc-2011-tomato/source/blender/blenkernel/BKE_screen.h	2012-08-24 09:07:04 UTC (rev 50171)
+++ branches/soc-2011-tomato/source/blender/blenkernel/BKE_screen.h	2012-08-24 09:09:33 UTC (rev 50172)
@@ -55,7 +55,7 @@
 #include "RNA_types.h"
 
 /* spacetype has everything stored to get an editor working, it gets initialized via 
- * ED_spacetypes_init() in editors/area/spacetypes.c   */
+ * ED_spacetypes_init() in editors/space_api/spacetypes.c   */
 /* an editor in Blender is a combined ScrArea + SpaceType + SpaceData */
 
 #define BKE_ST_MAXNAME  64

Modified: branches/soc-2011-tomato/source/blender/blenkernel/intern/customdata.c
===================================================================
--- branches/soc-2011-tomato/source/blender/blenkernel/intern/customdata.c	2012-08-24 09:07:04 UTC (rev 50171)
+++ branches/soc-2011-tomato/source/blender/blenkernel/intern/customdata.c	2012-08-24 09:09:33 UTC (rev 50172)
@@ -1962,6 +1962,23 @@
 
 #define SOURCE_BUF_SIZE 100
 
+/* This define makes it so when we are interpolating customdata,
+ * the source is checked if it matches the destination.
+ *
+ * There are 2 ways to get around this,
+ * - Each interp function could accumulate the final result in a local, stack variable,
+ *   then apply the result at the end.
+ *
+ * - Or we can make a temp copy of the destinations custom data before applying it.
+ *   This isn't so efficient but avoids having to consider feedback loop on each interp function.
+ *   Since this is more of a corner case its also not worth worrying about speed too much.
+ *
+ * (opted for the second option for now), keeping as an ifdef since we may wan't to change how works.
+ *
+ * see bug [#32395] - Campbell.
+ */
+#define USE_INTERP_OVERLAP_FIX
+
 void CustomData_interp(const CustomData *source, CustomData *dest,
                        int *src_indices, float *weights, float *sub_weights,
                        int count, int dest_index)
@@ -1999,8 +2016,12 @@
 		if (dest->layers[dest_i].type == source->layers[src_i].type) {
 			void *src_data = source->layers[src_i].data;
 
-			for (j = 0; j < count; ++j)
+			for (j = 0; j < count; ++j) {
+				/* if this happens we need to do a temp copy, see: USE_INTERP_OVERLAP_FIX */
+				BLI_assert(((source == dest) && (dest_index == src_indices[j])) == FALSE);
+
 				sources[j] = (char *)src_data + typeInfo->size * src_indices[j];
+			}
 
 			dest_offset = dest_index * typeInfo->size;
 
@@ -2578,6 +2599,11 @@
 	void *source_buf[SOURCE_BUF_SIZE];
 	void **sources = source_buf;
 
+#ifdef USE_INTERP_OVERLAP_FIX
+	/* incase there is overlap with the source */
+	void *dest_block_copy = NULL;
+#endif
+
 	/* slow fallback in case we're interpolating a ridiculous number of
 	 * elements
 	 */
@@ -2590,14 +2616,35 @@
 		CustomDataLayer *layer = &data->layers[i];
 		const LayerTypeInfo *typeInfo = layerType_getInfo(layer->type);
 		if (typeInfo->interp) {
-			for (j = 0; j < count; ++j)
+			for (j = 0; j < count; ++j) {
+#ifdef USE_INTERP_OVERLAP_FIX
+				void *src_block;
+				if (UNLIKELY(src_blocks[j] == dest_block)) {
+					if (dest_block_copy == NULL) {
+						CustomData_bmesh_copy_data(data, data, dest_block, &dest_block_copy);
+					}
+					src_block = dest_block_copy;
+				}
+				else {
+					src_block = src_blocks[j];
+				}
+				sources[j] = (char *)src_block + layer->offset;
+#else
 				sources[j] = (char *)src_blocks[j] + layer->offset;
+#endif
+			}
 
 			typeInfo->interp(sources, weights, sub_weights, count,
 			                 (char *)dest_block + layer->offset);
 		}
 	}
 
+#ifdef USE_INTERP_OVERLAP_FIX
+	if (dest_block_copy) {
+		CustomData_bmesh_free_block(data, &dest_block_copy);
+	}
+#endif
+
 	if (count > SOURCE_BUF_SIZE) MEM_freeN(sources);
 }
 

Modified: branches/soc-2011-tomato/source/blender/blenkernel/intern/mask_rasterize.c
===================================================================
--- branches/soc-2011-tomato/source/blender/blenkernel/intern/mask_rasterize.c	2012-08-24 09:07:04 UTC (rev 50171)
+++ branches/soc-2011-tomato/source/blender/blenkernel/intern/mask_rasterize.c	2012-08-24 09:09:33 UTC (rev 50172)
@@ -1196,7 +1196,7 @@
 
 BLI_INLINE unsigned int layer_bucket_index_from_xy(MaskRasterLayer *layer, const float xy[2])
 {
-	BLI_assert(BLI_in_rctf_v(&layer->bounds, xy));
+	BLI_assert(BLI_rctf_isect_pt_v(&layer->bounds, xy));
 
 	return ( (unsigned int)((xy[0] - layer->bounds.xmin) * layer->buckets_xy_scalar[0])) +
 	       (((unsigned int)((xy[1] - layer->bounds.ymin) * layer->buckets_xy_scalar[1])) * layer->buckets_x);
@@ -1233,7 +1233,7 @@
 float BKE_maskrasterize_handle_sample(MaskRasterHandle *mr_handle, const float xy[2])
 {
 	/* can't do this because some layers may invert */
-	/* if (BLI_in_rctf_v(&mr_handle->bounds, xy)) */
+	/* if (BLI_rctf_isect_pt_v(&mr_handle->bounds, xy)) */
 
 	const unsigned int layers_tot = mr_handle->layers_tot;
 	unsigned int i;
@@ -1246,7 +1246,7 @@
 		float value_layer;
 
 		/* also used as signal for unused layer (when render is disabled) */
-		if (layer->alpha != 0.0f && BLI_in_rctf_v(&layer->bounds, xy)) {
+		if (layer->alpha != 0.0f && BLI_rctf_isect_pt_v(&layer->bounds, xy)) {
 			value_layer = 1.0f - layer_bucket_depth_from_xy(layer, xy);
 
 			switch (layer->falloff) {

Modified: branches/soc-2011-tomato/source/blender/blenkernel/intern/node.c
===================================================================
--- branches/soc-2011-tomato/source/blender/blenkernel/intern/node.c	2012-08-24 09:07:04 UTC (rev 50171)
+++ branches/soc-2011-tomato/source/blender/blenkernel/intern/node.c	2012-08-24 09:09:33 UTC (rev 50172)
@@ -1487,10 +1487,10 @@
  * referene other pointers which need validation.
  */
 typedef struct bNodeClipboardExtraInfo {
-    struct bNodeClipboardExtraInfo *next, *prev;
+	struct bNodeClipboardExtraInfo *next, *prev;
 	ID  *id;
-    char id_name[MAX_ID_NAME];
-    char library_name[FILE_MAX];
+	char id_name[MAX_ID_NAME];
+	char library_name[FILE_MAX];
 } bNodeClipboardExtraInfo;
 #endif  /* USE_NODE_CB_VALIDATE */
 
@@ -1499,7 +1499,7 @@
 	ListBase nodes;
 
 #ifdef USE_NODE_CB_VALIDATE
-    ListBase nodes_extra_info;
+	ListBase nodes_extra_info;
 #endif
 
 	ListBase links;
@@ -1531,7 +1531,7 @@
 	node_clipboard.nodes.first = node_clipboard.nodes.last = NULL;
 
 #ifdef USE_NODE_CB_VALIDATE
-    BLI_freelistN(&node_clipboard.nodes_extra_info);
+	BLI_freelistN(&node_clipboard.nodes_extra_info);
 #endif
 }
 
@@ -1582,28 +1582,28 @@
 void BKE_node_clipboard_add_node(bNode *node)
 {
 #ifdef USE_NODE_CB_VALIDATE
-    /* add extra info */

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list