diff -r 19ff9bf7d69e -r b0b0510eb82d QTfrontend/mapContainer.cpp --- a/QTfrontend/mapContainer.cpp Thu Oct 09 13:57:18 2008 +0000 +++ b/QTfrontend/mapContainer.cpp Thu Oct 09 15:54:09 2008 +0000 @@ -35,7 +35,9 @@ #include "igbox.h" HWMapContainer::HWMapContainer(QWidget * parent) : - QWidget(parent), mainLayout(this) + QWidget(parent), + mainLayout(this), + pMap(0) { #if QT_VERSION >= 0x040300 mainLayout.setContentsMargins(QApplication::style()->pixelMetric(QStyle::PM_LayoutLeftMargin), @@ -111,12 +113,14 @@ imageButt->setIcon(pxres); imageButt->setIconSize(QSize(256, 128)); chooseMap->setCurrentIndex(0); + pMap = 0; } void HWMapContainer::mapChanged(int index) { if(!index) { changeImage(); + emit mapChanged("+rnd+"); return; } @@ -185,10 +189,18 @@ void HWMapContainer::setMap(const QString & map) { + if(map == "+rnd+") + { + changeImage(); + return; + } + int id = chooseMap->findText(map); - if(id >= 0) { + if(id > 0) { chooseMap->setCurrentIndex(id); loadMap(id); + if (pMap) + disconnect(pMap, 0, this, SLOT(setImage(const QImage))); } }