diff --git a/common.pri b/common.pri index 1ea1411..d8c974a 100644 --- a/common.pri +++ b/common.pri @@ -62,7 +62,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc LIMEREPORT_VERSION_MAJOR = 1 LIMEREPORT_VERSION_MINOR = 4 -LIMEREPORT_VERSION_RELEASE = 18 +LIMEREPORT_VERSION_RELEASE = 22 LIMEREPORT_VERSION = '\\"$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}\\"' DEFINES += LIMEREPORT_VERSION_STR=\"$${LIMEREPORT_VERSION}\" diff --git a/limereport/lrdatadesignintf.cpp b/limereport/lrdatadesignintf.cpp index 382df11..0f090d3 100644 --- a/limereport/lrdatadesignintf.cpp +++ b/limereport/lrdatadesignintf.cpp @@ -638,14 +638,18 @@ QVariant MasterDetailProxyModel::masterData(QString fieldName) const bool CallbackDatasource::next(){ if (!m_eof){ - + bool nextRowExists = checkNextRecord(m_currentRow); if (m_currentRow>-1){ - if (!m_getDataFromCache && checkNextRecord(m_currentRow)){ + if (!m_getDataFromCache && nextRowExists){ for (int i = 0; i < m_columnCount; ++i ){ m_valuesCache[columnNameByIndex(i)] = data(columnNameByIndex(i)); } - } + } + } + if (!nextRowExists){ + m_eof = true; + return false; } m_currentRow++; bool result = true; @@ -670,7 +674,6 @@ bool CallbackDatasource::prior(){ if (m_currentRow !=-1) { if (!m_getDataFromCache && !m_valuesCache.isEmpty()){ m_getDataFromCache = true; - if (eof()) m_currentRow--; m_currentRow--; m_eof = false; return true; @@ -701,7 +704,7 @@ void CallbackDatasource::first(){ QVariant CallbackDatasource::data(const QString& columnName) { QVariant result; - if (!eof() && !bof()) + if (!bof()) { if (!m_getDataFromCache){ CallbackInfo info;