@ -45,21 +45,21 @@
# endif
*/
void ub_message_output ( QtMsgType type , const char * msg ) {
void ub_message_output ( QtMsgType type , const QMessageLogContext & context , const QString & msg ) {
// We must temporarily remove the handler to avoid the infinite recursion of
// ub_message_output -> qt_message_output -> ub_message_output -> qt_message_output ...
QtMsgHandler previousHandler = qInstallMsgHandler ( 0 ) ;
QtMes sa ge Handler previousHandler = qInstallMes sa ge Handler ( 0 ) ;
# if defined(QT_NO_DEBUG)
// Suppress qDebug output in release builds
if ( type ! = QtDebugMsg )
{
qt_message_output ( type , msg ) ;
qt_message_output ( type , context , msg ) ;
}
# else
// Default output in debug builds
qt_message_output ( type , msg ) ;
qt_message_output ( type , context , msg ) ;
# endif
if ( UBApplication : : app ( ) & & UBApplication : : app ( ) - > isVerbose ( ) ) {
@ -77,7 +77,7 @@ void ub_message_output(QtMsgType type, const char *msg) {
}
}
qInstallMsgHandler ( previousHandler ) ;
qInstallMes sa ge Handler ( previousHandler ) ;
}
int main ( int argc , char * argv [ ] )
@ -93,7 +93,7 @@ int main(int argc, char *argv[])
Q_INIT_RESOURCE ( OpenBoard ) ;
qInstallMsgHandler ( ub_message_output ) ;
qInstallMes sa ge Handler ( ub_message_output ) ;
# if defined(Q_WS_X11)
qDebug ( ) < < " Setting GraphicsSystem to raster " ;
@ -102,16 +102,6 @@ int main(int argc, char *argv[])
UBApplication app ( " OpenBoard " , argc , argv ) ;
//BUGFIX:
//when importing a OpenBoard file that contains a non standard character
//the codecForLocale or the codecForCString is used to convert the file path
//into a const char*. This is why in french windows setup the codec name shouldn't be
//set to UTF-8. For example, setting UTF-8, will convert "Haïti" into "HaÂ-ti.
QTextCodec : : setCodecForTr ( QTextCodec : : codecForName ( " UTF-8 " ) ) ;
//QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
QTextCodec : : setCodecForCStrings ( QTextCodec : : codecForName ( " UTF-8 " ) ) ;
QStringList args = app . arguments ( ) ;
QString dumpPath = UBSettings : : userDataDirectory ( ) + " /log " ;
@ -138,7 +128,7 @@ int main(int argc, char *argv[])
}
}
app . initialize ( false ) ;
//app.initialize(false); // should not be needed anymore
QObject : : connect ( & app , SIGNAL ( messageReceived ( const QString & ) ) , & app , SLOT ( handleOpenMessage ( const QString & ) ) ) ;