Mercurial > octave
diff m4/acinclude.m4 @ 29271:0348f3f57e3c stable
avoid build errors with Qt4 (bug #59813)
* acinclude.m4 (OCTAVE_CHECK_FUNC_QFONTDATABASE_SYSTEMFONT,
OCTAVE_CHECK_QVARIANT_CANCONVERT_ACCEPTS_QMETATYPE_TYPE): New macros.
(OCTAVE_CHECK_QT_VERSION): Use them.
* resource-manager.cc (resource_manager::get_default_font_family):
Check availability of QFontDatabase::systemFont, fall back on
QFont::setStyleHint, then global_font_family.
* octave-dock-widget.cc (octave_dock_widget::handle_settings):
Check whether QVariant::canConvert accepts QMetatype::Type. Use
QVariant::Type as fallback.
* variable-editor-model.cc (variable_editor_model::setData): Likewise.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Mon, 04 Jan 2021 13:37:34 -0500 |
parents | 5d7a651bf0bb |
children | 11bc1b22b29f 0a5b15007766 |
line wrap: on
line diff
--- a/m4/acinclude.m4 Tue Jan 05 18:19:15 2021 +0100 +++ b/m4/acinclude.m4 Mon Jan 04 13:37:34 2021 -0500 @@ -1091,6 +1091,35 @@ fi ]) dnl +dnl Check whether the Qt class QFontDatabase has the systemFont member +dnl function. This function was introduced in Qt 5.2. +dnl +AC_DEFUN([OCTAVE_CHECK_FUNC_QFONTDATABASE_SYSTEMFONT], [ + AC_CACHE_CHECK([for QFontDatabase::systemFont function], + [octave_cv_func_qfontdatabase_systemfont], + [AC_LANG_PUSH(C++) + ac_octave_save_CPPFLAGS="$CPPFLAGS" + ac_octave_save_CXXFLAGS="$CXXFLAGS" + CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS" + CXXFLAGS="$CXXPICFLAG $CXXFLAGS" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include <QFontDatabase> + #include <QFont> + ]], [[ + QFont font = QFontDatabase::systemFont (QFontDatabase::FixedFont); + ]])], + octave_cv_func_qfontdatabase_systemfont=yes, + octave_cv_func_qfontdatabase_systemfont=no) + CPPFLAGS="$ac_octave_save_CPPFLAGS" + CXXFLAGS="$ac_octave_save_CXXFLAGS" + AC_LANG_POP(C++) + ]) + if test $octave_cv_func_qfontdatabase_systemfont = yes; then + AC_DEFINE(HAVE_QFONTDATABASE_SYSTEMFONT, 1, + [Define to 1 if you have the `QFontDatabase::systemFont' function.]) + fi +]) +dnl dnl Check whether the Qt class QList has a constructor that accepts dnl a pair of iterators. This constructor was introduced in Qt 5.14. dnl @@ -1967,6 +1996,37 @@ fi ]) dnl +dnl Check whether QVariant::canConvert accepts a QMetaType::Type +dnl enumeration value as an argument. +dnl +AC_DEFUN([OCTAVE_CHECK_QVARIANT_CANCONVERT_ACCEPTS_QMETATYPE_TYPE], [ + AC_CACHE_CHECK([whether QVariant::canConvert accepts QMetaType::Type argument], + [octave_cv_qvariant_canconvert_accepts_qmetatype_type], + [AC_LANG_PUSH(C++) + ac_octave_save_CPPFLAGS="$CPPFLAGS" + ac_octave_save_CXXFLAGS="$CXXFLAGS" + CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS" + CXXFLAGS="$CXXPICFLAG $CXXFLAGS" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include <QMetaType> + #include <QVariant> + ]], [[ + QVariant var; + QMetaType::Type type = QMetaType::QString; + var.canConvert (type); + ]])], + octave_cv_qvariant_canconvert_accepts_qmetatype_type=yes, + octave_cv_qvariant_canconvert_accepts_qmetatype_type=no) + CPPFLAGS="$ac_octave_save_CPPFLAGS" + CXXFLAGS="$ac_octave_save_CXXFLAGS" + AC_LANG_POP(C++) + ]) + if test $octave_cv_qvariant_canconvert_accepts_qmetatype_type = yes; then + AC_DEFINE(QVARIANT_CANCONVERT_ACCEPTS_QMETATYPE_TYPE, 1, + [Define to 1 if `QVariant::canConvert' accepts `QMetaType::Type' enumeration value as argument.]) + fi +]) +dnl dnl Check for the Qhull version. dnl AC_DEFUN([OCTAVE_CHECK_QHULL_VERSION], [ @@ -2518,6 +2578,7 @@ ## version that we are testing now will be the one used. OCTAVE_CHECK_FUNC_QCOMBOBOX_SETCURRENTTEXT + OCTAVE_CHECK_FUNC_QFONTDATABASE_SYSTEMFONT OCTAVE_CHECK_FUNC_QFONTMETRICS_HORIZONTAL_ADVANCE OCTAVE_CHECK_FUNC_QGUIAPPLICATION_SETDESKTOPFILENAME OCTAVE_CHECK_FUNC_QHEADERVIEW_SETSECTIONRESIZEMODE @@ -2539,6 +2600,7 @@ OCTAVE_CHECK_FUNC_QWHEELEVENT_POSITION OCTAVE_CHECK_MEMBER_QFONT_FORCE_INTEGER_METRICS OCTAVE_CHECK_MEMBER_QFONT_MONOSPACE + OCTAVE_CHECK_QVARIANT_CANCONVERT_ACCEPTS_QMETATYPE_TYPE OCTAVE_HAVE_QGUIAPPLICATION OCTAVE_CHECK_QREGION_ITERATORS