diff --git a/poppler/Function.cc b/poppler/Function.cc index 73a6b5f..389265f 100644 --- a/poppler/Function.cc +++ b/poppler/Function.cc @@ -13,6 +13,7 @@ // All changes made under the Poppler project to this file are licensed // under GPL version 2 or later // +// Copyright (C) 2010 Thomas Freitag // Copyright (C) 2006, 2008, 2009 Albert Astals Cid // Copyright (C) 2006 Jeff Muizelaar // @@ -49,6 +50,13 @@ //------------------------------------------------------------------------ Function::Function() { + int c; + for (c = 0; c < funcMaxInputs; c++) { + domain[0][0] = 0.0; + domain[0][1] = 1.0; + range[0][0] = 0.0; + range[0][1] = 1.0; + } } Function::~Function() { @@ -1012,11 +1020,13 @@ void PSStack::roll(int n, int j) { } } else { j = n - j; - obj = stack[sp + n - 1]; - for (k = sp + n - 1; k > sp; --k) { - stack[k] = stack[k-1]; - } - stack[sp] = obj; + for (i = 0; i < j; ++i) { + obj = stack[sp + n - 1]; + for (k = sp + n - 1; k > sp; --k) { + stack[k] = stack[k-1]; + } + stack[sp] = obj; + } } }