fix possible crash when reading border style, fix onLogin event

master
Eduardo Bart 12 years ago
parent b56a7e3029
commit f056131ae1

@ -1,14 +1,11 @@
====================================================
High priority TODO in order (before first public disclose)
restore map moving
multiline text edit
remove UIGame
move windows, navigate in containers
complete miniwindow (close, minimize, resize, move)
create and bind all game functions/events
let windows stay open while playing
combat controls
player status icons (poison, etc)
load modules from zip files
display exit box when exiting from game

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

@ -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(); });
}

Loading…
Cancel
Save