From: Jürgen Spitzmüller Date: Mon, 5 Apr 2004 10:38:04 +0000 (+0000) Subject: Fix a crash when trying to open the qdocument dialog. Sorry all! X-Git-Tag: 1.6.10~15363 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=08a4a228f7fffe0767941921466e2ee86f69153f;p=features.git Fix a crash when trying to open the qdocument dialog. Sorry all! git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8600 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/frontends/qt2/ChangeLog b/src/frontends/qt2/ChangeLog index 283fc10ff0..0456cc24e1 100644 --- a/src/frontends/qt2/ChangeLog +++ b/src/frontends/qt2/ChangeLog @@ -1,8 +1,14 @@ -2004-01-04 Jürgen Spitzmüller +2004-04-05 Jürgen Spitzmüller + + * floatplacement.[Ch]: check whether we are in the float or + document dialog (in the latter, the span and sideways checkboxes + are not used). Fixes a crash. + +2004-04-01 Jürgen Spitzmüller * floatplacement.[Ch]: another adjustment of placement enabling. -2004-01-04 Jürgen Spitzmüller +2004-04-01 Jürgen Spitzmüller * floatplacement.[Ch]: correct fix for enabling of placement values (bug 1016) diff --git a/src/frontends/qt2/floatplacement.C b/src/frontends/qt2/floatplacement.C index 224f1e6a2e..7e5a9dc1a6 100644 --- a/src/frontends/qt2/floatplacement.C +++ b/src/frontends/qt2/floatplacement.C @@ -61,7 +61,6 @@ FloatPlacement::FloatPlacement(QWidget * parent, char * name) toplayout->addLayout(layout); connect(defaultsCB, SIGNAL(toggled(bool)), options, SLOT(setDisabled(bool))); - connect(defaultsCB, SIGNAL(toggled(bool)), this, SLOT(defClicked())); connect(heredefinitelyCB, SIGNAL(clicked()), this, SLOT(heredefinitelyClicked())); connect(topCB, SIGNAL(clicked()), this, SLOT(tbhpClicked())); @@ -207,20 +206,10 @@ string const FloatPlacement::get() const } -void FloatPlacement::defClicked() -{ - checkAllowed(); -} - - void FloatPlacement::tbhpClicked() { heredefinitelyCB->setChecked(false); - bool allow(topCB->isChecked()); - allow |= bottomCB->isChecked(); - allow |= pageCB->isChecked(); - allow |= herepossiblyCB->isChecked(); - ignoreCB->setEnabled(allow); + checkAllowed(); } @@ -263,15 +252,25 @@ void FloatPlacement::checkAllowed() ignore |= bottomCB->isChecked(); ignore |= pageCB->isChecked(); ignore |= herepossiblyCB->isChecked(); - bool const span(spanCB->isChecked()); - bool const sideways(sidewaysCB->isChecked()); - - defaultsCB->setEnabled(!sideways); - topCB->setEnabled(!sideways && !defaults); - bottomCB->setEnabled(!sideways && !defaults && !span); - pageCB->setEnabled(!sideways && !defaults); - ignoreCB->setEnabled(!sideways && !defaults && ignore); - herepossiblyCB->setEnabled(!sideways && !defaults && !span); - heredefinitelyCB->setEnabled(!sideways && !defaults && !span); - spanCB->setEnabled(!sideways); + + // float or document dialog? + if (spanCB != 0) { + bool const span(spanCB->isChecked()); + bool const sideways(sidewaysCB->isChecked()); + defaultsCB->setEnabled(!sideways); + topCB->setEnabled(!sideways && !defaults); + bottomCB->setEnabled(!sideways && !defaults && !span); + pageCB->setEnabled(!sideways && !defaults); + ignoreCB->setEnabled(!sideways && !defaults && ignore); + herepossiblyCB->setEnabled(!sideways && !defaults && !span); + heredefinitelyCB->setEnabled(!sideways && !defaults && !span); + spanCB->setEnabled(!sideways); + } else { + topCB->setEnabled(!defaults); + bottomCB->setEnabled(!defaults); + pageCB->setEnabled(!defaults); + ignoreCB->setEnabled(!defaults && ignore); + herepossiblyCB->setEnabled(!defaults); + heredefinitelyCB->setEnabled(!defaults); + } } diff --git a/src/frontends/qt2/floatplacement.h b/src/frontends/qt2/floatplacement.h index 2dcb703d88..3ca4eac21f 100644 --- a/src/frontends/qt2/floatplacement.h +++ b/src/frontends/qt2/floatplacement.h @@ -34,7 +34,6 @@ public: std::string const get() const; public slots: - void defClicked(); void tbhpClicked(); void heredefinitelyClicked(); void spanClicked();