1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-08-13 19:54:17 +02:00

Fixes for Altar of Sacrifice (got broken after artifact rewrite)

This commit is contained in:
Michał W. Urbańczyk
2011-02-14 10:38:33 +00:00
parent e3310f8759
commit 99a7320e99
2 changed files with 8 additions and 0 deletions

View File

@@ -2059,6 +2059,7 @@ void CPlayerInterface::stopMovement()
void CPlayerInterface::showMarketWindow(const IMarket *market, const CGHeroInstance *visitor) void CPlayerInterface::showMarketWindow(const IMarket *market, const CGHeroInstance *visitor)
{ {
boost::unique_lock<boost::recursive_mutex> un(*pim);
if(market->o->ID == 2) //Altar if(market->o->ID == 2) //Altar
{ {
EMarketMode mode = market->availableModes().front(); EMarketMode mode = market->availableModes().front();
@@ -2073,24 +2074,28 @@ void CPlayerInterface::showMarketWindow(const IMarket *market, const CGHeroInsta
void CPlayerInterface::showUniversityWindow(const IMarket *market, const CGHeroInstance *visitor) void CPlayerInterface::showUniversityWindow(const IMarket *market, const CGHeroInstance *visitor)
{ {
boost::unique_lock<boost::recursive_mutex> un(*pim);
CUniversityWindow *cuw = new CUniversityWindow(visitor, market); CUniversityWindow *cuw = new CUniversityWindow(visitor, market);
GH.pushInt(cuw); GH.pushInt(cuw);
} }
void CPlayerInterface::showHillFortWindow(const CGObjectInstance *object, const CGHeroInstance *visitor) void CPlayerInterface::showHillFortWindow(const CGObjectInstance *object, const CGHeroInstance *visitor)
{ {
boost::unique_lock<boost::recursive_mutex> un(*pim);
CHillFortWindow *chfw = new CHillFortWindow(visitor, object); CHillFortWindow *chfw = new CHillFortWindow(visitor, object);
GH.pushInt(chfw); GH.pushInt(chfw);
} }
void CPlayerInterface::availableArtifactsChanged(const CGBlackMarket *bm /*= NULL*/) void CPlayerInterface::availableArtifactsChanged(const CGBlackMarket *bm /*= NULL*/)
{ {
boost::unique_lock<boost::recursive_mutex> un(*pim);
if(CMarketplaceWindow *cmw = dynamic_cast<CMarketplaceWindow*>(GH.topInt())) if(CMarketplaceWindow *cmw = dynamic_cast<CMarketplaceWindow*>(GH.topInt()))
cmw->artifactsChanged(false); cmw->artifactsChanged(false);
} }
void CPlayerInterface::showTavernWindow(const CGObjectInstance *townOrTavern) void CPlayerInterface::showTavernWindow(const CGObjectInstance *townOrTavern)
{ {
boost::unique_lock<boost::recursive_mutex> un(*pim);
CTavernWindow *tv = new CTavernWindow(townOrTavern); CTavernWindow *tv = new CTavernWindow(townOrTavern);
GH.pushInt(tv); GH.pushInt(tv);
} }

View File

@@ -2530,6 +2530,7 @@ CTradeWindow::CTradeableItem::CTradeableItem( EType Type, int ID, bool Left, int
id = ID; id = ID;
used = LCLICK | HOVER | RCLICK; used = LCLICK | HOVER | RCLICK;
downSelection = false; downSelection = false;
hlp = NULL;
} }
void CTradeWindow::CTradeableItem::showAll(SDL_Surface * to) void CTradeWindow::CTradeableItem::showAll(SDL_Surface * to)
@@ -3835,6 +3836,8 @@ void CAltarWindow::moveFromSlotToAltar(int slotID, CTradeableItem* altarSlot, co
{ {
arts->commonInfo->src.clear(); arts->commonInfo->src.clear();
arts->commonInfo->dst.clear(); arts->commonInfo->dst.clear();
CCS->curh->dragAndDropCursor(NULL);
arts->unmarkSlots(false);
} }
} }
} }