Fix SEGV crash: Initialize window and font in stateInit()
- Move window initialization and font loading to stateInit() - Window now opens before splash screens (required for rendering) - Custom font loaded in stateInit for splash screen use - Remove RL.config() call from luaCallMain() (window already initialized) - Remove stateContextInit() call (initialization now done in stateInit) - Add hasWindow, customFontLoaded, resolution fields to State - Fix memory management for custom font in stateFree() This matches the ReiLua-JamVersion architecture where the window is opened early so splash screens can render properly.
This commit is contained in:
@@ -1683,27 +1683,6 @@ bool luaCallMain() {
|
||||
/* Apply custom callback here. */
|
||||
SetTraceLogCallback( logCustom );
|
||||
|
||||
lua_getglobal( L, "RL" );
|
||||
lua_getfield( L, -1, "config" );
|
||||
|
||||
if ( lua_isfunction( L, -1 ) ) {
|
||||
if ( lua_pcall( L, 0, 0, tracebackidx ) != 0 ) {
|
||||
TraceLog( LOG_ERROR, "Lua error: %s", lua_tostring( L, -1 ) );
|
||||
return false;
|
||||
}
|
||||
}
|
||||
lua_pop( L, -1 );
|
||||
/* If InitWindow is not called in RL.config, call it here. */
|
||||
if ( !IsWindowReady() ) {
|
||||
InitWindow( 800, 600, "ReiLua" );
|
||||
}
|
||||
if ( IsWindowReady() ) {
|
||||
stateContextInit();
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
|
||||
lua_getglobal( L, "RL" );
|
||||
lua_getfield( L, -1, "init" );
|
||||
|
||||
|
||||
Reference in New Issue
Block a user