Fix activation not working sometimes

The current player cell was only being updated when the reference was not empty, causing it
to incorrectly detect a cell change the first time something was activated in a newly visited cell, immediately closing the opened dialogue again.
actorid
scrawl 12 years ago
parent 2dc01fe56b
commit a7092ef2d7

@ -18,17 +18,17 @@ namespace MWGui
void ReferenceInterface::checkReferenceAvailable()
{
if (mPtr.isEmpty())
return;
MWWorld::Ptr::CellStore* playerCell = MWBase::Environment::get().getWorld()->getPlayer().getPlayer().getCell();
// check if player has changed cell, or count of the reference has become 0
if ((playerCell != mCurrentPlayerCell && mCurrentPlayerCell != NULL)
|| mPtr.getRefData().getCount() == 0)
|| (!mPtr.isEmpty() && mPtr.getRefData().getCount() == 0))
{
mPtr = MWWorld::Ptr();
onReferenceUnavailable();
if (!mPtr.isEmpty())
{
mPtr = MWWorld::Ptr();
onReferenceUnavailable();
}
}
mCurrentPlayerCell = playerCell;

Loading…
Cancel
Save