fix possible crash when reading border style, fix onLogin event

This commit is contained in:
Eduardo Bart
2012-02-08 11:44:06 -02:00
parent b56a7e3029
commit f056131ae1
3 changed files with 6 additions and 6 deletions

View File

@@ -122,8 +122,11 @@ void UIWidget::parseBaseStyle(const OTMLNodePtr& styleNode)
setFixedSize(node->value<bool>());
else if(node->tag() == "border") {
auto split = Fw::split(node->value(), " ");
setBorderWidth(Fw::safeCast<int>(split[0]));
setBorderColor(Fw::safeCast<Color>(split[1]));
if(split.size() == 2) {
setBorderWidth(Fw::safeCast<int>(split[0]));
setBorderColor(Fw::safeCast<Color>(split[1]));
} else
throw OTMLException(node, "border param must have its width followed by its color");
}
else if(node->tag() == "border-width")
setBorderWidth(node->value<int>());

View File

@@ -1111,7 +1111,7 @@ ThingPtr ProtocolGame::internalGetThing(InputMessage& msg)
creature->setDirection(direction);
// now that the local player is known, we can schedule login event
if(creature == m_localPlayer) {
if(creature == m_localPlayer && !m_localPlayer->isKnown()) {
m_localPlayer->setKnown(true);
g_dispatcher.addEvent([] { g_game.processLogin(); });
}