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()