Squash the Qt "Mutex destroy failure" warning.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10170 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Angus Leeming 2005-07-12 11:33:56 +00:00
parent 5bacc054f5
commit 5ae47a84eb
4 changed files with 53 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2005-07-12 Angus Leeming <leeming@lyx.org>
* qt.m4 (QT_CHECK_IS_MULTITHREADED): ascertain whether the Qt library
has multi-threading support.
2005-07-12 Jean-Marc Lasgouttes <lasgouttes@lyx.org> 2005-07-12 Jean-Marc Lasgouttes <lasgouttes@lyx.org>
* qt.m4 (QT_DO_IT_ALL): mark the QTDIR variable as precious. * qt.m4 (QT_DO_IT_ALL): mark the QTDIR variable as precious.

View File

@ -156,6 +156,40 @@ EOF
AC_SUBST(QT_VERSION) AC_SUBST(QT_VERSION)
]) ])
dnl Ascertain whether the Qt libraries are multi-threaded or not
AC_DEFUN([QT_CHECK_IS_MULTITHREADED],
[
AC_CACHE_CHECK([whether the Qt library is multi-threaded],
qt_cv_is_multithreaded,
[
AC_LANG_CPLUSPLUS
SAVE_CXXFLAGS=$CXXFLAGS
SAVE_LIBS="$LIBS"
CXXFLAGS="$CXXFLAGS $QT_INCLUDES $QT_LDFLAGS"
LIBS="$LIBS $QT_LIB"
AC_TRY_LINK(
[
#define QT_THREAD_SUPPORT
#include <qapplication.h>
],
[
QApplication a(0,0);
a.unlock();
],
qt_cv_is_multithreaded=yes,
qt_cv_is_multithreaded=no
)
LIBS="$SAVE_LIBS"
CXXFLAGS=$SAVE_CXXFLAGS
])
if test x"$qt_cv_is_multithreaded" = xyes; then
QT_CPPFLAGS="$QT_CPPFLAGS -DQT_THREAD_SUPPORT"
fi
])
dnl start here dnl start here
AC_DEFUN([QT_DO_IT_ALL], AC_DEFUN([QT_DO_IT_ALL],
[ [
@ -205,7 +239,7 @@ AC_DEFUN([QT_DO_IT_ALL],
dnl Preprocessor flags dnl Preprocessor flags
case ${host} in case ${host} in
*mingw*) QT_CPPFLAGS="-DQT_DLL -DQT_CLEAN_NAMESPACE -DQT_GENUINE_STR";; *mingw*) QT_CPPFLAGS="-DQT_DLL -DQT_CLEAN_NAMESPACE -DQT_GENUINE_STR";;
*) QT_CPPFLAGS="-DQT_CLEAN_NAMESPACE -DQT_GENUINE_STR";; *) QT_CPPFLAGS="-DQT_CLEAN_NAMESPACE -DQT_GENUINE_STR";;
esac esac
AC_SUBST(QT_CPPFLAGS) AC_SUBST(QT_CPPFLAGS)
@ -225,6 +259,8 @@ AC_DEFUN([QT_DO_IT_ALL],
QT_LIB=$qt_cv_libname; QT_LIB=$qt_cv_libname;
AC_SUBST(QT_LIB) AC_SUBST(QT_LIB)
QT_CHECK_IS_MULTITHREADED
if test -n "$qt_cv_libname"; then if test -n "$qt_cv_libname"; then
QT_GET_VERSION QT_GET_VERSION
fi fi

View File

@ -1,3 +1,8 @@
2005-07-12 Angus Leeming <leeming@lyx.org>
* lyx_gui.C (LQApplication d-tor): unlock the mutex if the Qt library
is multi-threaded.
2005-06-16 Joao Luis Meloni Assirati <assirati@nonada.if.usp.br> 2005-06-16 Joao Luis Meloni Assirati <assirati@nonada.if.usp.br>
* QMathDialog.C (QMathDialog, insertFont): add boldsymbol font. * QMathDialog.C (QMathDialog, insertFont): add boldsymbol font.

View File

@ -135,7 +135,12 @@ LQApplication::LQApplication(int & argc, char ** argv)
LQApplication::~LQApplication() LQApplication::~LQApplication()
{} {
#ifdef QT_THREAD_SUPPORT
if (locked())
unlock();
#endif
}
#ifdef Q_WS_MACX #ifdef Q_WS_MACX