Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build_files/cmake/platform/platform_win32.cmake6
-rw-r--r--source/blender/blenkernel/BKE_animsys.h1
-rw-r--r--source/blender/editors/space_sequencer/sequencer_edit.c30
3 files changed, 22 insertions, 15 deletions
diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake
index 5cc5fb8c7d6..d1a19784365 100644
--- a/build_files/cmake/platform/platform_win32.cmake
+++ b/build_files/cmake/platform/platform_win32.cmake
@@ -142,10 +142,8 @@ if(NOT DEFINED LIBDIR)
message(STATUS "32 bit compiler detected.")
set(LIBDIR_BASE "windows")
endif()
- if(MSVC_VERSION EQUAL 1911)
- message(STATUS "Visual Studio 2017 detected.")
- set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/${LIBDIR_BASE}_vc14)
- elseif(MSVC_VERSION EQUAL 1910)
+ # Can be 1910..1912
+ if(MSVC_VERSION GREATER_EQUAL 1910)
message(STATUS "Visual Studio 2017 detected.")
set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/${LIBDIR_BASE}_vc14)
elseif(MSVC_VERSION EQUAL 1900)
diff --git a/source/blender/blenkernel/BKE_animsys.h b/source/blender/blenkernel/BKE_animsys.h
index 7b3ae70b9f8..d95b4a838b8 100644
--- a/source/blender/blenkernel/BKE_animsys.h
+++ b/source/blender/blenkernel/BKE_animsys.h
@@ -35,6 +35,7 @@ struct ID;
struct ListBase;
struct Main;
struct AnimData;
+struct FCurve;
struct KeyingSet;
struct KS_Path;
struct PathResolvedRNA;
diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c
index 9e48ab294d9..8f6eb064b0d 100644
--- a/source/blender/editors/space_sequencer/sequencer_edit.c
+++ b/source/blender/editors/space_sequencer/sequencer_edit.c
@@ -695,7 +695,7 @@ static Sequence *cut_seq_hard(Scene *scene, Sequence *seq, int cutframe)
BKE_sequence_calc(scene, seq);
}
- if ((seq->startstill) && (cutframe < seq->start)) {
+ if ((seq->startstill) && (cutframe <= seq->start)) {
/* don't do funny things with METAs ... */
if (seq->type == SEQ_TYPE_META) {
skip_dup = true;
@@ -709,13 +709,15 @@ static Sequence *cut_seq_hard(Scene *scene, Sequence *seq, int cutframe)
}
}
/* normal strip */
- else if ((cutframe >= seq->start) && (cutframe <= (seq->start + seq->len))) {
+ else if ((cutframe >= seq->start) && (cutframe < (seq->start + seq->len))) {
seq->endofs = 0;
seq->endstill = 0;
seq->anim_endofs += (seq->start + seq->len) - cutframe;
}
/* strips with extended stillframes after */
- else if (((seq->start + seq->len) < cutframe) && (seq->endstill)) {
+ else if (((seq->start + seq->len) == cutframe) ||
+ (((seq->start + seq->len) < cutframe) && (seq->endstill)))
+ {
seq->endstill -= seq->enddisp - cutframe;
/* don't do funny things with METAs ... */
if (seq->type == SEQ_TYPE_META) {
@@ -744,7 +746,7 @@ static Sequence *cut_seq_hard(Scene *scene, Sequence *seq, int cutframe)
}
/* normal strip */
- else if ((cutframe >= seqn->start) && (cutframe <= (seqn->start + seqn->len))) {
+ else if ((cutframe >= seqn->start) && (cutframe < (seqn->start + seqn->len))) {
seqn->start = cutframe;
seqn->startstill = 0;
seqn->startofs = 0;
@@ -755,7 +757,9 @@ static Sequence *cut_seq_hard(Scene *scene, Sequence *seq, int cutframe)
}
/* strips with extended stillframes after */
- else if (((seqn->start + seqn->len) < cutframe) && (seqn->endstill)) {
+ else if (((seqn->start + seqn->len) == cutframe) ||
+ (((seqn->start + seqn->len) < cutframe) && (seqn->endstill)))
+ {
seqn->start = cutframe;
seqn->startofs = 0;
seqn->anim_startofs += ts.len - 1;
@@ -791,7 +795,7 @@ static Sequence *cut_seq_soft(Scene *scene, Sequence *seq, int cutframe)
/* First Strip! */
/* strips with extended stillfames before */
- if ((seq->startstill) && (cutframe < seq->start)) {
+ if ((seq->startstill) && (cutframe <= seq->start)) {
/* don't do funny things with METAs ... */
if (seq->type == SEQ_TYPE_META) {
skip_dup = true;
@@ -805,11 +809,13 @@ static Sequence *cut_seq_soft(Scene *scene, Sequence *seq, int cutframe)
}
}
/* normal strip */
- else if ((cutframe >= seq->start) && (cutframe <= (seq->start + seq->len))) {
+ else if ((cutframe >= seq->start) && (cutframe < (seq->start + seq->len))) {
seq->endofs = (seq->start + seq->len) - cutframe;
}
/* strips with extended stillframes after */
- else if (((seq->start + seq->len) < cutframe) && (seq->endstill)) {
+ else if (((seq->start + seq->len) == cutframe) ||
+ (((seq->start + seq->len) < cutframe) && (seq->endstill)))
+ {
seq->endstill -= seq->enddisp - cutframe;
/* don't do funny things with METAs ... */
if (seq->type == SEQ_TYPE_META) {
@@ -835,9 +841,9 @@ static Sequence *cut_seq_soft(Scene *scene, Sequence *seq, int cutframe)
seqn->endofs = ts.endofs;
seqn->endstill = ts.endstill;
}
-
+
/* normal strip */
- else if ((cutframe >= seqn->start) && (cutframe <= (seqn->start + seqn->len))) {
+ if ((cutframe >= seqn->start) && (cutframe < (seqn->start + seqn->len))) {
seqn->startstill = 0;
seqn->startofs = cutframe - ts.start;
seqn->endofs = ts.endofs;
@@ -845,7 +851,9 @@ static Sequence *cut_seq_soft(Scene *scene, Sequence *seq, int cutframe)
}
/* strips with extended stillframes after */
- else if (((seqn->start + seqn->len) < cutframe) && (seqn->endstill)) {
+ else if (((seqn->start + seqn->len) == cutframe) ||
+ (((seqn->start + seqn->len) < cutframe) && (seqn->endstill)))
+ {
seqn->start = cutframe - ts.len + 1;
seqn->startofs = ts.len - 1;
seqn->endstill = ts.enddisp - cutframe - 1;