[Bf-blender-cvs] [5f14bc1] master: GPencil: Fix segment fault when undo

2016-08-29 Thread Antonioya
Commit: 5f14bc1b47f3949cb5929153fcbb1916dc6cc0a8
Author: Antonioya
Date:   Mon Aug 29 22:17:57 2016 +0200
Branches: master
https://developer.blender.org/rB5f14bc1b47f3949cb5929153fcbb1916dc6cc0a8

GPencil: Fix segment fault when undo

When undo in UV/Image editor and press ESC key, there was segment fault
in Toolsettings because the reference was missing. Now the toolsetting
is loaded from context and not from local operator data.

===

M   source/blender/editors/gpencil/gpencil_paint.c

===

diff --git a/source/blender/editors/gpencil/gpencil_paint.c 
b/source/blender/editors/gpencil/gpencil_paint.c
index 70a4b29..cc45cbd 100644
--- a/source/blender/editors/gpencil/gpencil_paint.c
+++ b/source/blender/editors/gpencil/gpencil_paint.c
@@ -2310,6 +2310,7 @@ static void gpencil_move_last_stroke_to_back(bContext *C)
 static int gpencil_draw_modal(bContext *C, wmOperator *op, const wmEvent 
*event)
 {
tGPsdata *p = op->customdata;
+   ToolSettings *ts = CTX_data_tool_settings(C);
int estate = OPERATOR_PASS_THROUGH; /* default exit state - pass 
through to support MMB view nav, etc. */

/* if (event->type == NDOF_MOTION)
@@ -2363,9 +2364,11 @@ static int gpencil_draw_modal(bContext *C, wmOperator 
*op, const wmEvent *event)
/* exit() ends the current stroke before cleaning up */
/* printf("\t\tGP - end of paint op + end of stroke\n"); */
/* if drawing polygon and enable on back, must move stroke */
-   if ((p->scene->toolsettings->gpencil_flags & 
GP_TOOL_FLAG_PAINT_ONBACK) && (p->paintmode == GP_PAINTMODE_DRAW_POLY)) {
-   if (p->flags & GP_PAINTFLAG_STROKEADDED) {
-   gpencil_move_last_stroke_to_back(C);
+   if (ts) {
+   if ((ts->gpencil_flags & GP_TOOL_FLAG_PAINT_ONBACK) && 
(p->paintmode == GP_PAINTMODE_DRAW_POLY)) {
+   if (p->flags & GP_PAINTFLAG_STROKEADDED) {
+   gpencil_move_last_stroke_to_back(C);
+   }
}
}
p->status = GP_STATUS_DONE;
@@ -2425,9 +2428,11 @@ static int gpencil_draw_modal(bContext *C, wmOperator 
*op, const wmEvent *event)
else {
/* printf("\t\tGP - end of stroke + op\n"); */
/* if drawing polygon and enable on back, must 
move stroke */
-   if ((p->scene->toolsettings->gpencil_flags & 
GP_TOOL_FLAG_PAINT_ONBACK) && (p->paintmode == GP_PAINTMODE_DRAW_POLY)) {
-   if (p->flags & 
GP_PAINTFLAG_STROKEADDED) {
-   
gpencil_move_last_stroke_to_back(C);
+   if (ts) {
+   if ((ts->gpencil_flags & 
GP_TOOL_FLAG_PAINT_ONBACK) && (p->paintmode == GP_PAINTMODE_DRAW_POLY)) {
+   if (p->flags & 
GP_PAINTFLAG_STROKEADDED) {
+   
gpencil_move_last_stroke_to_back(C);
+   }
}
}
p->status = GP_STATUS_DONE;
@@ -2511,9 +2516,11 @@ static int gpencil_draw_modal(bContext *C, wmOperator 
*op, const wmEvent *event)
 *   region (as above)
 */
/* if drawing polygon and enable on back, must 
move stroke */
-   if ((p->scene->toolsettings->gpencil_flags & 
GP_TOOL_FLAG_PAINT_ONBACK) && (p->paintmode == GP_PAINTMODE_DRAW_POLY)) {
-   if (p->flags & 
GP_PAINTFLAG_STROKEADDED) {
-   
gpencil_move_last_stroke_to_back(C);
+   if (ts) {
+   if ((ts->gpencil_flags & 
GP_TOOL_FLAG_PAINT_ONBACK) && (p->paintmode == GP_PAINTMODE_DRAW_POLY)) {
+   if (p->flags & 
GP_PAINTFLAG_STROKEADDED) {
+   
gpencil_move_last_stroke_to_back(C);
+   }
}
}
p->status = GP_STATUS_DONE;

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [fa092da] master: GPencil: Replace strcpy by BLI_strncpy

2016-08-29 Thread Antonioya
Commit: fa092da37700b15374db50803bd7afe2a407bb55
Author: Antonioya
Date:   Mon Aug 29 21:55:02 2016 +0200
Branches: master
https://developer.blender.org/rBfa092da37700b15374db50803bd7afe2a407bb55

GPencil: Replace strcpy by BLI_strncpy

===

M   source/blender/editors/space_view3d/view3d_ruler.c

===

diff --git a/source/blender/editors/space_view3d/view3d_ruler.c 
b/source/blender/editors/space_view3d/view3d_ruler.c
index 67a40ae..3c13ab9 100644
--- a/source/blender/editors/space_view3d/view3d_ruler.c
+++ b/source/blender/editors/space_view3d/view3d_ruler.c
@@ -357,7 +357,7 @@ static bool view3d_ruler_to_gpencil(bContext *C, RulerInfo 
*ruler_info)
gps->flag = GP_STROKE_3DSPACE;
gps->thickness = 3;
/* assign color to stroke */
-   strcpy(gps->colorname, palcolor->info);
+   BLI_strncpy(gps->colorname, palcolor->info, 
sizeof(gps->colorname));
gps->palcolor = palcolor;
BLI_addtail(>strokes, gps);
changed = true;

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [5c04b4f] master: Fix T49196

2016-08-29 Thread lazydodo
Commit: 5c04b4fdfb0c914889ddcf2202712e39e08d8946
Author: lazydodo
Date:   Mon Aug 29 13:33:01 2016 -0600
Branches: master
https://developer.blender.org/rB5c04b4fdfb0c914889ddcf2202712e39e08d8946

Fix T49196

===

M   source/gameengine/GamePlayer/ghost/CMakeLists.txt

===

diff --git a/source/gameengine/GamePlayer/ghost/CMakeLists.txt 
b/source/gameengine/GamePlayer/ghost/CMakeLists.txt
index 6c09af3..577e25d 100644
--- a/source/gameengine/GamePlayer/ghost/CMakeLists.txt
+++ b/source/gameengine/GamePlayer/ghost/CMakeLists.txt
@@ -81,6 +81,10 @@ if(WIN32)
blender_include_dirs(../../../../intern/utfconv)
 endif()
 
+if(WITH_INPUT_NDOF)
+   add_definitions(-DWITH_INPUT_NDOF)
+endif(WITH_INPUT_NDOF)
+
 if(WITH_CODEC_FFMPEG)
add_definitions(-DWITH_FFMPEG)
 endif()

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [ae3d5dd] asset-engine: First (totally experimental and useless) version of a future 'BlenderCloud' asset engine.

2016-08-29 Thread Bastien Montagne
Commit: ae3d5ddc7d1104b937761a7dbf8cce7246b9b94e
Author: Bastien Montagne
Date:   Mon Aug 29 17:10:39 2016 +0200
Branches: asset-engine
https://developer.blender.org/rBae3d5ddc7d1104b937761a7dbf8cce7246b9b94e

First (totally experimental and useless) version of a future 'BlenderCloud' 
asset engine.

For now it's nothing but an empty shell - but a working proof of concept of how 
to 'embed'
that ugly asyncio-based stuff into a background working thread for asset 
engines.

Hopefully more funny stuff to come soon(ish).

===

M   release/scripts/startup/bl_operators/__init__.py
A   release/scripts/startup/bl_operators/claude/__init__.py
A   release/scripts/startup/bl_operators/claude/appdirs.py
A   release/scripts/startup/bl_operators/claude/cache.py
A   release/scripts/startup/bl_operators/claude/pillar.py
A   release/scripts/startup/bl_operators/claude/texture_browser.py
A   
release/scripts/startup/bl_operators/claude/wheels/CacheControl-0.11.6-py3-none-any.whl
A   release/scripts/startup/bl_operators/claude/wheels/__init__.py
A   
release/scripts/startup/bl_operators/claude/wheels/lockfile-0.12.2-py2.py3-none-any.whl
A   
release/scripts/startup/bl_operators/claude/wheels/pillarsdk-1.2.0-py2.py3-none-any.whl
A   
release/scripts/startup/bl_operators/claude/wheels/pillarsdk-1.4.0-py2.py3-none-any.whl

===

diff --git a/release/scripts/startup/bl_operators/__init__.py 
b/release/scripts/startup/bl_operators/__init__.py
index 1fb7868..0b13200 100644
--- a/release/scripts/startup/bl_operators/__init__.py
+++ b/release/scripts/startup/bl_operators/__init__.py
@@ -53,6 +53,7 @@ _modules = [
 
 _modules.append("amber")
 _modules.append("amber_asyncio")
+_modules.append("claude")
 
 import bpy
 
diff --git a/release/scripts/startup/bl_operators/claude/__init__.py 
b/release/scripts/startup/bl_operators/claude/__init__.py
new file mode 100644
index 000..1a64ae2
--- /dev/null
+++ b/release/scripts/startup/bl_operators/claude/__init__.py
@@ -0,0 +1,437 @@
+# # BEGIN GPL LICENSE BLOCK #
+#
+#  This program is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU General Public License
+#  as published by the Free Software Foundation; either version 2
+#  of the License, or (at your option) any later version.
+#
+#  This program is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with this program; if not, write to the Free Software Foundation,
+#  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# # END GPL LICENSE BLOCK #
+
+# 
+
+# Blender Cloud Asset Engine, using Pillar and based on the Cloud addon.
+# "Claude" (French first name pronounced in a similar way as “cloud”) stands 
for Cloud Light Asset Under Development Engine.
+# Note: This will be a simple addon later, but until it gets to master, it's 
simpler to have it as a startup module!
+
+import bpy
+from bpy.types import (
+AssetEngine,
+Panel,
+PropertyGroup,
+)
+from bpy.props import (
+StringProperty,
+BoolProperty,
+IntProperty,
+FloatProperty,
+EnumProperty,
+CollectionProperty,
+)
+
+# Support reloading
+if 'pillar' in locals():
+import importlib
+
+wheels = importlib.reload(wheels)
+wheels.load_wheels()
+
+pillar = importlib.reload(pillar)
+cache = importlib.reload(cache)
+else:
+from . import wheels
+
+wheels.load_wheels()
+
+from . import pillar, cache
+
+import concurrent.futures as futures
+import asyncio
+import threading
+
+import binascii
+import hashlib
+import json
+import os
+import stat
+import struct
+import time
+import random
+
+import pillarsdk
+from . import pillar, cache
+
+REQUIRED_ROLES_FOR_TEXTURE_BROWSER = {'subscriber', 'demo'}
+
+
+##
+# Helpers.
+
+
+#
+# Claude Jobs.
+class ClaudeJob:
+@staticmethod
+async def check_loop(loop, evt_cancel):
+"""Async function merely endlessly checking 'cancel' flag is not set, 
and stopping the loop in case it is..."""
+while True:
+if evt_cancel.is_set():
+print("CAAANNCCCLE!")
+loop.stop()
+return
+await asyncio.sleep(1e-6)
+
+@classmethod
+def run_loop(cls, loop, evt_cancel):
+"""Function called in worker thread, sets the loop for current thread, 
and runs it."""
+asyncio.set_event_loop(loop)
+asyncio.ensure_future(cls.check_loop(loop, evt_cancel))
+loop.run_forever()
+loop.close()
+
+ 

[Bf-blender-cvs] [9897132] asset-engine: Merge branch 'master' into asset-enginea, and update for new 'checkdir' behavior/expectations.

2016-08-29 Thread Bastien Montagne
Commit: 989713273137f0c76f85b6f60aedd5900aa46246
Author: Bastien Montagne
Date:   Mon Aug 29 17:05:45 2016 +0200
Branches: asset-engine
https://developer.blender.org/rB989713273137f0c76f85b6f60aedd5900aa46246

Merge branch 'master' into asset-enginea, and update for new 'checkdir' 
behavior/expectations.

Conflicts:
source/blender/editors/space_file/filelist.c

===



===

diff --cc release/scripts/startup/bl_operators/amber.py
index d78fc6a,000..36c83ea
mode 100644,00..100644
--- a/release/scripts/startup/bl_operators/amber.py
+++ b/release/scripts/startup/bl_operators/amber.py
@@@ -1,793 -1,0 +1,793 @@@
 +# # BEGIN GPL LICENSE BLOCK #
 +#
 +#  This program is free software; you can redistribute it and/or
 +#  modify it under the terms of the GNU General Public License
 +#  as published by the Free Software Foundation; either version 2
 +#  of the License, or (at your option) any later version.
 +#
 +#  This program is distributed in the hope that it will be useful,
 +#  but WITHOUT ANY WARRANTY; without even the implied warranty of
 +#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 +#  GNU General Public License for more details.
 +#
 +#  You should have received a copy of the GNU General Public License
 +#  along with this program; if not, write to the Free Software Foundation,
 +#  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 +#
 +# # END GPL LICENSE BLOCK #
 +
 +# 
 +
 +# Note: This will be a simple addon later, but until it gets to master, it's 
simpler to have it
 +#   as a startup module!
 +
 +import bpy
 +from bpy.types import (
 +AssetEngine,
 +Panel,
 +PropertyGroup,
 +UIList,
 +)
 +from bpy.props import (
 +StringProperty,
 +BoolProperty,
 +IntProperty,
 +FloatProperty,
 +EnumProperty,
 +CollectionProperty,
 +)
 +
 +import binascii
 +import concurrent.futures as futures
 +import hashlib
 +import json
 +import os
 +import stat
 +import struct
 +import time
 +import random
 +
 +
 +AMBER_DB_NAME = "__amber_db.json"
 +AMBER_DBK_VERSION = "version"
 +
 +
 +##
 +# Helpers.
 +
 +# Notes about UUIDs:
 +#* UUID of an asset/variant/revision is computed once at its creation! 
Later changes to data do not affect it.
 +#* Collision, for unlikely it is, may happen across different 
repositories...
 +#  Doubt this will be practical issue though.
 +#* We keep eight first bytes of 'clear' identifier, to (try to) keep some 
readable uuid.
 +
 +def _uuid_gen_single(used_uuids, uuid_root, h, str_arg):
 +h.update(str_arg.encode())
 +uuid = uuid_root + h.digest()
 +uuid = uuid[:23].replace(b'\0', b'\1')  # No null chars, RNA 'bytes' use 
them as in regular strings... :/
 +if uuid not in used_uuids:  # *Very* likely, but...
 +used_uuids.add(uuid)
 +return uuid
 +return None
 +
 +
 +def _uuid_gen(used_uuids, uuid_root, bytes_seed, *str_args):
 +h = hashlib.md5(bytes_seed)
 +for arg in str_args:
 +uuid = _uuid_gen_single(used_uuids, uuid_root, h, arg)
 +if uuid is not None:
 +return uuid
 +# This is a fallback in case we'd get a collision... Should never be 
needed in real life!
 +for i in range(10):
 +uuid = _uuid_gen_single(used_uuids, uuid_root, h, i.to_bytes(4, 
'little'))
 +if uuid is not None:
 +return uuid
 +return None  # If this happens...
 +
 +
 +def uuid_asset_gen(used_uuids, path_db, name, tags):
 +uuid_root = name.encode()[:8] + b'|'
 +return _uuid_gen_single(used_uuids, uuid_root, path_db.encode(), name, 
*tags)
 +
 +
 +def uuid_variant_gen(used_uuids, asset_uuid, name):
 +uuid_root = name.encode()[:8] + b'|'
 +return _uuid_gen_single(used_uuids, uuid_root, asset_uuid, name)
 +
 +
 +def uuid_revision_gen(used_uuids, variant_uuid, number, size, time):
 +uuid_root = str(number).encode() + b'|'
 +return _uuid_gen_single(used_uuids, uuid_root, variant_uuid, str(number), 
str(size), str(timestamp))
 +
 +
 +def uuid_unpack_bytes(uuid_bytes):
 +return struct.unpack("!", uuid_bytes.ljust(16, b'\0'))
 +
 +
 +def uuid_unpack(uuid_hexstr):
 +return uuid_unpack_bytes(binascii.unhexlify(uuid_hexstr))
 +
 +
 +def uuid_unpack_asset(uuid_repo_hexstr, uuid_asset_hexstr):
 +return uuid_unpack_bytes(binascii.unhexlify(uuid_repo_hexstr).ljust(8, 
b'\0') +
 + binascii.unhexlify(uuid_asset_hexstr).ljust(8, 
b'\0'))
 +
 +
 +def uuid_pack(uuid_iv4):
 +print(uuid_iv4)
 +return binascii.hexlify(struct.pack("!", *uuid_iv4))
 +
 +
 +# XXX Hack, once this becomes a real addon we'll just use addons' config 
system, for now store that in some own config.
 +amber_repos_path = os.path.join(bpy.utils.user_resource('CONFIG', 

[Bf-blender-cvs] [2090ed1] master: Cleanup/refactor spacefile's 'check dir' code.

2016-08-29 Thread Bastien Montagne
Commit: 2090ed164f674f9b3e29975e7d902eeacae3e55f
Author: Bastien Montagne
Date:   Mon Aug 29 16:42:49 2016 +0200
Branches: master
https://developer.blender.org/rB2090ed164f674f9b3e29975e7d902eeacae3e55f

Cleanup/refactor spacefile's 'check dir' code.

Was kinda split in two different places (one allowed to modify given path to 
always get a valid one,
the other only checking for validity of given path), not nice - and broken in 
asset branch case.

So rather extended a bit FileList->checkdirf to handle both cases (modifying 
and non-modifying path).

===

M   source/blender/editors/space_file/file_intern.h
M   source/blender/editors/space_file/file_ops.c
M   source/blender/editors/space_file/file_utils.c
M   source/blender/editors/space_file/filelist.c
M   source/blender/editors/space_file/filelist.h
M   source/blender/editors/space_file/filesel.c

===

diff --git a/source/blender/editors/space_file/file_intern.h 
b/source/blender/editors/space_file/file_intern.h
index a55b18a..71e38f7 100644
--- a/source/blender/editors/space_file/file_intern.h
+++ b/source/blender/editors/space_file/file_intern.h
@@ -128,7 +128,6 @@ void file_panels_register(struct ARegionType *art);
 
 /* file_utils.c */
 void file_tile_boundbox(const ARegion *ar, FileLayout *layout, const int file, 
rcti *r_bounds);
-bool file_is_dir(struct SpaceFile *sfile, const char *path);
 
 #endif /* __FILE_INTERN_H__ */
 
diff --git a/source/blender/editors/space_file/file_ops.c 
b/source/blender/editors/space_file/file_ops.c
index c42ff12..9f5e98d 100644
--- a/source/blender/editors/space_file/file_ops.c
+++ b/source/blender/editors/space_file/file_ops.c
@@ -1894,7 +1894,7 @@ void file_directory_enter_handle(bContext *C, void 
*UNUSED(arg_unused), void *UN
file_expand_directory(C);
 
/* special case, user may have pasted a filepath into the 
directory */
-   if (!file_is_dir(sfile, sfile->params->dir)) {
+   if (!filelist_is_dir(sfile->files, sfile->params->dir)) {
char tdir[FILE_MAX_LIBEXTRA];
char *group, *name;
 
@@ -1920,7 +1920,7 @@ void file_directory_enter_handle(bContext *C, void 
*UNUSED(arg_unused), void *UN
 
BLI_cleanup_dir(G.main->name, sfile->params->dir);
 
-   if (file_is_dir(sfile, sfile->params->dir)) {
+   if (filelist_is_dir(sfile->files, sfile->params->dir)) {
/* if directory exists, enter it immediately */
ED_file_change_dir(C);
 
@@ -1993,7 +1993,7 @@ void file_filename_enter_handle(bContext *C, void 
*UNUSED(arg_unused), void *arg
BLI_join_dirfile(filepath, sizeof(sfile->params->dir), 
sfile->params->dir, sfile->params->file);
 
/* if directory, open it and empty filename field */
-   if (file_is_dir(sfile, filepath)) {
+   if (filelist_is_dir(sfile->files, filepath)) {
BLI_cleanup_dir(G.main->name, filepath);
BLI_strncpy(sfile->params->dir, filepath, 
sizeof(sfile->params->dir));
sfile->params->file[0] = '\0';
diff --git a/source/blender/editors/space_file/file_utils.c 
b/source/blender/editors/space_file/file_utils.c
index f19e301..c1caf5a 100644
--- a/source/blender/editors/space_file/file_utils.c
+++ b/source/blender/editors/space_file/file_utils.c
@@ -48,17 +48,3 @@ void file_tile_boundbox(const ARegion *ar, FileLayout 
*layout, const int file, r
BLI_rcti_init(r_bounds, xmin, xmin + layout->tile_w + 
layout->tile_border_x,
  ymax - layout->tile_h - layout->tile_border_y, ymax);
 }
-
-/* Cannot directly use BLI_is_dir in libloading context... */
-bool file_is_dir(struct SpaceFile *sfile, const char *path)
-{
-   if (sfile->params->type == FILE_LOADLIB) {
-   char tdir[FILE_MAX_LIBEXTRA];
-   char *name;
-   if (BLO_library_path_explode(sfile->params->dir, tdir, NULL, 
) && BLI_is_file(tdir)) {
-   /* .blend file itself and group are considered as 
directories, not final datablock names. */
-   return name ? false : true;
-   }
-   }
-   return BLI_is_dir(path);
-}
diff --git a/source/blender/editors/space_file/filelist.c 
b/source/blender/editors/space_file/filelist.c
index b6e4991..1471932 100644
--- a/source/blender/editors/space_file/filelist.c
+++ b/source/blender/editors/space_file/filelist.c
@@ -309,8 +309,9 @@ typedef struct FileList {
 
struct BlendHandle *libfiledata;
 
-   /* Set given path as root directory, may change given string in place 
to a valid value. */
-   void (*checkdirf)(struct FileList *, char *);
+   /* Set given path as root 

[Bf-blender-cvs] [8f215d9] master: Fix for Bevel segments bug T49183; but doesn't fix whole report yet.

2016-08-29 Thread Howard Trickey
Commit: 8f215d9b527681773bb1f02b57d00afc860d8122
Author: Howard Trickey
Date:   Mon Aug 29 08:51:04 2016 -0400
Branches: master
https://developer.blender.org/rB8f215d9b527681773bb1f02b57d00afc860d8122

Fix for Bevel segments bug T49183; but doesn't fix whole report yet.

===

M   source/blender/editors/mesh/editmesh_bevel.c

===

diff --git a/source/blender/editors/mesh/editmesh_bevel.c 
b/source/blender/editors/mesh/editmesh_bevel.c
index 302ca40..a81add7 100644
--- a/source/blender/editors/mesh/editmesh_bevel.c
+++ b/source/blender/editors/mesh/editmesh_bevel.c
@@ -145,6 +145,7 @@ static bool edbm_bevel_init(bContext *C, wmOperator *op, 
const bool is_modal)
opdata->em = em;
opdata->is_modal = is_modal;
opdata->value_mode = OFFSET_VALUE;
+   opdata->segments = (float) RNA_int_get(op->ptr, "segments");
pixels_per_inch = U.dpi * U.pixelsize;
 
for (i = 0; i < NUM_VALUE_KINDS; i++) {

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [09dc8a7] master: Fix T49181: Movie clip animation lost when invoking action which reloads the clip

2016-08-29 Thread Sergey Sharybin
Commit: 09dc8a7954a9ded72f5b3b30fcf7953be29301da
Author: Sergey Sharybin
Date:   Mon Aug 29 13:09:03 2016 +0200
Branches: master
https://developer.blender.org/rB09dc8a7954a9ded72f5b3b30fcf7953be29301da

Fix T49181: Movie clip animation lost when invoking action which reloads the 
clip

Was a bug since the very beginning of movie clip animation support
which was done on Feb 2012.

===

M   source/blender/blenkernel/intern/movieclip.c

===

diff --git a/source/blender/blenkernel/intern/movieclip.c 
b/source/blender/blenkernel/intern/movieclip.c
index 482015d..6794a8e 100644
--- a/source/blender/blenkernel/intern/movieclip.c
+++ b/source/blender/blenkernel/intern/movieclip.c
@@ -1247,8 +1247,6 @@ static void free_buffers(MovieClip *clip)
IMB_free_anim(clip->anim);
clip->anim = NULL;
}
-
-   BKE_animdata_free((ID *) clip, false);
 }
 
 void BKE_movieclip_clear_cache(MovieClip *clip)
@@ -1487,6 +1485,7 @@ void BKE_movieclip_free(MovieClip *clip)
free_buffers(clip);
 
BKE_tracking_free(>tracking);
+   BKE_animdata_free((ID *) clip, false);
 }
 
 MovieClip *BKE_movieclip_copy(Main *bmain, MovieClip *clip)

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [a9f8e38] master: Movie clip: Add missing animation data RNA declaration

2016-08-29 Thread Sergey Sharybin
Commit: a9f8e384f1b3335e8a87468fdb07678cd8b580fc
Author: Sergey Sharybin
Date:   Mon Aug 29 13:03:50 2016 +0200
Branches: master
https://developer.blender.org/rBa9f8e384f1b3335e8a87468fdb07678cd8b580fc

Movie clip: Add missing animation data RNA declaration

Was missing since the beginning of the days.

===

M   source/blender/makesrna/intern/rna_movieclip.c

===

diff --git a/source/blender/makesrna/intern/rna_movieclip.c 
b/source/blender/makesrna/intern/rna_movieclip.c
index 19d7836..15411f8 100644
--- a/source/blender/makesrna/intern/rna_movieclip.c
+++ b/source/blender/makesrna/intern/rna_movieclip.c
@@ -347,6 +347,8 @@ static void rna_def_movieclip(BlenderRNA *brna)
RNA_def_property_pointer_sdna(prop, NULL, "colorspace_settings");
RNA_def_property_struct_type(prop, 
"ColorManagedInputColorspaceSettings");
RNA_def_property_ui_text(prop, "Color Space Settings", "Input color 
space settings");
+
+   rna_def_animdata_common(srna);
 }
 
 void RNA_def_movieclip(BlenderRNA *brna)

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [cc2faa4] master: Fix T49172: mixdown sound op not exporting full length

2016-08-29 Thread Jörg Müller
Commit: cc2faa409fc8508fb0131bdc344651f2863957f6
Author: Jörg Müller
Date:   Mon Aug 29 10:54:32 2016 +0200
Branches: master
https://developer.blender.org/rBcc2faa409fc8508fb0131bdc344651f2863957f6

Fix T49172: mixdown sound op not exporting full length

Thanks Flavio Perez for the fix.

===

M   source/blender/editors/sound/sound_ops.c

===

diff --git a/source/blender/editors/sound/sound_ops.c 
b/source/blender/editors/sound/sound_ops.c
index 03f2e14..ac3fc76 100644
--- a/source/blender/editors/sound/sound_ops.c
+++ b/source/blender/editors/sound/sound_ops.c
@@ -348,10 +348,10 @@ static int sound_mixdown_exec(bContext *C, wmOperator *op)
BLI_path_abs(filename, bmain->name);
 
if (split)
-   result = AUD_mixdown_per_channel(scene->sound_scene, SFRA * 
specs.rate / FPS, (EFRA - SFRA) * specs.rate / FPS,
+   result = AUD_mixdown_per_channel(scene->sound_scene, SFRA * 
specs.rate / FPS, (EFRA - SFRA + 1) * specs.rate / FPS,
 accuracy, filename, specs, 
container, codec, bitrate);
else
-   result = AUD_mixdown(scene->sound_scene, SFRA * specs.rate / 
FPS, (EFRA - SFRA) * specs.rate / FPS,
+   result = AUD_mixdown(scene->sound_scene, SFRA * specs.rate / 
FPS, (EFRA - SFRA + 1) * specs.rate / FPS,
 accuracy, filename, specs, container, 
codec, bitrate);
 
if (result) {

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] [5af58fa] master: Fix compilation error caused by wrong array initialization

2016-08-29 Thread Sergey Sharybin
Commit: 5af58faf799e3fd19ca9319f7ebef0654967bdc0
Author: Sergey Sharybin
Date:   Mon Aug 29 09:40:15 2016 +0200
Branches: master
https://developer.blender.org/rB5af58faf799e3fd19ca9319f7ebef0654967bdc0

Fix compilation error caused by wrong array initialization

We usually don't silence migh-be-uninitialized warning (which is the only
thing which could explain setting matrix to all zeroes) so we can catch
such errors when using tools like Valgrind.

I don't get warning here and the initializer was wrong, so removing it.

If it-s _REALLY_ needed please do a proper initialization.

===

M   source/blender/editors/gpencil/gpencil_edit.c

===

diff --git a/source/blender/editors/gpencil/gpencil_edit.c 
b/source/blender/editors/gpencil/gpencil_edit.c
index 99f4ca2..9f700e8 100644
--- a/source/blender/editors/gpencil/gpencil_edit.c
+++ b/source/blender/editors/gpencil/gpencil_edit.c
@@ -1894,7 +1894,7 @@ static int gp_strokes_reproject_poll(bContext *C)
return (gp_stroke_edit_poll(C) && ED_operator_view3d_active(C));
 }
 
-static int gp_strokes_reproject_exec(bContext *C, wmOperator *op)
+static int gp_strokes_reproject_exec(bContext *C, wmOperator *UNUSED(op))
 {
Scene *scene = CTX_data_scene(C);
GP_SpaceConversion gsc = {NULL};
@@ -1908,7 +1908,7 @@ static int gp_strokes_reproject_exec(bContext *C, 
wmOperator *op)
if (gps->flag & GP_STROKE_SELECT) {
bGPDspoint *pt;
int i;
-   float inverse_diff_mat[4][4] = {0.0f};
+   float inverse_diff_mat[4][4];

/* Compute inverse matrix for unapplying parenting once 
instead of doing per-point */
/* TODO: add this bit to the iteration macro? */

___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs