d43c6db
diff -up qt-x11-free-3.3.8b/src/sql/drivers/mysql/qsql_mysql.cpp.me qt-x11-free-3.3.8b/src/sql/drivers/mysql/qsql_mysql.cpp
d43c6db
--- qt-x11-free-3.3.8b/src/sql/drivers/mysql/qsql_mysql.cpp.me	2017-11-10 18:08:22.850898663 +0100
d43c6db
+++ qt-x11-free-3.3.8b/src/sql/drivers/mysql/qsql_mysql.cpp	2017-11-13 15:02:41.565493236 +0100
d43c6db
@@ -350,30 +350,38 @@ int QMYSQLResult::numRowsAffected()
d43c6db
 static void qServerEnd()
d43c6db
 {
d43c6db
 #ifndef Q_NO_MYSQL_EMBEDDED
d43c6db
-# if MYSQL_VERSION_ID >= 40000
d43c6db
+#if !defined(MARIADB_BASE_VERSION) && !defined(MARIADB_VERSION_ID)
d43c6db
+# if MYSQL_VERSION_ID > 40000
d43c6db
+#  if (MYSQL_VERSION_ID >= 40110 && MYSQL_VERSION_ID < 50000) || MYSQL_VERSION_ID >= 50003
d43c6db
+    mysql_library_end();
d43c6db
+#  else
d43c6db
     mysql_server_end();
d43c6db
-# endif // MYSQL_VERSION_ID
d43c6db
-#endif // Q_NO_MYSQL_EMBEDDED
d43c6db
+#  endif
d43c6db
+# endif
d43c6db
+#endif
d43c6db
+#endif
d43c6db
 }
d43c6db
 
d43c6db
 static void qServerInit()
d43c6db
 {
d43c6db
 #ifndef Q_NO_MYSQL_EMBEDDED
d43c6db
 # if MYSQL_VERSION_ID >= 40000
d43c6db
-    if ( qMySqlInitHandledByUser || qMySqlConnectionCount > 1 )
d43c6db
+    if (qMySqlInitHandledByUser || qMySqlConnectionCount > 1)
d43c6db
         return;
d43c6db
 
d43c6db
-    // this should only be called once
d43c6db
-    // has no effect on client/server library
d43c6db
-    // but is vital for the embedded lib
d43c6db
-    if ( mysql_server_init( 0, 0, 0 ) ) {
d43c6db
-#  ifdef QT_CHECK_RANGE
d43c6db
-	qWarning( "QMYSQLDriver::qServerInit: unable to start server." );
d43c6db
-#  endif
d43c6db
+# if (MYSQL_VERSION_ID >= 40110 && MYSQL_VERSION_ID < 50000) || MYSQL_VERSION_ID >= 50003
d43c6db
+    if (mysql_library_init(0, 0, 0)) {
d43c6db
+# else
d43c6db
+    if (mysql_server_init(0, 0, 0)) {
d43c6db
+# endif
d43c6db
+        qWarning("QMYSQLDriver::qServerInit: unable to start server.");
d43c6db
     }
d43c6db
-    
d43c6db
 # endif // MYSQL_VERSION_ID
d43c6db
 #endif // Q_NO_MYSQL_EMBEDDED
d43c6db
+
d43c6db
+#if defined(MARIADB_BASE_VERSION) || defined(MARIADB_VERSION_ID)
d43c6db
+    qAddPostRoutine(mysql_server_end);
d43c6db
+#endif
d43c6db
 }
d43c6db
 
d43c6db
 QMYSQLDriver::QMYSQLDriver( QObject * parent, const char * name )