[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