summaryrefslogtreecommitdiff
path: root/coreengine/functions.c
diff options
context:
space:
mode:
Diffstat (limited to 'coreengine/functions.c')
-rw-r--r--coreengine/functions.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/coreengine/functions.c b/coreengine/functions.c
index 1b089bc..dd5ecfe 100644
--- a/coreengine/functions.c
+++ b/coreengine/functions.c
@@ -1228,11 +1228,14 @@ void cFuncLoop::Render(cPixmap *p, int x0, int y0, int cw, int rh) {
return;
}
int numRows = tokenContainer->NumLoops(loopIndex);
+ if (numRows < 1)
+ return;
int columnWidth = GetValue((int)eLoopAttribs::columnwidth);
int rowHeight = GetValue((int)eLoopAttribs::rowheight);
int maxItems = GetValue((int)eLoopAttribs::maxitems);
eOrientation orientation = (eOrientation)GetValue((int)eLoopAttribs::orientation);
eOverflowType overflow = (eOverflowType)GetValue((int)eLoopAttribs::overflow);
+
int loopWidth = Width();
if (loopWidth <= 0)
loopWidth = container.Width();
@@ -1300,6 +1303,9 @@ int cFuncLoop::FuncWidth(void) {
return 0;
}
int numLoops = tokenContainer->NumLoops(loopIndex);
+ if (numLoops < 1)
+ return 0;
+
int columnWidth = GetValue((int)eLoopAttribs::columnwidth);
if (columnWidth <=0)
columnWidth = ColumnWidth();
@@ -1321,6 +1327,9 @@ int cFuncLoop::FuncHeight(void) {
return 0;
}
int numLoops = tokenContainer->NumLoops(loopIndex);
+ if (numLoops < 1)
+ return 0;
+
int rowHeight = GetValue((int)eLoopAttribs::rowheight);
if (rowHeight <=0)
rowHeight = RowHeight();