You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-23 15:16:17 +00:00
Add print_error function, akin to print_line
This commit is contained in:
@@ -82,7 +82,25 @@ void print_line(String p_string) {
|
|||||||
PrintHandlerList *l = print_handler_list;
|
PrintHandlerList *l = print_handler_list;
|
||||||
while (l) {
|
while (l) {
|
||||||
|
|
||||||
l->printfunc(l->userdata, p_string);
|
l->printfunc(l->userdata, p_string, false);
|
||||||
|
l = l->next;
|
||||||
|
}
|
||||||
|
|
||||||
|
_global_unlock();
|
||||||
|
}
|
||||||
|
|
||||||
|
void print_error(String p_string) {
|
||||||
|
|
||||||
|
if (!_print_error_enabled)
|
||||||
|
return;
|
||||||
|
|
||||||
|
OS::get_singleton()->printerr("%s\n", p_string.utf8().get_data());
|
||||||
|
|
||||||
|
_global_lock();
|
||||||
|
PrintHandlerList *l = print_handler_list;
|
||||||
|
while (l) {
|
||||||
|
|
||||||
|
l->printfunc(l->userdata, p_string, true);
|
||||||
l = l->next;
|
l = l->next;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
|
|
||||||
extern void (*_print_func)(String);
|
extern void (*_print_func)(String);
|
||||||
|
|
||||||
typedef void (*PrintHandlerFunc)(void *, const String &p_string);
|
typedef void (*PrintHandlerFunc)(void *, const String &p_string, bool p_error);
|
||||||
|
|
||||||
struct PrintHandlerList {
|
struct PrintHandlerList {
|
||||||
|
|
||||||
@@ -56,5 +56,6 @@ void remove_print_handler(PrintHandlerList *p_handler);
|
|||||||
extern bool _print_line_enabled;
|
extern bool _print_line_enabled;
|
||||||
extern bool _print_error_enabled;
|
extern bool _print_error_enabled;
|
||||||
extern void print_line(String p_string);
|
extern void print_line(String p_string);
|
||||||
|
extern void print_error(String p_string);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -832,7 +832,7 @@ void ScriptDebuggerRemote::send_message(const String &p_message, const Array &p_
|
|||||||
mutex->unlock();
|
mutex->unlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScriptDebuggerRemote::_print_handler(void *p_this, const String &p_string) {
|
void ScriptDebuggerRemote::_print_handler(void *p_this, const String &p_string, bool p_error) {
|
||||||
|
|
||||||
ScriptDebuggerRemote *sdr = (ScriptDebuggerRemote *)p_this;
|
ScriptDebuggerRemote *sdr = (ScriptDebuggerRemote *)p_this;
|
||||||
|
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ class ScriptDebuggerRemote : public ScriptDebugger {
|
|||||||
uint64_t msec_count;
|
uint64_t msec_count;
|
||||||
|
|
||||||
bool locking; //hack to avoid a deadloop
|
bool locking; //hack to avoid a deadloop
|
||||||
static void _print_handler(void *p_this, const String &p_string);
|
static void _print_handler(void *p_this, const String &p_string, bool p_error);
|
||||||
|
|
||||||
PrintHandlerList phl;
|
PrintHandlerList phl;
|
||||||
|
|
||||||
|
|||||||
@@ -642,7 +642,7 @@ void GDScriptFunctions::call(Function p_func, const Variant **p_args, int p_arg_
|
|||||||
}
|
}
|
||||||
|
|
||||||
//str+="\n";
|
//str+="\n";
|
||||||
OS::get_singleton()->printerr("%s\n", str.utf8().get_data());
|
print_error(str);
|
||||||
r_ret = Variant();
|
r_ret = Variant();
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
|
|||||||
@@ -1109,7 +1109,7 @@ void VisualScriptBuiltinFunc::exec_func(BuiltinFunc p_func, const Variant **p_in
|
|||||||
String str = *p_inputs[0];
|
String str = *p_inputs[0];
|
||||||
|
|
||||||
//str+="\n";
|
//str+="\n";
|
||||||
OS::get_singleton()->printerr("%s\n", str.utf8().get_data());
|
print_error(str);
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
case VisualScriptBuiltinFunc::TEXT_PRINTRAW: {
|
case VisualScriptBuiltinFunc::TEXT_PRINTRAW: {
|
||||||
|
|||||||
Reference in New Issue
Block a user