In this method, it is assumed that both keyAxis and valueAxis are set... If not...
Fix below
QList<QCPAbstractItem *> QCPAxisRect::items() const { // Note: don't just append all QCPAxis::items() into a list, because we might get duplicate entries // and miss those items that have this axis rect as clipAxisRect. QList<QCPAbstractItem*> result; foreach (QCPAbstractItem *item, mParentPlot->mItems) { if (item->clipAxisRect() == this) { result.append(item); continue; } foreach (QCPItemPosition *position, item->positions()) { if (position->axisRect() == this || (position->keyAxis() && position->keyAxis()->axisRect() == this) || (position->valueAxis() && position->valueAxis()->axisRect() == this)) { result.append(item); break; } } } return result; }