Fix problem with DeviceConfig::getBindingAsString(), input config gui works again.

git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/branches/irrlicht@3825 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
rforder
2009-08-09 17:05:41 +00:00
parent f1a46e6d38
commit 3ef3c67213
2 changed files with 26 additions and 9 deletions

View File

@@ -4,13 +4,13 @@
std::string DeviceConfig::getBindingAsString (const PlayerAction action) const
{
std::string returnString = NULL;
std::string returnString = "";
if ((action < PA_COUNT) && (action >= 0))
{
returnString = Input::getInputAsString(m_bindings[action].type,
m_bindings[action].id,
m_bindings[action].dir);
returnString = returnString.append( Input::getInputAsString(m_bindings[action].type,
m_bindings[action].id,
m_bindings[action].dir) );
}
return returnString;

View File

@@ -225,26 +225,43 @@ namespace OptionsScreen
// -----------------------------------------------------------------------------
void updateInputButtons(InputDevice* device)
{
DeviceConfig *config;
// Should never happen
if (device == NULL)
{
printf("updateInputButtons: passed NULL pointer\n");
abort();
}
config = device->getConfiguration();
// Should never happen
if (config == NULL)
{
printf("ERROR: No configuration associated with device?\n");
abort();
}
{
ButtonWidget* btn = getCurrentScreen()->getWidget<ButtonWidget>("binding_up");
btn->setLabel( device->getConfiguration()->getBindingAsString(PA_ACCEL).c_str() );
btn->setLabel( config->getBindingAsString(PA_ACCEL).c_str() );
}
{
ButtonWidget* btn = getCurrentScreen()->getWidget<ButtonWidget>("binding_down");
btn->setLabel( device->getConfiguration()->getBindingAsString(PA_BRAKE).c_str() );
btn->setLabel( config->getBindingAsString(PA_BRAKE).c_str() );
}
{
ButtonWidget* btn = getCurrentScreen()->getWidget<ButtonWidget>("binding_left");
btn->setLabel( device->getConfiguration()->getBindingAsString(PA_LEFT).c_str() );
btn->setLabel( config->getBindingAsString(PA_LEFT).c_str() );
}
{
ButtonWidget* btn = getCurrentScreen()->getWidget<ButtonWidget>("binding_right");
btn->setLabel( device->getConfiguration()->getBindingAsString(PA_RIGHT).c_str() );
btn->setLabel( config->getBindingAsString(PA_RIGHT).c_str() );
}
{
ButtonWidget* btn = getCurrentScreen()->getWidget<ButtonWidget>("binding_fire");
btn->setLabel( device->getConfiguration()->getBindingAsString(PA_FIRE).c_str() );
btn->setLabel( config->getBindingAsString(PA_FIRE).c_str() );
}
{
ButtonWidget* btn = getCurrentScreen()->getWidget<ButtonWidget>("binding_nitro");