+2006-02-15 Jürgen Spitzmüller <j.spitzmueller@gmx.de>
+
+ * QCitationDialog.C (up, down): fix crash due to invalidated
+ iterator.
+
2006-01-29 Jürgen Spitzmüller <j.spitzmueller@gmx.de>
* ui/LanguageModuleBase.ui: fix layout.
using std::vector;
using std::string;
+using std::swap;
namespace lyx {
namespace frontend {
string const tmp = *it;
selectedLB->removeItem(sel);
- form_->citekeys.erase(it);
+ swap(form_->citekeys[sel - 1], form_->citekeys[sel]);
selectedLB->insertItem(toqstr(tmp), sel - 1);
selectedLB->setSelected(sel - 1, true);
- form_->citekeys.insert(it - 1, tmp);
form_->changed();
form_->fillStyles();
string const tmp = *it;
selectedLB->removeItem(sel);
- form_->citekeys.erase(it);
+ swap(form_->citekeys[sel + 1], form_->citekeys[sel]);
selectedLB->insertItem(toqstr(tmp), sel + 1);
selectedLB->setSelected(sel + 1, true);
- form_->citekeys.insert(it + 1, tmp);
form_->changed();
form_->fillStyles();
+2006-02-15 Jürgen Spitzmüller <j.spitzmueller@gmx.de>
+
+ * FormCitation.C (input): fix crash due to invalidated
+ iterator.
+
2005-12-12 Jürgen Spitzmüller <j.spitzmueller@gmx.de>
* FormPreferences.C: fix off-by-x errors in paper size setting
using std::vector;
using std::string;
+using std::swap;
namespace lyx {
string const tmp = *it;
fl_delete_browser_line(dialog_->browser_cite, sel);
- citekeys.erase(it);
+ swap(citekeys[sel - 2], citekeys[sel - 1]);
fl_insert_browser_line(dialog_->browser_cite, sel - 1, tmp.c_str());
fl_select_browser_line(dialog_->browser_cite, sel - 1);
- citekeys.insert(it - 1, tmp);
setCiteButtons(ON);
activate = ButtonPolicy::SMI_VALID;
string const tmp = *it;
fl_delete_browser_line(dialog_->browser_cite, sel);
- citekeys.erase(it);
+ swap(citekeys[sel], citekeys[sel - 1]);
fl_insert_browser_line(dialog_->browser_cite, sel+1, tmp.c_str());
fl_select_browser_line(dialog_->browser_cite, sel+1);
- citekeys.insert(it+1, tmp);
setCiteButtons(ON);
activate = ButtonPolicy::SMI_VALID;