diff --git a/src/diagram/ArrowCanvas.cpp b/src/diagram/ArrowCanvas.cpp index 4639cb431..e6b00c532 100644 --- a/src/diagram/ArrowCanvas.cpp +++ b/src/diagram/ArrowCanvas.cpp @@ -1141,9 +1141,9 @@ void ArrowCanvas::init_geometry_menu(QMenu & m, int first) QPixmap vhv((const char **) geometry_vhv); MenuFactory::addItem(m, tr("None"), first); m.addAction(hv,"")->setData( first + HVGeometry); - m.addAction(vh,"")->setData(VHGeometry); - m.addAction(hvh,"")->setData( HVHGeometry); - m.addAction(vhv,"")->setData( VHVGeometry); + m.addAction(vh,"")->setData( first + VHGeometry); + m.addAction(hvh,"")->setData( first + HVHGeometry); + m.addAction(vhv,"")->setData( first + VHVGeometry); switch (geometry) { case NoGeometry: MenuFactory::findAction(m ,first)->setChecked( TRUE); diff --git a/src/diagram/UmlWindow.cpp b/src/diagram/UmlWindow.cpp index b9912bf8a..13b956d5f 100644 --- a/src/diagram/UmlWindow.cpp +++ b/src/diagram/UmlWindow.cpp @@ -791,6 +791,7 @@ void UmlWindow::projectMenuAboutToShow() id = projectMenu->addAction(historic.at(i), this, SLOT(historicActivated())); //projectMenu->setItemParameter(id, i); id->setWhatsThis(tr("to open this project.

The historic is saved in settings.ini")); + id->setData(QVariant(i)); } } else @@ -801,7 +802,8 @@ void UmlWindow::projectMenuAboutToShow() void UmlWindow::historicActivated() { QAction *action = static_cast( sender()); - bool idExists = historic.contains(action->text());//id <= historic.size() && id >= 0; + int i = action->data().toInt(); + bool idExists = (i < historic.count() && i >= 0); if (!idExists) { @@ -817,7 +819,7 @@ void UmlWindow::historicActivated() return; } - load(action->text()); + load(historic[i]); } void UmlWindow::clear()