Ticket #3651: cinput_maximum_length_v1.4.patch

File cinput_maximum_length_v1.4.patch, 2.2 KB (added by Vladislav Belov, 8 years ago)
  • binaries/data/mods/public/gui/gamesetup/gamesetup_mp.xml

     
    8080                    <translatableAttribute id="caption">Server name:</translatableAttribute>
    8181                </object>
    8282
    83                 <object name="hostServerName" type="input" size="50%+10 80 100%-20 104" style="ModernInput">
     83                <object name="hostServerName" type="input" size="50%+10 80 100%-20 104" style="ModernInput" max_length="48">
    8484                    <action on="Load">
    8585                        this.caption = getDefaultGameName();
    8686                    </action>
  • source/gui/CInput.cpp

     
    110110        CStrW* pCaption = (CStrW*)m_Settings["caption"].m_pSetting;
    111111        std::wstring text = wstring_from_utf8(ev->ev.text.text);
    112112
     113        // check max length
     114        int max_length;
     115        GUI<int>::GetSetting(this, "max_length", max_length);
     116        if (max_length != 0 && (int)pCaption->length() + text.length() > max_length)
     117            return IN_HANDLED;
     118
    113119        m_WantedX = 0.0f;
    114120
    115121        if (SelectingText())
  • source/tools/XpartaMuPP/XpartaMuPP.py

     
    3434# database with, before they've played any games.
    3535leaderboard_default_rating = 1200
    3636
     37server_name_max_length = 48
     38
    3739## Class that contains and manages leaderboard data ##
    3840class LeaderboardList():
    3941  def __init__(self, room):
     
    282284    """
    283285      Add a game
    284286    """
     287    if 'name' in data:
     288      data['name'] = data['name'][:server_name_max_length]
    285289    data['players-init'] = data['players']
    286290    data['nbp-init'] = data['nbp']
    287291    data['state'] = 'init'
     
    416420  plugin_attrib = 'gamelist'
    417421
    418422  def addGame(self, data):
     423    if 'name' in data:
     424      data['name'] = data['name'][:server_name_max_length]
    419425    itemXml = ET.Element("game", data)
    420426    self.xml.append(itemXml)
    421427