summaryrefslogtreecommitdiff
path: root/libs/ardour/globals.cc
diff options
context:
space:
mode:
authorHans Fugal <hans@fugal.net>2006-06-03 00:14:53 +0000
committerHans Fugal <hans@fugal.net>2006-06-03 00:14:53 +0000
commit6c2d2a3a04f2da57da43a3e2c5dfbe5dc7d67063 (patch)
tree197870767eac6cefb0dd8759b2f1b98873c018b5 /libs/ardour/globals.cc
parent8b320ba5c6a234f288a3d6089aea18de7429c197 (diff)
r20@gandalf: fugalh | 2006-06-02 18:14:26 -0600
change_bit bounds check git-svn-id: svn://localhost/ardour2/trunk@561 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/globals.cc')
-rw-r--r--libs/ardour/globals.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/libs/ardour/globals.cc b/libs/ardour/globals.cc
index 4879e373d5..23e93ee2a9 100644
--- a/libs/ardour/globals.cc
+++ b/libs/ardour/globals.cc
@@ -323,10 +323,17 @@ ARDOUR::new_change ()
Change c;
static uint32_t change_bit = 1;
- /* XXX catch out-of-range */
+ /* catch out-of-range */
+ if (!change_bit)
+ {
+ fatal << _("programming error: ")
+ << "change_bit out of range in ARDOUR::new_change()"
+ << endmsg;
+ /*NOTREACHED*/
+ }
c = Change (change_bit);
- change_bit <<= 1;
+ change_bit <<= 1; // if it shifts too far, change_bit == 0
return c;
}