LimeReport Forum
General Category | Основное => Discussion | Обсуждение => Topic started by: Subst on April 06, 2016, 05:46:59 am
-
Вчера собрал последние исходники. Обнаружил баг следующий:
при повторном вызове, например, previewReport происходит следующее:
getCallbackData(LimeReport::CallbackInfo info, QVariant &value) с параметром RowCount не вызывается. Что может привести как к крешу, так и не верному отображению информации в силу факта, что данные могли поменяться, а rowCount останется прежним.
Поковырял исходники. в lrdatadesignintf.cpp
в строке 615 стоит условие для обновления rowCount
if (m_rowCount == -1)
не может ли здесь собака порыться? мне кажется это условие и будет гарантировать запрос rowCount Только один раз.
-
К предыдущему посту:
чуть позже увидел обновленные исходники
lrdatadesignintf.cpp
615 - if (m_rowCount == -1){
616 - QVariant rowCount;
617 - CallbackInfo info;
618 - info.dataType = CallbackInfo::RowCount;
619 - emit getCallbackData(info,rowCount);
620 - if (rowCount.isValid()) m_rowCount = rowCount.toInt();
621 - }
615 +
616 + QVariant rowCount;
617 + CallbackInfo info;
618 + info.dataType = CallbackInfo::RowCount;
619 + emit getCallbackData(info,rowCount);
620 + if (rowCount.isValid()) m_rowCount = rowCount.toInt();
621 +
Пересобрал, да, проблема решилась, Вы обнаружили этот баг на несколько часов раньше. Спасибо!
-
А это drow первый заметил :) Постом ранее.