Also removed unneeded image buffer scaling, it was only needed
for "early output" if there was no rotation. That is no longer
supported since it used to pixelate result a lot and interpolation
is always used now.
Saves quite a few of memory and CPU cycles.
Initial fix was not fully working, because faulty
edge shared the same address as screen area. This
lead to screen freeing issues -- double free (which
was supressed by guarded allocation actually) but
also freed memory access when iterating via edges
to free them.
Solved by a small hack which removes edges with bad
vertices from edges list. This prevents double-free
and freed memory access cased by corrupted files we're
currently fixing. In other cases this tweak is likely
be harmless -- in worst case scenario it'll lead to
small memory leak, which is not as much lethal as
freed memory access.
Added provision for saved corrupt blend files - caused by a startup.blend
addressing > 16 GB space, which was read in 32 bits.
Now an invalid screen will get removed immediate after read. Might give
a memory-not-in-memlist print, but that's quite safe.
Allowing any-key modifiers to work is cool, but this needs more work.
My previous fix made overlapping key presses (where you release key 1
just after pressing key 2) to not register as valid shortcuts.
A previous bugfix disabled the dynamic paint modifier for orco texture
coordinate evaluation of the modifier stack. However the MOD_APPLY_USECACHE
flag is not a good way to check if the modifier is evaluated for orcos.
Instead I've added a MOD_APPLY_ORCO flag. Also removed a bunch of
applyModifierEM callbacks, none of them served a purpose except for the
subsurf modifier.
Root of the issue was fixed by Brecht in svn rev56441.
This change only prevents crash of files created in
blender before that fix, and also gives more useable
information about what's wrong (apparently, assert
here was doing nothing).
Was a regression in rev53509, whic hallowed manual edit of properties
which weren't supposed to be editing manually.
Added the same effects length update as in trnaslation code, so now
updating strip frames from py/interface will keep things consistent.
compressed files we were not passing the full wide char path to zlib, so not
all file names worked. Now we use gzopen_w available in new zlib versions.
Patch by Tamito Kajiyama, I added an extra check for the zlib version so it
keeps compiling with older versions for now.
For platform maintainers:
Part of this commit are zlib 1.2.8 libraries for windows 32 bit. We still
need update libraries for windows 64 bit and mingw. There's a readme.txt
and build.bat included with instructions on how to build.
image, no images need to be refreshed then but the cursors needs to be redrawn
still. Otherwise it gets stuck, especially annoying in unexpected cases where the
mask has reached the maximum for all pixels in the brush.
of editmode on the child object.
Problem was that the object custom data mask was not taken into account when
rebuilding the derivedmesh in some cases, which is needed for the derivedmesh
to contain the mapping back to the original vertices. Now this data mask is
used for any derivedmesh build that will be cached.
Also problematic was that the datamask for the active object was applied to
all objects in the scene, which caused the parent object to be recalculated
when it didn't need to be. Now this datamask is only used for the active object.