summaryrefslogtreecommitdiff
path: root/qt4/src
diff options
context:
space:
mode:
authorAlbert Astals Cid <aacid@kde.org>2012-09-16 17:53:47 +0200
committerAlbert Astals Cid <aacid@kde.org>2012-09-16 17:54:40 +0200
commit3794916572a0531b10ee57c9f189497489b90bc8 (patch)
tree4c1e8485e3b5b3436ebb88fe38fca1e91cdde0df /qt4/src
parente8b6d2ac3a874dd5de166b52625fa628004ea5fe (diff)
Fix the siblings field correctly
Fixes KDE bug #302334
Diffstat (limited to 'qt4/src')
-rw-r--r--qt4/src/poppler-form.cc13
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;
}