diff options
Diffstat (limited to 'src/printutils.cc')
-rw-r--r-- | src/printutils.cc | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/printutils.cc b/src/printutils.cc index a75cf14..3d909c4 100644 --- a/src/printutils.cc +++ b/src/printutils.cc @@ -1,7 +1,14 @@ #include "printutils.h" -#include "MainWindow.h" QList<QString> print_messages_stack; +OutputHandlerFunc *outputhandler = NULL; +void *outputhandler_data = NULL; + +void set_output_handler(OutputHandlerFunc *newhandler, void *userdata) +{ + outputhandler = newhandler; + outputhandler_data = userdata; +} void print_messages_push() { @@ -35,10 +42,9 @@ void PRINT_NOCACHE(const QString &msg) { if (msg.isNull()) return; - if (MainWindow::current_win.isNull()) { - fprintf(stderr, "%s\n", msg.toAscii().data()); + if (!outputhandler) { + fprintf(stderr, "%s\n", msg.toUtf8().data()); } else { - MainWindow::current_win->console->append(msg); + outputhandler(msg, outputhandler_data); } } - |