Hi,

I found a bug in method GetAllFiles(). The overwrite function pass the wrong parameters positions.

static int LUACALL wxLua_wxDir_GetAllFiles(lua_State *L)
{
    wxLuaState wxlState(L);
    unsigned int returns;
    // get number of arguments
    int argCount = lua_gettop(L);
    // int flags = wxDIR_DEFAULT

// Wrong code follow. SHould be 5  not 4 as the first param is luastate

//    int flags = (argCount >= 4 ? (int)wxlState.GetNumberType(4) : wxDIR_DEFAULT); 

int flags = (argCount >= 5 ? (int)wxlState.GetNumberType(5) : wxDIR_DEFAULT);

    // const wxString& filespec = ""

// 3 is wrong, should be 4

wxString filespec = (argCount >= 4 ? lua2wx(wxlState.GetStringType(4)) : wxString(wxT("")));
    // wxArrayString *files
    wxArrayString files;
    // const wxString& dirname
    wxString dirname = lua2wx(wxlState.GetStringType(2));
    // call GetAllFiles
    returns = wxDir::GetAllFiles(dirname, &files, filespec, flags);
    // push the result number
    lua_pushnumber(L, returns);
    wxlState.PushwxArrayStringTable(files);
    // return the number of parameters
    return 2;
}


Cheers,




S.KIEU


Do you Yahoo!?
Yahoo! Personals: It's free to check out our great singles!
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Wxlua-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wxlua-users

Reply via email to