#593 fixed crash
This commit is contained in:
		@@ -2239,7 +2239,17 @@ static void onConsoleEvalCommand(Console* console, const char* param)
 | 
				
			|||||||
	printLine(console);
 | 
						printLine(console);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	const tic_script_config* script_config = console->tic->api.get_script_config(console->tic);
 | 
						const tic_script_config* script_config = console->tic->api.get_script_config(console->tic);
 | 
				
			||||||
	script_config->eval(console->tic, param);
 | 
					
 | 
				
			||||||
 | 
						if (script_config->eval)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							if(param)
 | 
				
			||||||
 | 
								script_config->eval(console->tic, param);
 | 
				
			||||||
 | 
							else printError(console, "nothing to eval");
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							printError(console, "'eval' not implemented for the script");
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	commandDone(console);
 | 
						commandDone(console);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										12
									
								
								src/luaapi.c
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								src/luaapi.c
									
									
									
									
									
								
							@@ -1414,10 +1414,12 @@ static const tic_outline_item* getLuaOutline(const char* code, s32* size)
 | 
				
			|||||||
	return items;
 | 
						return items;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void evalLua(tic_mem* tic, const char* code) {
 | 
					static void evalLua(tic_mem* tic, const char* code) {
 | 
				
			||||||
	tic_machine* machine = (tic_machine*)tic;
 | 
						tic_machine* machine = (tic_machine*)tic;
 | 
				
			||||||
	lua_State* lua = machine->lua;
 | 
						lua_State* lua = machine->lua;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (!lua) return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	lua_settop(lua, 0);
 | 
						lua_settop(lua, 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if(luaL_loadstring(lua, code) != LUA_OK || lua_pcall(lua, 0, LUA_MULTRET, 0) != LUA_OK)
 | 
						if(luaL_loadstring(lua, code) != LUA_OK || lua_pcall(lua, 0, LUA_MULTRET, 0) != LUA_OK)
 | 
				
			||||||
@@ -1426,10 +1428,6 @@ void evalLua(tic_mem* tic, const char* code) {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void evalPlaceholder(tic_mem* tic, const char* code) {
 | 
					 | 
				
			||||||
	printf("TODO: not yet implemented\n.");
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static const tic_script_config LuaSyntaxConfig = 
 | 
					static const tic_script_config LuaSyntaxConfig = 
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	.init 				= initLua,
 | 
						.init 				= initLua,
 | 
				
			||||||
@@ -1609,7 +1607,7 @@ static const tic_script_config MoonSyntaxConfig =
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	.getOutline			= getMoonOutline,
 | 
						.getOutline			= getMoonOutline,
 | 
				
			||||||
	.parse 				= parseCode,
 | 
						.parse 				= parseCode,
 | 
				
			||||||
	.eval				= evalPlaceholder,
 | 
						.eval				= NULL,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	.blockCommentStart 	= NULL,
 | 
						.blockCommentStart 	= NULL,
 | 
				
			||||||
	.blockCommentEnd 	= NULL,
 | 
						.blockCommentEnd 	= NULL,
 | 
				
			||||||
@@ -1750,7 +1748,7 @@ static const tic_outline_item* getFennelOutline(const char* code, s32* size)
 | 
				
			|||||||
	return items;
 | 
						return items;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void evalFennel(tic_mem* tic, const char* code) {
 | 
					static void evalFennel(tic_mem* tic, const char* code) {
 | 
				
			||||||
	tic_machine* machine = (tic_machine*)tic;
 | 
						tic_machine* machine = (tic_machine*)tic;
 | 
				
			||||||
	lua_State* fennel = machine->lua;
 | 
						lua_State* fennel = machine->lua;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1372,7 +1372,7 @@ static const tic_outline_item* getWrenOutline(const char* code, s32* size)
 | 
				
			|||||||
	return items;
 | 
						return items;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void evalWren(tic_mem* memory, const char* code) 
 | 
					static void evalWren(tic_mem* memory, const char* code)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	tic_machine* machine = (tic_machine*)memory;
 | 
						tic_machine* machine = (tic_machine*)memory;
 | 
				
			||||||
	wrenInterpret(machine->wren, code);
 | 
						wrenInterpret(machine->wren, code);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user