diff options
author | Albert Astals Cid <aacid@kde.org> | 2012-09-16 17:53:47 +0200 |
---|---|---|
committer | Albert Astals Cid <aacid@kde.org> | 2012-09-16 17:54:40 +0200 |
commit | 3794916572a0531b10ee57c9f189497489b90bc8 (patch) | |
tree | 4c1e8485e3b5b3436ebb88fe38fca1e91cdde0df /qt4/src | |
parent | e8b6d2ac3a874dd5de166b52625fa628004ea5fe (diff) |
Fix the siblings field correctly
Fixes KDE bug #302334
Diffstat (limited to 'qt4/src')
-rw-r--r-- | qt4/src/poppler-form.cc | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/qt4/src/poppler-form.cc b/qt4/src/poppler-form.cc index 82309ff6..f0723563 100644 --- a/qt4/src/poppler-form.cc +++ b/qt4/src/poppler-form.cc @@ -226,13 +226,20 @@ void FormFieldButton::setState( bool state ) QList<int> FormFieldButton::siblings() const { FormWidgetButton* fwb = static_cast<FormWidgetButton*>(m_formData->fm); + ::FormFieldButton* ffb = static_cast< ::FormFieldButton* >(fwb->getField()); if (fwb->getButtonType() == formButtonPush) return QList<int>(); QList<int> ret; - unsigned *sibls = fwb->getSiblingsID(); - for (int i = 0; i < fwb->getNumSiblingsID(); ++i) - ret.append(sibls[i]); + for (int i = 0; i < ffb->getNumSiblings(); ++i) + { + ::FormFieldButton* sibling = static_cast< ::FormFieldButton* >(ffb->getSibling(i)); + for (int j = 0; j < sibling->getNumWidgets(); ++j) + { + FormWidget *w = sibling->getWidget(j); + if (w) ret.append(w->getID()); + } + } return ret; } |