← Back to team overview

mudlet-makers team mailing list archive

[Bug 645129] Re: mudlet crashes with wormud.org

 

int TLuaInterpreter::isPrompt( lua_State *L )
{
    Host * pHost = TLuaInterpreter::luaInterpreterMap[L];
    cout << "current line #: " << pHost->mpConsole->getLineNumber() << " while buffer length is " << pHost->mpConsole->buffer.promptBuffer.length() << endl;
    lua_pushboolean( L, pHost->mpConsole->buffer.promptBuffer.at(pHost->mpConsole->getLineNumber()) );
    return 1;
}

yielded:


current line #: 80 while buffer length is 81
current line #: 80 while buffer length is 81
current line #: 80 while buffer length is 81
current line #: 80 while buffer length is 80
Fatal: ASSERT failure in QList<T>::at: "index out of range", file ../../../qtsdk-2010.05-64bit/qt/include/QtCore/qlist.h, line 455

Program received signal SIGABRT, Aborted.

-- 
mudlet crashes with wormud.org
https://bugs.launchpad.net/bugs/645129
You received this bug notification because you are a member of Mudlet
Makers, which is subscribed to Mudlet.

Status in Mudlet the MUD client: New

Bug description:
Mudlet crashes shortly after connecting to wotmud.org, with a QList index out of range error.  I have traced it to line 2255 of TBuffer.cpp - it seems that promptList is not necessarily the same size as tempList.  The error can be removed by replacing that line with:
	if( promptList.size() >= 1 )
	{
            promptBuffer.push_back( promptList[i] );
	}
	else
	{
	    promptBuffer.push_back( false );
	}
 but this might have ramifications of which I am not aware, so I do not want to propose it as a solution.





References