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:
authorTon Roosendaal <ton@blender.org>2004-12-13 00:13:07 +0300
committerTon Roosendaal <ton@blender.org>2004-12-13 00:13:07 +0300
commita9128a5109fad96eb9537ac2096d8f7328291dbd (patch)
treefdb49ceb675b16ab6298b74ce264624256632070
parentd422cbb54467a012e675c6fc820a6d5b6900b6e9 (diff)
Bug fix, after irc report sk1p:
frame-sliding (LMB) in action, nla, sound and ipo window went into very tight while loop, causing cpu to choke. Added nice idle. Bug fix, found self while testing: - relative.blend, editmode - delete part, exit editmode - enter editmode, undo twice, exit editmode -> crash The trick to copy 'old' locations of vertices to keys isnt undo-resistant yet. This fix at least doesnt crash, but copying doesnt work when undo-ing back to previous editmode session (indices just differ from current mesh...)
-rw-r--r--source/blender/src/editaction.c1
-rw-r--r--source/blender/src/editmesh.c2
-rw-r--r--source/blender/src/editnla.c1
-rw-r--r--source/blender/src/editsound.c4
-rw-r--r--source/blender/src/space.c1
5 files changed, 8 insertions, 1 deletions
diff --git a/source/blender/src/editaction.c b/source/blender/src/editaction.c
index 45f9b850595..bed71e1a398 100644
--- a/source/blender/src/editaction.c
+++ b/source/blender/src/editaction.c
@@ -2470,6 +2470,7 @@ void winqreadactionspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
force_draw_plus(SPACE_IPO, 1);
force_draw_plus(SPACE_BUTS, 1);
}
+ else PIL_sleep_ms(30);
} while(get_mbut() & mousebut);
}
diff --git a/source/blender/src/editmesh.c b/source/blender/src/editmesh.c
index ddc3be4addd..6a7372ae16a 100644
--- a/source/blender/src/editmesh.c
+++ b/source/blender/src/editmesh.c
@@ -1192,7 +1192,7 @@ void load_editMesh(void)
i = 0;
mvert = me->mvert;
while(eve) {
- if (eve->keyindex >= 0) { // old vertex
+ if (eve->keyindex >= 0 && eve->keyindex < currkey->totelem) { // valid old vertex
if(currkey == actkey) {
if (actkey == me->key->refkey) {
VECCOPY(fp, mvert->co);
diff --git a/source/blender/src/editnla.c b/source/blender/src/editnla.c
index a61fac1bdb6..a979332e30e 100644
--- a/source/blender/src/editnla.c
+++ b/source/blender/src/editnla.c
@@ -312,6 +312,7 @@ void winqreadnlaspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
force_draw_plus(SPACE_VIEW3D, 1);
force_draw_plus(SPACE_IPO, 1);
}
+ else PIL_sleep_ms(30);
} while(get_mbut() & mousebut);
}
diff --git a/source/blender/src/editsound.c b/source/blender/src/editsound.c
index b47bf4c580e..fc2ff3c3fb4 100644
--- a/source/blender/src/editsound.c
+++ b/source/blender/src/editsound.c
@@ -85,6 +85,9 @@
#include "SYS_System.h"
+#include "PIL_time.h"
+
+
/* this might move to the external header */
void* sound_get_libraryinterface(void);
@@ -145,6 +148,7 @@ void winqreadsoundspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
update_for_newframe();
force_draw_plus(SPACE_VIEW3D, 1);
}
+ else PIL_sleep_ms(30);
} while(get_mbut() & mousebut);
ssound->flag &= ~SND_CFRA_NUM;
diff --git a/source/blender/src/space.c b/source/blender/src/space.c
index c9a4573f27b..4cd187a3a85 100644
--- a/source/blender/src/space.c
+++ b/source/blender/src/space.c
@@ -1797,6 +1797,7 @@ static void winqreadipospace(ScrArea *sa, void *spacedata, BWinEvent *evt)
update_for_newframe();
force_draw_all(0); /* To make constraint sliders redraw */
}
+ else PIL_sleep_ms(30);
} while(get_mbut() & mousebut);
}