diff options
133 files changed, 2220 insertions, 1838 deletions
diff --git a/config.tests/unix/cups.test b/config.tests/unix/cups.test index 0b97e2b..55f5aee 100755 --- a/config.tests/unix/cups.test +++ b/config.tests/unix/cups.test @@ -45,7 +45,7 @@ else done if [ -z "$F" ]; then CUPS=no - [ "VERBOSE" = "yes" ] && echo " Could not find CUPS lib anywhere in $LIBDIRS" + [ "$VERBOSE" = "yes" ] && echo " Could not find CUPS lib anywhere in $LIBDIRS" fi done fi diff --git a/config.tests/unix/nis.test b/config.tests/unix/nis.test index 2dc4c5a..21f9f89 100755 --- a/config.tests/unix/nis.test +++ b/config.tests/unix/nis.test @@ -50,7 +50,7 @@ else done if [ -z "$F" ]; then NIS=no - [ "VERBOSE" = "yes" ] && echo " Could not find NIS lib anywhere in $LIBDIRS" + [ "$VERBOSE" = "yes" ] && echo " Could not find NIS lib anywhere in $LIBDIRS" fi done fi diff --git a/config.tests/x11/xinput.test b/config.tests/x11/xinput.test index c8b3e08..c31388b 100755 --- a/config.tests/x11/xinput.test +++ b/config.tests/x11/xinput.test @@ -39,7 +39,7 @@ for LIBDIR in $LIBDIRS; do done if [ -z "$F" ]; then XINPUT=no - [ "VERBOSE" = "yes" ] && echo " Could not find XInput lib anywhere in $LIBDIRS" + [ "$VERBOSE" = "yes" ] && echo " Could not find XInput lib anywhere in $LIBDIRS" fi # check for XInput.h and the IRIX wacom.h diff --git a/config.tests/x11/xrandr.test b/config.tests/x11/xrandr.test index 66a05c5..59145a1 100755 --- a/config.tests/x11/xrandr.test +++ b/config.tests/x11/xrandr.test @@ -43,28 +43,28 @@ if [ -z "$F" ]; then fi # check for Xrandr.h and randr.h -XRANDR_H= RANDR_H= if [ "$XRANDR" = "yes" ]; then - INC="X11/extensions/Xrandr.h" - INC2="X11/extensions/randr.h" + INCS="X11/extensions/Xrandr.h X11/extensions/randr.h" XDIRS=`sed -n -e '/^QMAKE_INCDIR_X11[ ]*=/ { s/[^=]*=[ ]*//; s/-I/ /g; p; }' $XCONFIG` INCDIRS="$IN_INCDIRS $XDIRS /usr/include /include" - F= - for INCDIR in $INCDIRS; do - if [ -f $INCDIR/$INC -a -f $INCDIR/$INC2 ]; then - F=yes - XRANDR_H=$INCDIR/$INC - RANDR_H=$INCDIR/$INC2 - [ "$VERBOSE" = "yes" ] && echo " Found $INC in $INCDIR" - break + for INC in $INCS; do + F= + for INCDIR in $INCDIRS; do + if [ -f $INCDIR/$INC ]; then + F=yes + [ "$INC" = "X11/extensions/randr.h" ] && RANDR_H=$INCDIR/$INC + [ "$VERBOSE" = "yes" ] && echo " Found $INC in $INCDIR" + break + fi + done + if [ -z "$F" ] + then + XRANDR=no + [ "$VERBOSE" = "yes" ] && echo " Could not find $INC anywhere in $INCDIRS" + break; fi done - if [ -z "$F" ] - then - XRANDR=no - [ "$VERBOSE" = "yes" ] && echo " Could not find $INC anywhere in $INCDIRS" - fi fi # verify that we are using XRandR 1.x >= 1.1 @@ -171,7 +171,7 @@ QT_INSTALL_PLUGINS= QT_INSTALL_DATA= QT_INSTALL_TRANSLATIONS= QT_INSTALL_SYSCONF= - +QT_INSTALL_SHARE= #------------------------------------------------------------------------------- # check SQL drivers and styles available in this package @@ -241,7 +241,7 @@ while [ "$#" -gt 0 ]; do UNKNOWN_ARG=yes fi ;; - -prefix|-docdir|-headerdir|-plugindir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey) + -prefix|-sysshare|-docdir|-headerdir|-plugindir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey) VAR=`echo $1 | sed "s,^-\(.*\),\1,"` shift VAL=$1 @@ -371,6 +371,9 @@ while [ "$#" -gt 0 ]; do sysconfdir) QT_INSTALL_SYSCONF="$VAL" ;; + sysshare) + QT_INSTALL_SHARE="$VAL" + ;; qconfig) CFG_QCONFIG="$VAL" ;; @@ -940,6 +943,8 @@ done [ -z "$QT_INSTALL_TRANSLATIONS" ] && QT_INSTALL_TRANSLATIONS=$QT_INSTALL_PREFIX/translations # default PREFIX/etc/settings [ -z "$QT_INSTALL_SYSCONF" ] && QT_INSTALL_SYSCONF=$QT_INSTALL_PREFIX/etc/settings +# default PREFIX/share +[ -z "$QT_INSTALL_SHARE" ] && QT_INSTALL_SHARE=$QT_INSTALL_PREFIX/share # generate qconfig.cpp [ -d $outpath/src/tools ] || mkdir -p $outpath/src/tools @@ -956,6 +961,7 @@ static const char QT_INSTALL_PLUGINS [267] = "qt_plgpath=$QT_INSTALL_PLUGINS static const char QT_INSTALL_DATA [267] = "qt_datpath=$QT_INSTALL_DATA"; static const char QT_INSTALL_TRANSLATIONS[267] = "qt_trnpath=$QT_INSTALL_TRANSLATIONS"; static const char QT_INSTALL_SYSCONF [267] = "qt_cnfpath=$QT_INSTALL_SYSCONF"; +static const char QT_INSTALL_SHARE [267] = "qt_shapath=$QT_INSTALL_SHARE"; /* strlen( "qt_xxxpath=" ) == 11 */ const char *qInstallPath() { return QT_INSTALL_PREFIX + 11; } @@ -967,6 +973,7 @@ const char *qInstallPathPlugins() { return QT_INSTALL_PLUGINS + 11; } const char *qInstallPathData() { return QT_INSTALL_DATA + 11; } const char *qInstallPathTranslations() { return QT_INSTALL_TRANSLATIONS + 11; } const char *qInstallPathSysconf() { return QT_INSTALL_SYSCONF + 11; } +const char *qInstallPathShare() { return QT_INSTALL_SHARE + 11; } EOF # avoid unecessary rebuilds by copying only if qconfig.cpp has changed @@ -1851,7 +1858,7 @@ if [ "$OPT_HELP" = "yes" ]; then cat <<EOF Usage: $relconf [-prefix dir] [-buildkey key] [-docdir dir] [-headerdir dir] - [-libdir dir] [-bindir dir] [-plugindir dir ] [-datadir dir] + [-libdir dir] [-bindir dir] [-plugindir dir ] [-datadir dir] [-sysshare dir] [-translationdir dir] [-sysconfdir dir] [-debug] [-release] [-no-gif] [-qt-gif] [-no-sm] [-sm] [-qt-zlib] [-system-zlib] [-qt-libpng] [-system-libpng] @@ -1886,6 +1893,8 @@ Installation options: (default PREFIX/translations) -sysconfdir dir ... Settings used by Qt programs will be looked for in dir (default PREFIX/etc/settings) + -sysshare dir ..... System shared data will be installed in dir + (default PREFIX/share) You may use these options to turn on strict plugin loading. @@ -2752,6 +2761,7 @@ QMAKE_VARS="$QMAKE_VARS \"libs.path=${QT_INSTALL_LIBS}\"" QMAKE_VARS="$QMAKE_VARS \"bins.path=${QT_INSTALL_BINS}\"" QMAKE_VARS="$QMAKE_VARS \"data.path=${QT_INSTALL_DATA}\"" QMAKE_VARS="$QMAKE_VARS \"translations.path=${QT_INSTALL_TRANSLATIONS}\"" +QMAKE_VARS="$QMAKE_VARS \"share.path=${QT_INSTALL_SHARE}\"" # turn off exceptions for the compilers that support it COMPILER=`echo $PLATFORM | cut -f 2- -d-` @@ -2818,7 +2828,7 @@ g++*) 3.*) COMPILER_VERSION="3.*" ;; - [7-8]|[4-6].*) + [1-9][0-9]|[1-9][0-9].*|[7-9]|[4-9].*) COMPILER_VERSION="4.*" ;; *) diff --git a/doc/html/desktop-example.html b/doc/html/desktop-example.html index cc054de..4c91df1 100644 --- a/doc/html/desktop-example.html +++ b/doc/html/desktop-example.html @@ -95,7 +95,7 @@ void poly() int head = 0; int tail = -maxcurves + 2; <a href="qpointarray.html">QPointArray</a> *a = new <a href="qpointarray.html">QPointArray</a>[ maxcurves ]; - register QPointArray *p; + QPointArray *p; <a name="x1760"></a> <a href="qrect.html">QRect</a> r = d-><a href="qwidget.html#rect">rect</a>(); // desktop rectangle int i; diff --git a/doc/html/qwidget.html b/doc/html/qwidget.html index 1a63ad2..0262696 100644 --- a/doc/html/qwidget.html +++ b/doc/html/qwidget.html @@ -1177,7 +1177,7 @@ See the <a href="qwidget.html#geometry-prop">"geometry"</a> property for details <h3 class=fn>void <a name="grabKeyboard"></a>QWidget::grabKeyboard () </h3> Grabs the keyboard input. -<p> This widget reveives all keyboard events until <a href="#releaseKeyboard">releaseKeyboard</a>() +<p> This widget receives all keyboard events until <a href="#releaseKeyboard">releaseKeyboard</a>() is called; other widgets get no keyboard events at all. Mouse events are not affected. Use <a href="#grabMouse">grabMouse</a>() if you want to grab that. <p> The focus widget is not affected, except that it doesn't receive diff --git a/doc/man/man1/linguist.1 b/doc/man/man1/linguist.1 index a0f9913..db2ff14 100644 --- a/doc/man/man1/linguist.1 +++ b/doc/man/man1/linguist.1 @@ -2,7 +2,7 @@ .SH "NAME" linguist \- Translation tool for Qt. -.SH "SYNPOSIS" +.SH "SYNOPSIS" .B linguist [ .I TRANSLATION diff --git a/doc/man/man1/lrelease.1 b/doc/man/man1/lrelease.1 index 4b28272..c97189a 100644 --- a/doc/man/man1/lrelease.1 +++ b/doc/man/man1/lrelease.1 @@ -98,4 +98,4 @@ lrelease gnomovision_*.ts .SH "SEE ALSO" .BR lupdate (1) and -.BR http://doc.trolltech.com/i18n.html +.BR https://trinitydesktop.org/docs/qt3/i18n.html diff --git a/doc/man/man1/lupdate.1 b/doc/man/man1/lupdate.1 index cb0f652..92043fd 100644 --- a/doc/man/man1/lupdate.1 +++ b/doc/man/man1/lupdate.1 @@ -104,4 +104,4 @@ lupdate *.cpp *.h *.ui -ts gnomovision_dk.ts .SH "SEE ALSO" .BR lrelease (1) and -.BR http://doc.trolltech.com/i18n.html +.BR https://trinitydesktop.org/docs/qt3/i18n.html diff --git a/doc/man/man1/makeqpf.1 b/doc/man/man1/makeqpf.1 index 37ddcfd..0ed6cb6 100644 --- a/doc/man/man1/makeqpf.1 +++ b/doc/man/man1/makeqpf.1 @@ -10,17 +10,24 @@ that assists producing QPF files from TTF and BDF files. .SH "SYNTAX" -qembed [ \fIgeneral\-files\fP ] <[ \fI\-\-images image\-files \fP]> -.br +.LP +makeqpf [ \fI\-A\fP ] [ \fI\-f spec\-file \fP] [ \fIfont ... \fP] -general\-files - These files can be any type of file. -\-\-images image\-files - These files must be in image formats supported by Qt. +\-A + Render and save all fonts in fontdir +.br +\-f spec\-file + File of lines: + fontname character-ranges + eg. + smoothtimes 0\-ff,20a0\-20af +.br +font + Font to render and save .SH "FILES" .LP -\fI$(QTDIR)/etc/fonts/fontdir\fP +\fI$(QTDIR)/lib/fonts/fontdir\fP .SH "AUTHORS" .LP TrollTech <http://www.trolltech.com/> diff --git a/doc/man/man1/moc.1 b/doc/man/man1/moc.1 index 3e4f43f..6fc8415 100644 --- a/doc/man/man1/moc.1 +++ b/doc/man/man1/moc.1 @@ -34,7 +34,7 @@ when required, so you will not need to use the directly. .PP In brief, the meta object system is a structure used by Qt (see -.BR http://doc.trolltech.com ")" +.BR https://trinitydesktop.org/docs/qt3/ ")" for component programming and run time type information. It adds properties and inheritance information to (some) classes and provides a new type of communication between those instances of those @@ -446,4 +446,4 @@ public: .SH "SEE ALSO" .BR http://www.trolltech.com ", " .BR "C++ ARM, section r.11.3" " (for the answer to the quiz), and" -.BR http://doc.trolltech.com " (for complete Qt documentation)." +.BR https://trinitydesktop.org/docs/qt3/ " (for complete Qt documentation)." diff --git a/doc/man/man1/uic.1 b/doc/man/man1/uic.1 index 154e494..be53526 100644 --- a/doc/man/man1/uic.1 +++ b/doc/man/man1/uic.1 @@ -131,6 +131,6 @@ doesn't care, so you can use .C, .cc, .CC, .cxx or even .c++ if you prefer.) .PP .SH "SEE ALSO" -.BR http://www.trolltech.com/ " " +.BR https://trinitydesktop.org/docs/qt3/ " " .SH AUTHOR Trolltech ASA <info@trolltech.com> diff --git a/examples/demo/opengl/fbm.c b/examples/demo/opengl/fbm.c index 47d5a61..dff1ccb 100644 --- a/examples/demo/opengl/fbm.c +++ b/examples/demo/opengl/fbm.c @@ -106,7 +106,7 @@ float noise3(float vec[3]) { int bx0, bx1, by0, by1, bz0, bz1, b00, b10, b01, b11; float rx0, rx1, ry0, ry1, rz0, rz1, *q, sy, sz, a, b, c, d, t, u, v; - register int i, j; + int i, j; if (start) { start = 0; diff --git a/examples/desktop/desktop.cpp b/examples/desktop/desktop.cpp index 2b6fb30..ea4111c 100644 --- a/examples/desktop/desktop.cpp +++ b/examples/desktop/desktop.cpp @@ -53,7 +53,7 @@ void poly() int head = 0; int tail = -maxcurves + 2; QPointArray *a = new QPointArray[ maxcurves ]; - register QPointArray *p; + QPointArray *p; QRect r = d->rect(); // desktop rectangle int i; diff --git a/examples/i18n/i18n.pro b/examples/i18n/i18n.pro index f0b84e2..e465614 100644 --- a/examples/i18n/i18n.pro +++ b/examples/i18n/i18n.pro @@ -9,10 +9,10 @@ REQUIRES = full-config HEADERS = mywidget.h SOURCES = main.cpp \ mywidget.cpp -TRANSLATIONS = mywidget_cs.ts \ +TRANSLATIONS = mywidget.ts \ + mywidget_cs.ts \ mywidget_de.ts \ mywidget_el.ts \ - mywidget_en.ts \ mywidget_eo.ts \ mywidget_fr.ts \ mywidget_it.ts \ diff --git a/examples/i18n/mywidget_en.ts b/examples/i18n/mywidget.ts index 54c4df8..54c4df8 100644 --- a/examples/i18n/mywidget_en.ts +++ b/examples/i18n/mywidget.ts diff --git a/include/qpaintdc.h b/include/qpaintdc.h deleted file mode 120000 index 3e78fa1..0000000 --- a/include/qpaintdc.h +++ /dev/null @@ -1 +0,0 @@ -../src/compat/qpaintdc.h
\ No newline at end of file diff --git a/mkspecs/linux-clang/qplatformdefs.h b/mkspecs/linux-clang/qplatformdefs.h index 15bb469..176e504 100644 --- a/mkspecs/linux-clang/qplatformdefs.h +++ b/mkspecs/linux-clang/qplatformdefs.h @@ -77,11 +77,7 @@ #define QT_SIGNAL_ARGS int #define QT_SIGNAL_IGNORE SIG_IGN -#if defined(__GLIBC__) && (__GLIBC__ >= 2) #define QT_SOCKLEN_T socklen_t -#else -#define QT_SOCKLEN_T int -#endif #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500) #define QT_SNPRINTF ::snprintf diff --git a/mkspecs/linux-cxx/qplatformdefs.h b/mkspecs/linux-cxx/qplatformdefs.h index 2bf855b..724033a 100644 --- a/mkspecs/linux-cxx/qplatformdefs.h +++ b/mkspecs/linux-cxx/qplatformdefs.h @@ -77,11 +77,7 @@ #define QT_SIGNAL_ARGS int #define QT_SIGNAL_IGNORE SIG_IGN -#if defined(__GLIBC__) && (__GLIBC__ >= 2) #define QT_SOCKLEN_T socklen_t -#else -#define QT_SOCKLEN_T int -#endif #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500) #define QT_SNPRINTF ::snprintf diff --git a/mkspecs/linux-ecc-64/qplatformdefs.h b/mkspecs/linux-ecc-64/qplatformdefs.h index 2bf855b..724033a 100644 --- a/mkspecs/linux-ecc-64/qplatformdefs.h +++ b/mkspecs/linux-ecc-64/qplatformdefs.h @@ -77,11 +77,7 @@ #define QT_SIGNAL_ARGS int #define QT_SIGNAL_IGNORE SIG_IGN -#if defined(__GLIBC__) && (__GLIBC__ >= 2) #define QT_SOCKLEN_T socklen_t -#else -#define QT_SOCKLEN_T int -#endif #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500) #define QT_SNPRINTF ::snprintf diff --git a/mkspecs/linux-g++-32/qplatformdefs.h b/mkspecs/linux-g++-32/qplatformdefs.h index fcf7631..06ef332 100644 --- a/mkspecs/linux-g++-32/qplatformdefs.h +++ b/mkspecs/linux-g++-32/qplatformdefs.h @@ -70,11 +70,7 @@ #define QT_SIGNAL_ARGS int #define QT_SIGNAL_IGNORE SIG_IGN -#if defined(__GLIBC__) && (__GLIBC__ >= 2) #define QT_SOCKLEN_T socklen_t -#else -#define QT_SOCKLEN_T int -#endif #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500) #define QT_SNPRINTF ::snprintf diff --git a/mkspecs/linux-g++-64/qplatformdefs.h b/mkspecs/linux-g++-64/qplatformdefs.h index 2bf855b..724033a 100644 --- a/mkspecs/linux-g++-64/qplatformdefs.h +++ b/mkspecs/linux-g++-64/qplatformdefs.h @@ -77,11 +77,7 @@ #define QT_SIGNAL_ARGS int #define QT_SIGNAL_IGNORE SIG_IGN -#if defined(__GLIBC__) && (__GLIBC__ >= 2) #define QT_SOCKLEN_T socklen_t -#else -#define QT_SOCKLEN_T int -#endif #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500) #define QT_SNPRINTF ::snprintf diff --git a/mkspecs/linux-g++-sparc/qplatformdefs.h b/mkspecs/linux-g++-sparc/qplatformdefs.h index 15bb469..176e504 100644 --- a/mkspecs/linux-g++-sparc/qplatformdefs.h +++ b/mkspecs/linux-g++-sparc/qplatformdefs.h @@ -77,11 +77,7 @@ #define QT_SIGNAL_ARGS int #define QT_SIGNAL_IGNORE SIG_IGN -#if defined(__GLIBC__) && (__GLIBC__ >= 2) #define QT_SOCKLEN_T socklen_t -#else -#define QT_SOCKLEN_T int -#endif #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500) #define QT_SNPRINTF ::snprintf diff --git a/mkspecs/linux-g++/qplatformdefs.h b/mkspecs/linux-g++/qplatformdefs.h index 15bb469..176e504 100644 --- a/mkspecs/linux-g++/qplatformdefs.h +++ b/mkspecs/linux-g++/qplatformdefs.h @@ -77,11 +77,7 @@ #define QT_SIGNAL_ARGS int #define QT_SIGNAL_IGNORE SIG_IGN -#if defined(__GLIBC__) && (__GLIBC__ >= 2) #define QT_SOCKLEN_T socklen_t -#else -#define QT_SOCKLEN_T int -#endif #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500) #define QT_SNPRINTF ::snprintf diff --git a/mkspecs/linux-icc/qplatformdefs.h b/mkspecs/linux-icc/qplatformdefs.h index 2bf855b..724033a 100644 --- a/mkspecs/linux-icc/qplatformdefs.h +++ b/mkspecs/linux-icc/qplatformdefs.h @@ -77,11 +77,7 @@ #define QT_SIGNAL_ARGS int #define QT_SIGNAL_IGNORE SIG_IGN -#if defined(__GLIBC__) && (__GLIBC__ >= 2) #define QT_SOCKLEN_T socklen_t -#else -#define QT_SOCKLEN_T int -#endif #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500) #define QT_SNPRINTF ::snprintf diff --git a/mkspecs/linux-kcc/qplatformdefs.h b/mkspecs/linux-kcc/qplatformdefs.h index 7811a12..8216555 100644 --- a/mkspecs/linux-kcc/qplatformdefs.h +++ b/mkspecs/linux-kcc/qplatformdefs.h @@ -80,11 +80,7 @@ #define QT_SIGNAL_ARGS int #define QT_SIGNAL_IGNORE SIG_IGN -#if defined(__GLIBC__) && (__GLIBC__ >= 2) #define QT_SOCKLEN_T socklen_t -#else -#define QT_SOCKLEN_T int -#endif #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500) #define QT_SNPRINTF ::snprintf diff --git a/mkspecs/linux-kylix/qplatformdefs.h b/mkspecs/linux-kylix/qplatformdefs.h index 2bf855b..724033a 100644 --- a/mkspecs/linux-kylix/qplatformdefs.h +++ b/mkspecs/linux-kylix/qplatformdefs.h @@ -77,11 +77,7 @@ #define QT_SIGNAL_ARGS int #define QT_SIGNAL_IGNORE SIG_IGN -#if defined(__GLIBC__) && (__GLIBC__ >= 2) #define QT_SOCKLEN_T socklen_t -#else -#define QT_SOCKLEN_T int -#endif #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500) #define QT_SNPRINTF ::snprintf diff --git a/mkspecs/linux-pgcc/qplatformdefs.h b/mkspecs/linux-pgcc/qplatformdefs.h index 2bf855b..724033a 100644 --- a/mkspecs/linux-pgcc/qplatformdefs.h +++ b/mkspecs/linux-pgcc/qplatformdefs.h @@ -77,11 +77,7 @@ #define QT_SIGNAL_ARGS int #define QT_SIGNAL_IGNORE SIG_IGN -#if defined(__GLIBC__) && (__GLIBC__ >= 2) #define QT_SOCKLEN_T socklen_t -#else -#define QT_SOCKLEN_T int -#endif #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500) #define QT_SNPRINTF ::snprintf diff --git a/mkspecs/lynxos-g++/qplatformdefs.h b/mkspecs/lynxos-g++/qplatformdefs.h index 56f4be6..ef6f0ed 100644 --- a/mkspecs/lynxos-g++/qplatformdefs.h +++ b/mkspecs/lynxos-g++/qplatformdefs.h @@ -76,11 +76,7 @@ #define QT_SIGNAL_ARGS int #define QT_SIGNAL_IGNORE SIG_IGN -#if defined(__GLIBC__) && (__GLIBC__ >= 2) #define QT_SOCKLEN_T socklen_t -#else -#define QT_SOCKLEN_T int -#endif #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500) #define QT_SNPRINTF ::snprintf diff --git a/mkspecs/macx-pbuilder/Info.plist.app b/mkspecs/macx-pbuilder/Info.plist.app index 4da07e9..4da07e9 100755..100644 --- a/mkspecs/macx-pbuilder/Info.plist.app +++ b/mkspecs/macx-pbuilder/Info.plist.app diff --git a/mkspecs/netbsd-g++/qmake.conf b/mkspecs/netbsd-g++/qmake.conf index f6e28ee..3fd2ccc 100644 --- a/mkspecs/netbsd-g++/qmake.conf +++ b/mkspecs/netbsd-g++/qmake.conf @@ -35,12 +35,12 @@ QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD QMAKE_INCDIR = /usr/local/include QMAKE_LIBDIR = /usr/local/lib -QMAKE_INCDIR_X11 = /usr/X11R6/include -QMAKE_LIBDIR_X11 = /usr/X11R6/lib +QMAKE_INCDIR_X11 = /usr/X11R7/include +QMAKE_LIBDIR_X11 = /usr/X11R7/lib QMAKE_INCDIR_QT = $(QTDIR)/include QMAKE_LIBDIR_QT = $(QTDIR)/lib -QMAKE_INCDIR_OPENGL = /usr/X11R6/include -QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib +QMAKE_INCDIR_OPENGL = /usr/X11R7/include +QMAKE_LIBDIR_OPENGL = /usr/X11R7/lib QMAKE_LINK = g++ QMAKE_LINK_SHLIB = g++ diff --git a/plugins/src/inputmethods/imsw-multi/imsw-multi.pro b/plugins/src/inputmethods/imsw-multi/imsw-multi.pro index a333916..c087188 100644 --- a/plugins/src/inputmethods/imsw-multi/imsw-multi.pro +++ b/plugins/src/inputmethods/imsw-multi/imsw-multi.pro @@ -3,7 +3,7 @@ TARGET = qimsw-multi DESTDIR = ../../../inputmethods INCLUDEPATH += . -CONFIG += qt warn_on debug plugin +CONFIG += qt warn_on plugin target.path += $$plugins.path/inputmethods INSTALLS += target diff --git a/plugins/src/inputmethods/imsw-none/imsw-none.pro b/plugins/src/inputmethods/imsw-none/imsw-none.pro index 0671e96..bcbda57 100644 --- a/plugins/src/inputmethods/imsw-none/imsw-none.pro +++ b/plugins/src/inputmethods/imsw-none/imsw-none.pro @@ -3,7 +3,7 @@ TARGET = qimsw-none DESTDIR = ../../../inputmethods INCLUDEPATH += . -CONFIG += qt warn_on debug plugin +CONFIG += qt warn_on plugin target.path += $$plugins.path/inputmethods INSTALLS += target diff --git a/plugins/src/inputmethods/simple/simple.pro b/plugins/src/inputmethods/simple/simple.pro index f60489e..023ec79 100644 --- a/plugins/src/inputmethods/simple/simple.pro +++ b/plugins/src/inputmethods/simple/simple.pro @@ -3,7 +3,7 @@ TARGET = qsimple DESTDIR = ../../../inputmethods INCLUDEPATH += . -CONFIG += qt warn_on debug plugin +CONFIG += qt warn_on plugin target.path += $$plugins.path/inputmethods INSTALLS += target diff --git a/plugins/src/inputmethods/xim/xim.pro b/plugins/src/inputmethods/xim/xim.pro index 994f0d4..af04269 100644 --- a/plugins/src/inputmethods/xim/xim.pro +++ b/plugins/src/inputmethods/xim/xim.pro @@ -3,7 +3,7 @@ TARGET = qxim DESTDIR = ../../../inputmethods INCLUDEPATH += . -CONFIG += qt warn_on debug plugin +CONFIG += qt warn_on plugin target.path += $$plugins.path/inputmethods INSTALLS += target DEFINES += QT_NO_XINERAMA diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp index 9b46b89..7f25444 100644 --- a/qmake/generators/makefile.cpp +++ b/qmake/generators/makefile.cpp @@ -1183,7 +1183,7 @@ MakefileGenerator::init() Option::fixPathToTargetOS(imgfile); if(!project->isEmpty("UI_DIR") || !project->isEmpty("UI_SOURCES_DIR")) { if(imgfile.find(Option::dir_sep) != -1) - imgfile = imgfile.right(imgfile.findRev(Option::dir_sep) + 1); + imgfile = imgfile.mid(imgfile.findRev(Option::dir_sep) + 1); imgfile.prepend( (project->isEmpty("UI_DIR") ? project->first("UI_SOURCES_DIR") : project->first("UI_DIR")) ); v["QMAKE_IMAGE_COLLECTION"] = QStringList(imgfile); @@ -1433,7 +1433,7 @@ MakefileGenerator::write() QString prl = var("TARGET"); int slsh = prl.findRev(Option::dir_sep); if(slsh != -1) - prl = prl.right(prl.length() - slsh); + prl = prl.right(prl.length() - slsh - 1); int dot = prl.find('.'); if(dot != -1) prl = prl.left(dot); @@ -2142,10 +2142,9 @@ QString MakefileGenerator::build_args() bool MakefileGenerator::writeHeader(QTextStream &t) { - time_t foo = time(NULL); t << "#############################################################################" << endl; t << "# Makefile for building: " << var("TARGET") << endl; - t << "# Generated by qmake (" << qmake_version() << ") (Qt " << QT_VERSION_STR << ") on: " << ctime(&foo); + t << "# Generated by qmake (" << qmake_version() << ") (Qt " << QT_VERSION_STR << ")" << endl; t << "# Project: " << fileFixify(project->projectFile()) << endl; t << "# Template: " << var("TEMPLATE") << endl; t << "# Command: " << build_args() << endl; diff --git a/qmake/generators/projectgenerator.cpp b/qmake/generators/projectgenerator.cpp index f3d4633..cae7b8f 100644 --- a/qmake/generators/projectgenerator.cpp +++ b/qmake/generators/projectgenerator.cpp @@ -345,7 +345,7 @@ bool ProjectGenerator::writeMakefile(QTextStream &t) { t << "######################################################################" << endl; - t << "# Automatically generated by qmake (" << qmake_version() << ") " << QDateTime::currentDateTime().toString() << endl; + t << "# Automatically generated by qmake (" << qmake_version() << ") " << endl; t << "######################################################################" << endl << endl; QStringList::Iterator it; for(it = Option::before_user_vars.begin(); it != Option::before_user_vars.end(); ++it) diff --git a/qmake/generators/unix/unixmake.cpp b/qmake/generators/unix/unixmake.cpp index 865c84a..d41a983 100644 --- a/qmake/generators/unix/unixmake.cpp +++ b/qmake/generators/unix/unixmake.cpp @@ -343,7 +343,7 @@ UnixMakefileGenerator::init() if(libtoolify[i].startsWith("QMAKE_LINK") || libtoolify[i] == "QMAKE_AR_CMD") { libtool_flags += " --mode=link"; if(project->isActiveConfig("staticlib")) { - libtool_flags += " -static"; + comp_flags += " -static"; } else { if(!project->isEmpty("QMAKE_LIB_FLAG")) { int maj = project->first("VER_MAJ").toInt(); @@ -352,18 +352,16 @@ UnixMakefileGenerator::init() comp_flags += " -version-info " + QString::number(10*maj + min) + ":" + QString::number(pat) + ":0"; if(libtoolify[i] != "QMAKE_AR_CMD") { - QString rpath = Option::output_dir; - if(!project->isEmpty("DESTDIR")) { - rpath = project->first("DESTDIR"); - if(QDir::isRelativePath(rpath)) - rpath.prepend(Option::output_dir + Option::dir_sep); + QString rpath = project->first("target.path"); + if(rpath.right(1) != Option::dir_sep) { + rpath += Option::dir_sep; } comp_flags += " -rpath " + Option::fixPathToTargetOS(rpath, FALSE); } } } if(project->isActiveConfig("plugin")) - libtool_flags += " -module"; + comp_flags += " -module"; } else { libtool_flags += " --mode=compile"; } @@ -763,7 +761,7 @@ UnixMakefileGenerator::defaultInstall(const QString &t) QString src_lt = var("QMAKE_ORIG_TARGET"); int slsh = src_lt.findRev(Option::dir_sep); if(slsh != -1) - src_lt = src_lt.right(src_lt.length() - slsh); + src_lt = src_lt.right(src_lt.length() - slsh - 1); int dot = src_lt.find('.'); if(dot != -1) src_lt = src_lt.left(dot); @@ -786,7 +784,7 @@ UnixMakefileGenerator::defaultInstall(const QString &t) QString src_pc = var("QMAKE_ORIG_TARGET"); int slsh = src_pc.findRev(Option::dir_sep); if(slsh != -1) - src_pc = src_pc.right(src_pc.length() - slsh); + src_pc = src_pc.right(src_pc.length() - slsh - 1); int dot = src_pc.find('.'); if(dot != -1) src_pc = src_pc.left(dot); diff --git a/qmake/generators/unix/unixmake2.cpp b/qmake/generators/unix/unixmake2.cpp index d1ed572..e583419 100644 --- a/qmake/generators/unix/unixmake2.cpp +++ b/qmake/generators/unix/unixmake2.cpp @@ -1386,20 +1386,6 @@ void UnixMakefileGenerator::init2() if(!project->isActiveConfig("compile_libtool")) project->variables()["QMAKE_LFLAGS"] += project->variables()["QMAKE_LFLAGS_SONAME"]; } - QString destdir = project->first("DESTDIR"); - if ( !destdir.isEmpty() && !project->variables()["QMAKE_RPATH"].isEmpty() ) { - QString rpath_destdir = destdir; - if(QDir::isRelativePath(rpath_destdir)) { - QFileInfo fi(Option::fixPathToLocalOS(rpath_destdir)); - if(fi.convertToAbs()) //strange, shouldn't really happen - rpath_destdir = Option::fixPathToTargetOS(rpath_destdir, FALSE); - else - rpath_destdir = fi.filePath(); - } else { - rpath_destdir = Option::fixPathToTargetOS(rpath_destdir, FALSE); - } - project->variables()["QMAKE_LFLAGS"] += project->first("QMAKE_RPATH") + rpath_destdir; - } } QStringList &quc = project->variables()["QMAKE_EXTRA_UNIX_COMPILERS"]; for(QStringList::Iterator it = quc.begin(); it != quc.end(); ++it) { @@ -1428,7 +1414,7 @@ UnixMakefileGenerator::libtoolFileName() QString ret = var("TARGET"); int slsh = ret.findRev(Option::dir_sep); if(slsh != -1) - ret = ret.right(ret.length() - slsh); + ret = ret.right(ret.length() - slsh - 1); int dot = ret.find('.'); if(dot != -1) ret = ret.left(dot); @@ -1452,9 +1438,8 @@ UnixMakefileGenerator::writeLibtoolFile() QTextStream t(&ft); t << "# " << lname << " - a libtool library file\n"; - time_t now = time(NULL); t << "# Generated by qmake/libtool (" << qmake_version() << ") (Qt " - << QT_VERSION_STR << ") on: " << ctime(&now) << "\n"; + << QT_VERSION_STR << ")\n"; t << "# The name that we can dlopen(3).\n" << "dlname='" << var(project->isActiveConfig("plugin") ? "TARGET" : "TARGET_x") @@ -1466,13 +1451,17 @@ UnixMakefileGenerator::writeLibtoolFile() t << var("TARGET"); } else { if (project->isEmpty("QMAKE_HPUX_SHLIB")) - t << var("TARGET_x.y.z") << " "; + t << var("TARGET_x.y.z") << " " << var("TARGET_x.y") << " "; t << var("TARGET_x") << " " << var("TARGET_"); } t << "'\n\n"; t << "# The name of the static archive.\n" - << "old_library='" << lname.left(lname.length()-Option::libtool_ext.length()) << ".a'\n\n"; + << "old_library='"; + if(project->isActiveConfig("staticlib")) { + t << lname.left(lname.length()-Option::libtool_ext.length()) << ".a"; + } + t << "'\n\n"; t << "# Libraries that this one depends upon.\n"; QStringList libs; @@ -1513,7 +1502,7 @@ UnixMakefileGenerator::pkgConfigFileName() QString ret = var("TARGET"); int slsh = ret.findRev(Option::dir_sep); if(slsh != -1) - ret = ret.right(ret.length() - slsh); + ret = ret.right(ret.length() - slsh - 1); if(ret.startsWith("lib")) ret = ret.mid(3); int dot = ret.find('.'); @@ -1557,23 +1546,38 @@ UnixMakefileGenerator::writePkgConfigFile() // ### does make sense only for project->variables()["ALL_DEPS"].append(fname); QTextStream t(&ft); - QString prefix = pkgConfigPrefix(); - QString libDir = project->first("QMAKE_PKGCONFIG_LIBDIR"); - if(libDir.isEmpty()) - libDir = prefix + "/lib"; - QString includeDir = project->first("QMAKE_PKGCONFIG_INCDIR"); - if(includeDir.isEmpty()) - includeDir = prefix + "/include"; - QString pluginsDir = project->first("QMAKE_PKGCONFIG_PLUGINS"); - if(pluginsDir.isEmpty()) - pluginsDir = prefix + "/plugins"; - - t << "prefix=" << prefix << endl; - t << "exec_prefix=${prefix}\n" - << "libdir=" << pkgConfigFixPath(libDir) << "\n" - << "includedir=" << pkgConfigFixPath(includeDir) << endl; - // non-standard entry. Provides path for plugins - t << "pluginsdir=" << pkgConfigFixPath(pluginsDir) << endl; + QString prefix = pkgConfigPrefix(); + QString libDir = qInstallPathLibs(); + if (libDir.isEmpty()) + { + libDir = prefix + "/lib"; + } + QString includeDir = qInstallPathHeaders(); + if (includeDir.isEmpty()) + { + includeDir = prefix + "/include"; + } + QString pluginsDir = qInstallPathPlugins(); + if (pluginsDir.isEmpty()) + { + pluginsDir = prefix + "/plugins"; + } + QString translationsDir = qInstallPathTranslations(); + if (translationsDir.isEmpty()) + { + translationsDir = prefix + "/translations"; + } + + t << "prefix=" << prefix << endl + << "exec_prefix=${prefix}" << endl + << "libdir=" << pkgConfigFixPath(libDir) << endl + << "includedir=" << pkgConfigFixPath(includeDir) << endl + // non-standard entry. Provides path for plugins + << "pluginsdir=" << pkgConfigFixPath(pluginsDir) << endl + // non-standard entry. Provides path for translations + << "translationsdir=" << pkgConfigFixPath(translationsDir) << endl + << endl; + // non-standard entry. Provides useful info normally only // contained in the internal .qmake.cache file t << varGlue("CONFIG", "qt_config=", " ", "") << endl << endl; diff --git a/qmake/project.cpp b/qmake/project.cpp index efc465d..081143c 100644 --- a/qmake/project.cpp +++ b/qmake/project.cpp @@ -724,7 +724,7 @@ QMakeProject::isActiveConfig(const QString &x, bool regex, QMap<QString, QString static char *buffer = NULL; if(!buffer) buffer = (char *)malloc(1024); - int l = readlink(Option::mkfile::qmakespec, buffer, 1024); + int l = readlink(Option::mkfile::qmakespec, buffer, 1023); if(l != -1) { buffer[l] = '\0'; QString r = buffer; diff --git a/src/3rdparty/libmng/config.guess b/src/3rdparty/libmng/config.guess index dff9e48..c604127 100755 --- a/src/3rdparty/libmng/config.guess +++ b/src/3rdparty/libmng/config.guess @@ -861,15 +861,7 @@ EOF int main (argc, argv) int argc; char *argv[]; { #endif #ifdef __ELF__ -# ifdef __GLIBC__ -# if __GLIBC__ >= 2 - printf ("%s-pc-linux-gnu\n", argv[1]); -# else - printf ("%s-pc-linux-gnulibc1\n", argv[1]); -# endif -# else - printf ("%s-pc-linux-gnulibc1\n", argv[1]); -# endif + printf ("%s-pc-linux-gnu\n", argv[1]); #else printf ("%s-pc-linux-gnuaout\n", argv[1]); #endif diff --git a/src/3rdparty/libpng/pnggccrd.c b/src/3rdparty/libpng/pnggccrd.c index 8d81c31..b218d34 100644 --- a/src/3rdparty/libpng/pnggccrd.c +++ b/src/3rdparty/libpng/pnggccrd.c @@ -694,16 +694,16 @@ png_combine_row(png_structp png_ptr, png_bytep row, int mask) else /* mmx _not supported - Use modified C routine */ #endif /* PNG_ASSEMBLER_CODE_SUPPORTED */ { - register png_uint_32 i; + png_uint_32 i; png_uint_32 initial_val = png_pass_start[png_ptr->pass]; /* png.c: png_pass_start[] = {0, 4, 0, 2, 0, 1, 0}; */ - register int stride = png_pass_inc[png_ptr->pass]; + int stride = png_pass_inc[png_ptr->pass]; /* png.c: png_pass_inc[] = {8, 8, 4, 4, 2, 2, 1}; */ - register int rep_bytes = png_pass_width[png_ptr->pass]; + int rep_bytes = png_pass_width[png_ptr->pass]; /* png.c: png_pass_width[] = {8, 4, 4, 2, 2, 1, 1}; */ png_uint_32 len = png_ptr->width &~7; /* reduce to mult. of 8 */ int diff = (int) (png_ptr->width & 7); /* amount lost */ - register png_uint_32 final_val = len; /* GRR bugfix */ + png_uint_32 final_val = len; /* GRR bugfix */ srcptr = png_ptr->row_buf + 1 + initial_val; dstptr = row + initial_val; @@ -848,16 +848,16 @@ png_combine_row(png_structp png_ptr, png_bytep row, int mask) else /* mmx _not supported - Use modified C routine */ #endif /* PNG_ASSEMBLER_CODE_SUPPORTED */ { - register png_uint_32 i; + png_uint_32 i; png_uint_32 initial_val = BPP2 * png_pass_start[png_ptr->pass]; /* png.c: png_pass_start[] = {0, 4, 0, 2, 0, 1, 0}; */ - register int stride = BPP2 * png_pass_inc[png_ptr->pass]; + int stride = BPP2 * png_pass_inc[png_ptr->pass]; /* png.c: png_pass_inc[] = {8, 8, 4, 4, 2, 2, 1}; */ - register int rep_bytes = BPP2 * png_pass_width[png_ptr->pass]; + int rep_bytes = BPP2 * png_pass_width[png_ptr->pass]; /* png.c: png_pass_width[] = {8, 4, 4, 2, 2, 1, 1}; */ png_uint_32 len = png_ptr->width &~7; /* reduce to mult. of 8 */ int diff = (int) (png_ptr->width & 7); /* amount lost */ - register png_uint_32 final_val = BPP2 * len; /* GRR bugfix */ + png_uint_32 final_val = BPP2 * len; /* GRR bugfix */ srcptr = png_ptr->row_buf + 1 + initial_val; dstptr = row + initial_val; @@ -1016,16 +1016,16 @@ png_combine_row(png_structp png_ptr, png_bytep row, int mask) else /* mmx _not supported - Use modified C routine */ #endif /* PNG_ASSEMBLER_CODE_SUPPORTED */ { - register png_uint_32 i; + png_uint_32 i; png_uint_32 initial_val = BPP3 * png_pass_start[png_ptr->pass]; /* png.c: png_pass_start[] = {0, 4, 0, 2, 0, 1, 0}; */ - register int stride = BPP3 * png_pass_inc[png_ptr->pass]; + int stride = BPP3 * png_pass_inc[png_ptr->pass]; /* png.c: png_pass_inc[] = {8, 8, 4, 4, 2, 2, 1}; */ - register int rep_bytes = BPP3 * png_pass_width[png_ptr->pass]; + int rep_bytes = BPP3 * png_pass_width[png_ptr->pass]; /* png.c: png_pass_width[] = {8, 4, 4, 2, 2, 1, 1}; */ png_uint_32 len = png_ptr->width &~7; /* reduce to mult. of 8 */ int diff = (int) (png_ptr->width & 7); /* amount lost */ - register png_uint_32 final_val = BPP3 * len; /* GRR bugfix */ + png_uint_32 final_val = BPP3 * len; /* GRR bugfix */ srcptr = png_ptr->row_buf + 1 + initial_val; dstptr = row + initial_val; @@ -1191,16 +1191,16 @@ png_combine_row(png_structp png_ptr, png_bytep row, int mask) else /* mmx _not supported - Use modified C routine */ #endif /* PNG_ASSEMBLER_CODE_SUPPORTED */ { - register png_uint_32 i; + png_uint_32 i; png_uint_32 initial_val = BPP4 * png_pass_start[png_ptr->pass]; /* png.c: png_pass_start[] = {0, 4, 0, 2, 0, 1, 0}; */ - register int stride = BPP4 * png_pass_inc[png_ptr->pass]; + int stride = BPP4 * png_pass_inc[png_ptr->pass]; /* png.c: png_pass_inc[] = {8, 8, 4, 4, 2, 2, 1}; */ - register int rep_bytes = BPP4 * png_pass_width[png_ptr->pass]; + int rep_bytes = BPP4 * png_pass_width[png_ptr->pass]; /* png.c: png_pass_width[] = {8, 4, 4, 2, 2, 1, 1}; */ png_uint_32 len = png_ptr->width &~7; /* reduce to mult. of 8 */ int diff = (int) (png_ptr->width & 7); /* amount lost */ - register png_uint_32 final_val = BPP4 * len; /* GRR bugfix */ + png_uint_32 final_val = BPP4 * len; /* GRR bugfix */ srcptr = png_ptr->row_buf + 1 + initial_val; dstptr = row + initial_val; @@ -1383,16 +1383,16 @@ png_combine_row(png_structp png_ptr, png_bytep row, int mask) else /* mmx _not supported - Use modified C routine */ #endif /* PNG_ASSEMBLER_CODE_SUPPORTED */ { - register png_uint_32 i; + png_uint_32 i; png_uint_32 initial_val = BPP6 * png_pass_start[png_ptr->pass]; /* png.c: png_pass_start[] = {0, 4, 0, 2, 0, 1, 0}; */ - register int stride = BPP6 * png_pass_inc[png_ptr->pass]; + int stride = BPP6 * png_pass_inc[png_ptr->pass]; /* png.c: png_pass_inc[] = {8, 8, 4, 4, 2, 2, 1}; */ - register int rep_bytes = BPP6 * png_pass_width[png_ptr->pass]; + int rep_bytes = BPP6 * png_pass_width[png_ptr->pass]; /* png.c: png_pass_width[] = {8, 4, 4, 2, 2, 1, 1}; */ png_uint_32 len = png_ptr->width &~7; /* reduce to mult. of 8 */ int diff = (int) (png_ptr->width & 7); /* amount lost */ - register png_uint_32 final_val = BPP6 * len; /* GRR bugfix */ + png_uint_32 final_val = BPP6 * len; /* GRR bugfix */ srcptr = png_ptr->row_buf + 1 + initial_val; dstptr = row + initial_val; @@ -1424,16 +1424,16 @@ png_combine_row(png_structp png_ptr, png_bytep row, int mask) { png_bytep srcptr; png_bytep dstptr; - register png_uint_32 i; + png_uint_32 i; png_uint_32 initial_val = BPP8 * png_pass_start[png_ptr->pass]; /* png.c: png_pass_start[] = {0, 4, 0, 2, 0, 1, 0}; */ - register int stride = BPP8 * png_pass_inc[png_ptr->pass]; + int stride = BPP8 * png_pass_inc[png_ptr->pass]; /* png.c: png_pass_inc[] = {8, 8, 4, 4, 2, 2, 1}; */ - register int rep_bytes = BPP8 * png_pass_width[png_ptr->pass]; + int rep_bytes = BPP8 * png_pass_width[png_ptr->pass]; /* png.c: png_pass_width[] = {8, 4, 4, 2, 2, 1, 1}; */ png_uint_32 len = png_ptr->width &~7; /* reduce to mult. of 8 */ int diff = (int) (png_ptr->width & 7); /* amount lost */ - register png_uint_32 final_val = BPP8 * len; /* GRR bugfix */ + png_uint_32 final_val = BPP8 * len; /* GRR bugfix */ srcptr = png_ptr->row_buf + 1 + initial_val; dstptr = row + initial_val; diff --git a/src/3rdparty/libpng/pngvcrd.c b/src/3rdparty/libpng/pngvcrd.c index 4f513eb..c75ebd0 100644 --- a/src/3rdparty/libpng/pngvcrd.c +++ b/src/3rdparty/libpng/pngvcrd.c @@ -375,10 +375,10 @@ end8: } else /* mmx not supported - use modified C routine */ { - register unsigned int incr1, initial_val, final_val; + unsigned int incr1, initial_val, final_val; png_size_t pixel_bytes; png_uint_32 i; - register int disp = png_pass_inc[png_ptr->pass]; + int disp = png_pass_inc[png_ptr->pass]; int offset_table[7] = {0, 4, 0, 2, 0, 1, 0}; pixel_bytes = (png_ptr->row_info.pixel_depth >> 3); @@ -487,10 +487,10 @@ end16: } else /* mmx not supported - use modified C routine */ { - register unsigned int incr1, initial_val, final_val; + unsigned int incr1, initial_val, final_val; png_size_t pixel_bytes; png_uint_32 i; - register int disp = png_pass_inc[png_ptr->pass]; + int disp = png_pass_inc[png_ptr->pass]; int offset_table[7] = {0, 4, 0, 2, 0, 1, 0}; pixel_bytes = (png_ptr->row_info.pixel_depth >> 3); @@ -618,10 +618,10 @@ end24: } else /* mmx not supported - use modified C routine */ { - register unsigned int incr1, initial_val, final_val; + unsigned int incr1, initial_val, final_val; png_size_t pixel_bytes; png_uint_32 i; - register int disp = png_pass_inc[png_ptr->pass]; + int disp = png_pass_inc[png_ptr->pass]; int offset_table[7] = {0, 4, 0, 2, 0, 1, 0}; pixel_bytes = (png_ptr->row_info.pixel_depth >> 3); @@ -758,10 +758,10 @@ end32: } else /* mmx _not supported - Use modified C routine */ { - register unsigned int incr1, initial_val, final_val; + unsigned int incr1, initial_val, final_val; png_size_t pixel_bytes; png_uint_32 i; - register int disp = png_pass_inc[png_ptr->pass]; + int disp = png_pass_inc[png_ptr->pass]; int offset_table[7] = {0, 4, 0, 2, 0, 1, 0}; pixel_bytes = (png_ptr->row_info.pixel_depth >> 3); @@ -916,10 +916,10 @@ end48: } else /* mmx _not supported - Use modified C routine */ { - register unsigned int incr1, initial_val, final_val; + unsigned int incr1, initial_val, final_val; png_size_t pixel_bytes; png_uint_32 i; - register int disp = png_pass_inc[png_ptr->pass]; + int disp = png_pass_inc[png_ptr->pass]; int offset_table[7] = {0, 4, 0, 2, 0, 1, 0}; pixel_bytes = (png_ptr->row_info.pixel_depth >> 3); @@ -947,8 +947,8 @@ end48: png_size_t pixel_bytes; int offset_table[7] = {0, 4, 0, 2, 0, 1, 0}; unsigned int i; - register int disp = png_pass_inc[png_ptr->pass]; // get the offset - register unsigned int incr1, initial_val, final_val; + int disp = png_pass_inc[png_ptr->pass]; // get the offset + unsigned int incr1, initial_val, final_val; pixel_bytes = (png_ptr->row_info.pixel_depth >> 3); sptr = png_ptr->row_buf + 1 + offset_table[png_ptr->pass]* diff --git a/src/3rdparty/sqlite/printf.c b/src/3rdparty/sqlite/printf.c index 620578d..dd7c1d1 100644 --- a/src/3rdparty/sqlite/printf.c +++ b/src/3rdparty/sqlite/printf.c @@ -360,8 +360,8 @@ static int vxprintf( } bufpt = &buf[etBUFSIZE-1]; { - register char *cset; /* Use registers for speed */ - register int base; + char *cset; /* Use registers for speed */ + int base; cset = infop->charset; base = infop->base; do{ /* Convert to ascii */ @@ -602,7 +602,7 @@ static int vxprintf( ** the output. */ if( !flag_leftjustify ){ - register int nspace; + int nspace; nspace = width-length; if( nspace>0 ){ count += nspace; @@ -618,7 +618,7 @@ static int vxprintf( count += length; } if( flag_leftjustify ){ - register int nspace; + int nspace; nspace = width-length; if( nspace>0 ){ count += nspace; diff --git a/src/3rdparty/sqlite/util.c b/src/3rdparty/sqlite/util.c index 16b3b46..6dc07ec 100644 --- a/src/3rdparty/sqlite/util.c +++ b/src/3rdparty/sqlite/util.c @@ -500,14 +500,14 @@ int sqliteHashNoCase(const char *z, int n){ ** there is no consistency, we will define our own. */ int sqliteStrICmp(const char *zLeft, const char *zRight){ - register unsigned char *a, *b; + unsigned char *a, *b; a = (unsigned char *)zLeft; b = (unsigned char *)zRight; while( *a!=0 && UpperToLower[*a]==UpperToLower[*b]){ a++; b++; } return *a - *b; } int sqliteStrNICmp(const char *zLeft, const char *zRight, int N){ - register unsigned char *a, *b; + unsigned char *a, *b; a = (unsigned char *)zLeft; b = (unsigned char *)zRight; while( N-- > 0 && *a!=0 && UpperToLower[*a]==UpperToLower[*b]){ a++; b++; } @@ -941,7 +941,7 @@ static int sqlite_utf8_to_int(const unsigned char *z){ */ int sqliteGlobCompare(const unsigned char *zPattern, const unsigned char *zString){ - register int c; + int c; int invert; int seen; int c2; @@ -1030,7 +1030,7 @@ sqliteGlobCompare(const unsigned char *zPattern, const unsigned char *zString){ */ int sqliteLikeCompare(const unsigned char *zPattern, const unsigned char *zString){ - register int c; + int c; int c2; while( (c = UpperToLower[*zPattern])!=0 ){ diff --git a/src/3rdparty/zlib/crc32.c b/src/3rdparty/zlib/crc32.c index b39c7e1..bbf30e3 100644 --- a/src/3rdparty/zlib/crc32.c +++ b/src/3rdparty/zlib/crc32.c @@ -260,8 +260,8 @@ local unsigned long crc32_little(crc, buf, len) const unsigned char FAR *buf; unsigned len; { - register u4 c; - register const u4 FAR *buf4; + u4 c; + const u4 FAR *buf4; c = (u4)crc; c = ~c; @@ -300,8 +300,8 @@ local unsigned long crc32_big(crc, buf, len) const unsigned char FAR *buf; unsigned len; { - register u4 c; - register const u4 FAR *buf4; + u4 c; + const u4 FAR *buf4; c = REV((u4)crc); c = ~c; diff --git a/src/3rdparty/zlib/deflate.c b/src/3rdparty/zlib/deflate.c index 0fc53bc..16e30ce 100644 --- a/src/3rdparty/zlib/deflate.c +++ b/src/3rdparty/zlib/deflate.c @@ -862,9 +862,9 @@ local uInt longest_match(s, cur_match) IPos cur_match; /* current match */ { unsigned chain_length = s->max_chain_length;/* max hash chain length */ - register Bytef *scan = s->window + s->strstart; /* current string */ - register Bytef *match; /* matched string */ - register int len; /* length of current match */ + Bytef *scan = s->window + s->strstart; /* current string */ + Bytef *match; /* matched string */ + int len; /* length of current match */ int best_len = s->prev_length; /* best match length so far */ int nice_match = s->nice_match; /* stop if match long enough */ IPos limit = s->strstart > (IPos)MAX_DIST(s) ? @@ -879,13 +879,13 @@ local uInt longest_match(s, cur_match) /* Compare two bytes at a time. Note: this is not always beneficial. * Try with and without -DUNALIGNED_OK to check. */ - register Bytef *strend = s->window + s->strstart + MAX_MATCH - 1; - register ush scan_start = *(ushf*)scan; - register ush scan_end = *(ushf*)(scan+best_len-1); + Bytef *strend = s->window + s->strstart + MAX_MATCH - 1; + ush scan_start = *(ushf*)scan; + ush scan_end = *(ushf*)(scan+best_len-1); #else - register Bytef *strend = s->window + s->strstart + MAX_MATCH; - register Byte scan_end1 = scan[best_len-1]; - register Byte scan_end = scan[best_len]; + Bytef *strend = s->window + s->strstart + MAX_MATCH; + Byte scan_end1 = scan[best_len-1]; + Byte scan_end = scan[best_len]; #endif /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16. @@ -1004,10 +1004,10 @@ local uInt longest_match_fast(s, cur_match) deflate_state *s; IPos cur_match; /* current match */ { - register Bytef *scan = s->window + s->strstart; /* current string */ - register Bytef *match; /* matched string */ - register int len; /* length of current match */ - register Bytef *strend = s->window + s->strstart + MAX_MATCH; + Bytef *scan = s->window + s->strstart; /* current string */ + Bytef *match; /* matched string */ + int len; /* length of current match */ + Bytef *strend = s->window + s->strstart + MAX_MATCH; /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16. * It is easy to get rid of this optimization if necessary. @@ -1094,8 +1094,8 @@ local void check_match(s, start, match, length) local void fill_window(s) deflate_state *s; { - register unsigned n, m; - register Posf *p; + unsigned n, m; + Posf *p; unsigned more; /* Amount of free space at the end of the window. */ uInt wsize = s->w_size; diff --git a/src/3rdparty/zlib/trees.c b/src/3rdparty/zlib/trees.c index 52c820f..c46b8dc 100644 --- a/src/3rdparty/zlib/trees.c +++ b/src/3rdparty/zlib/trees.c @@ -1143,7 +1143,7 @@ local unsigned bi_reverse(code, len) unsigned code; /* the value to invert */ int len; /* its bit length */ { - register unsigned res = 0; + unsigned res = 0; do { res |= code & 1; code >>= 1, res <<= 1; diff --git a/src/dialogs/qmessagebox.cpp b/src/dialogs/qmessagebox.cpp index 37407b0..a1775cc 100644 --- a/src/dialogs/qmessagebox.cpp +++ b/src/dialogs/qmessagebox.cpp @@ -603,7 +603,7 @@ void QMessageBox::init( int button0, int button1, int button2 ) "Linux, and all major commercial Unix variants." "<br>Qt is also available for embedded devices.</p>" "<p>Qt is a Trolltech product. " - "See <tt>http://www.trolltech.com/qt/</tt> " + "See <tt>https://trinitydesktop.org/docs/qt3/</tt> " "for more information.</p>" ).arg( QT_VERSION_STR ); #endif diff --git a/src/kernel/qaccel.cpp b/src/kernel/qaccel.cpp index 53814dc..fc582f7 100644 --- a/src/kernel/qaccel.cpp +++ b/src/kernel/qaccel.cpp @@ -549,7 +549,7 @@ QAccelPrivate::~QAccelPrivate() static QAccelItem *find_id( QAccelList &list, int id ) { - register QAccelItem *item = list.first(); + QAccelItem *item = list.first(); while ( item && item->id != id ) item = list.next(); return item; @@ -557,7 +557,7 @@ static QAccelItem *find_id( QAccelList &list, int id ) static QAccelItem *find_key( QAccelList &list, const QKeySequence &key ) { - register QAccelItem *item = list.first(); + QAccelItem *item = list.first(); while ( item && !( item->key == key ) ) item = list.next(); return item; diff --git a/src/kernel/qapplication.cpp b/src/kernel/qapplication.cpp index d87d2e5..f784c7e 100644 --- a/src/kernel/qapplication.cpp +++ b/src/kernel/qapplication.cpp @@ -1421,7 +1421,7 @@ QStyle& QApplication::style() if ( is_app_running && !is_app_closing && (*app_pal != app_pal_copy) ) { QEvent e( QEvent::ApplicationPaletteChange ); QWidgetIntDictIt it( *((QWidgetIntDict*)QWidget::mapper) ); - register QWidget *w; + QWidget *w; while ( (w=it.current()) ) { // for all widgets... ++it; sendEvent( w, &e ); @@ -1467,7 +1467,7 @@ void QApplication::setStyle( QStyle *style ) if (old) { if ( is_app_running && !is_app_closing ) { QWidgetIntDictIt it( *((QWidgetIntDict*)QWidget::mapper) ); - register QWidget *w; + QWidget *w; while ( (w=it.current()) ) { // for all widgets... ++it; if ( !w->testWFlags(WType_Desktop) && // except desktop @@ -1494,7 +1494,7 @@ void QApplication::setStyle( QStyle *style ) if (old) { if ( is_app_running && !is_app_closing ) { QWidgetIntDictIt it( *((QWidgetIntDict*)QWidget::mapper) ); - register QWidget *w; + QWidget *w; while ( (w=it.current()) ) { // for all widgets... ++it; if ( !w->testWFlags(WType_Desktop) ) { // except desktop @@ -2080,7 +2080,7 @@ void QApplication::setPalette( const QPalette &palette, bool informWidgets, if ( !oldpal || ( *oldpal != pal ) ) { QEvent e( QEvent::ApplicationPaletteChange ); QWidgetIntDictIt it( *((QWidgetIntDict*)QWidget::mapper) ); - register QWidget *w; + QWidget *w; while ( (w=it.current()) ) { // for all widgets... ++it; if ( all || (!className && w->isTopLevel() ) || w->inherits(className) ) // matching class @@ -2170,7 +2170,7 @@ void QApplication::setFont( const QFont &font, bool informWidgets, if ( informWidgets && is_app_running && !is_app_closing ) { QEvent e( QEvent::ApplicationFontChange ); QWidgetIntDictIt it( *((QWidgetIntDict*)QWidget::mapper) ); - register QWidget *w; + QWidget *w; while ( (w=it.current()) ) { // for all widgets... ++it; if ( all || (!className && w->isTopLevel() ) || w->inherits(className) ) // matching class @@ -2780,7 +2780,7 @@ bool QApplication::internalNotify( QObject *receiver, QEvent * e) { if ( eventFilters ) { QObjectListIt it( *eventFilters ); - register QObject *obj; + QObject *obj; while ( (obj=it.current()) != 0 ) { // send to all filters ++it; // until one returns TRUE if ( obj->eventFilter(receiver,e) ) diff --git a/src/kernel/qapplication_x11.cpp b/src/kernel/qapplication_x11.cpp index a40ca02..cd2b439 100644 --- a/src/kernel/qapplication_x11.cpp +++ b/src/kernel/qapplication_x11.cpp @@ -2894,7 +2894,7 @@ void QApplication::setOverrideCursor( const QCursor &cursor, bool replace ) cursorStack->append( app_cursor ); QWidgetIntDictIt it( *((QWidgetIntDict*)QWidget::mapper) ); - register QWidget *w; + QWidget *w; while ( (w=it.current()) ) { // for all widgets that have if ( w->testWState( WState_OwnCursor ) ) qt_x11_enforce_cursor( w ); @@ -2922,7 +2922,7 @@ void QApplication::restoreOverrideCursor() app_cursor = cursorStack->last(); if ( QWidget::mapper != 0 && !closingDown() ) { QWidgetIntDictIt it( *((QWidgetIntDict*)QWidget::mapper) ); - register QWidget *w; + QWidget *w; while ( (w=it.current()) ) { // set back to original cursors if ( w->testWState( WState_OwnCursor ) ) qt_x11_enforce_cursor( w ); @@ -2986,7 +2986,7 @@ void QApplication::setGlobalMouseTracking( bool enable ) } if ( tellAllWidgets ) { QWidgetIntDictIt it( *((QWidgetIntDict*)QWidget::mapper) ); - register QWidget *w; + QWidget *w; while ( (w=it.current()) ) { if ( app_tracking > 0 ) { // switch on if ( !w->testWState(WState_MouseTracking) ) { diff --git a/src/kernel/qcursor_x11.cpp b/src/kernel/qcursor_x11.cpp index de246a5..465f55f 100644 --- a/src/kernel/qcursor_x11.cpp +++ b/src/kernel/qcursor_x11.cpp @@ -502,7 +502,7 @@ void QCursor::update() const { if ( !initialized ) initialize(); - register QCursorData *d = data; // cheat const! + QCursorData *d = data; // cheat const! if ( d->hcurs ) // already loaded return; diff --git a/src/kernel/qeventloop_unix.cpp b/src/kernel/qeventloop_unix.cpp index 80c8f29..1559287 100644 --- a/src/kernel/qeventloop_unix.cpp +++ b/src/kernel/qeventloop_unix.cpp @@ -211,7 +211,7 @@ static inline void getTime( timeval &t ) // get time of day static void repairTimer( const timeval &time ) // repair broken timer { timeval diff = watchtime - time; - register TimerInfo *t = timerList->first(); + TimerInfo *t = timerList->first(); while ( t ) { // repair all timers t->timeout = t->timeout - diff; t = timerList->next(); @@ -308,7 +308,7 @@ int qStartTimer( int interval, QObject *obj ) bool qKillTimer( int id ) { - register TimerInfo *t; + TimerInfo *t; if ( !timerList || id <= 0 || id > (int)timerBitVec->size() || !timerBitVec->testBit( id-1 ) ) return FALSE; // not init'd or invalid timer @@ -325,7 +325,7 @@ bool qKillTimer( int id ) bool qKillTimer( QObject *obj ) { - register TimerInfo *t; + TimerInfo *t; if ( !timerList ) // not initialized return FALSE; t = timerList->first(); @@ -530,7 +530,7 @@ int QEventLoop::activateTimers() timeval currentTime; int n_act = 0, maxCount = timerList->count(); TimerInfo *begin = 0; - register TimerInfo *t; + TimerInfo *t; for ( ;; ) { if ( ! maxCount-- ) diff --git a/src/kernel/qeventloop_unix_glib.cpp b/src/kernel/qeventloop_unix_glib.cpp index c41acce..24f5783 100644 --- a/src/kernel/qeventloop_unix_glib.cpp +++ b/src/kernel/qeventloop_unix_glib.cpp @@ -239,7 +239,7 @@ static void repairTimer( const timeval &time ) // repair broken timer qt_timerListMutex->lock(); #endif timeval diff = watchtime - time; - register TimerInfo *t = timerList->first(); + TimerInfo *t = timerList->first(); while ( t ) { // repair all timers t->timeout = t->timeout - diff; t = timerList->next(); @@ -374,7 +374,7 @@ bool qKillTimer( int id ) #if defined(QT_THREAD_SUPPORT) if (qt_timerListMutex) qt_timerListMutex->lock(); #endif - register TimerInfo *t; + TimerInfo *t; if ( (!timerList) || (id <= 0) || (id > (int)timerBitVec->size()) || (!timerBitVec->testBit( id-1 )) ) { #if defined(QT_THREAD_SUPPORT) if (qt_timerListMutex) qt_timerListMutex->unlock(); @@ -407,7 +407,7 @@ bool qKillTimer( QObject *obj ) #if defined(QT_THREAD_SUPPORT) if (qt_timerListMutex) qt_timerListMutex->lock(); #endif - register TimerInfo *t; + TimerInfo *t; if ( !timerList ) { // not initialized #if defined(QT_THREAD_SUPPORT) if (qt_timerListMutex) qt_timerListMutex->unlock(); @@ -645,7 +645,7 @@ int QEventLoop::activateTimers() timeval currentTime; int n_act = 0, maxCount = timerList->count(); TimerInfo *begin = 0; - register TimerInfo *t; + TimerInfo *t; for ( ;; ) { if ( ! maxCount-- ) { diff --git a/src/kernel/qfont_x11.cpp b/src/kernel/qfont_x11.cpp index fea0b58..c45a265 100644 --- a/src/kernel/qfont_x11.cpp +++ b/src/kernel/qfont_x11.cpp @@ -75,7 +75,7 @@ Q_EXPORT bool qt_has_xft = FALSE; Qt::HANDLE qt_xft_handle(const QFont &font) { QFontEngine *engine = font.d->engineForScript( QFontPrivate::defaultScript ); - if (!engine->type() == QFontEngine::Xft) + if (engine->type() != QFontEngine::Xft) return 0; return (long)static_cast<QFontEngineXft *>(engine)->font(); } diff --git a/src/kernel/qimage.cpp b/src/kernel/qimage.cpp index 8dd71be..69b5350 100644 --- a/src/kernel/qimage.cpp +++ b/src/kernel/qimage.cpp @@ -1392,7 +1392,7 @@ struct QRgbMap { static bool convert_32_to_8( const QImage *src, QImage *dst, int conversion_flags, QRgb* palette=0, int palette_count=0 ) { - register QRgb *p; + QRgb *p; uchar *b; bool do_quant = FALSE; int y, x; @@ -1702,7 +1702,7 @@ static bool convert_8_to_32( const QImage *src, QImage *dst ) return FALSE; // create failed dst->setAlphaBuffer( src->hasAlphaBuffer() ); for ( int y=0; y<dst->height(); y++ ) { // for each scan line... - register uint *p = (uint *)dst->scanLine(y); + uint *p = (uint *)dst->scanLine(y); uchar *b = src->scanLine(y); uint *end = p + dst->width(); while ( p < end ) @@ -1718,7 +1718,7 @@ static bool convert_1_to_32( const QImage *src, QImage *dst ) return FALSE; // could not create dst->setAlphaBuffer( src->hasAlphaBuffer() ); for ( int y=0; y<dst->height(); y++ ) { // for each scan line... - register uint *p = (uint *)dst->scanLine(y); + uint *p = (uint *)dst->scanLine(y); uchar *b = src->scanLine(y); int x; if ( src->bitOrder() == QImage::BigEndian ) { @@ -1756,7 +1756,7 @@ static bool convert_1_to_8( const QImage *src, QImage *dst ) dst->setColor( 1, 0xff000000 ); } for ( int y=0; y<dst->height(); y++ ) { // for each scan line... - register uchar *p = dst->scanLine(y); + uchar *p = dst->scanLine(y); uchar *b = src->scanLine(y); int x; if ( src->bitOrder() == QImage::BigEndian ) { @@ -1833,7 +1833,7 @@ static bool dither_to_1( const QImage *src, QImage *dst, int bmwidth = (w+7)/8; if ( !(line1 && line2) ) return FALSE; - register uchar *p; + uchar *p; uchar *end; int *b1, *b2; int wbytes = w * (d/8); @@ -2083,7 +2083,7 @@ static bool convert_16_to_32( const QImage *src, QImage *dst ) return FALSE; // create failed dst->setAlphaBuffer( src->hasAlphaBuffer() ); for ( int y=0; y<dst->height(); y++ ) { // for each scan line... - register uint *p = (uint *)dst->scanLine(y); + uint *p = (uint *)dst->scanLine(y); ushort *s = (ushort*)src->scanLine(y); uint *end = p + dst->width(); while ( p < end ) @@ -2099,7 +2099,7 @@ static bool convert_32_to_16( const QImage *src, QImage *dst ) return FALSE; // create failed dst->setAlphaBuffer( src->hasAlphaBuffer() ); for ( int y=0; y<dst->height(); y++ ) { // for each scan line... - register ushort *p = (ushort *)dst->scanLine(y); + ushort *p = (ushort *)dst->scanLine(y); uint *s = (uint*)src->scanLine(y); ushort *end = p + dst->width(); while ( p < end ) @@ -2363,7 +2363,7 @@ QImage QImage::convertBitOrder( Endian bitOrder ) const int bpl = (width() + 7) / 8; for ( int y = 0; y < data->h; y++ ) { - register uchar *p = jumpTable()[y]; + uchar *p = jumpTable()[y]; uchar *end = p + bpl; uchar *b = image.jumpTable()[y]; while ( p < end ) @@ -2454,14 +2454,14 @@ void pnmscale(const QImage& src, QImage& dst) { QRgb* xelrow = 0; QRgb* tempxelrow = 0; - register QRgb* xP; - register QRgb* nxP; + QRgb* xP; + QRgb* nxP; int rows, cols, rowsread, newrows, newcols; - register int row, col, needtoreadrow; + int row, col, needtoreadrow; const uchar maxval = 255; double xscale, yscale; long sxscale, syscale; - register long fracrowtofill, fracrowleft; + long fracrowtofill, fracrowleft; long* as; long* rs; long* gs; @@ -2551,11 +2551,11 @@ void pnmscale(const QImage& src, QImage& dst) xelrow = (QRgb*)src.scanLine(rowsread++); needtoreadrow = 0; } - register long a=0; + long a=0; for ( col = 0, xP = xelrow, nxP = tempxelrow; col < cols; ++col, ++xP, ++nxP ) { - register long r, g, b; + long r, g, b; if ( as ) { r = rs[col] + fracrowtofill * qRed( *xP ) * qAlpha( *xP ) / 255; @@ -2601,9 +2601,9 @@ void pnmscale(const QImage& src, QImage& dst) /* shortcut X scaling if possible */ memcpy(dst.scanLine(rowswritten++), tempxelrow, newcols*4); } else { - register long a, r, g, b; - register long fraccoltofill, fraccolleft = 0; - register int needcol; + long a, r, g, b; + long fraccoltofill, fraccolleft = 0; + int needcol; nxP = (QRgb*)dst.scanLine(rowswritten++); fraccoltofill = SCALE; @@ -3692,7 +3692,7 @@ static void swapPixel01( QImage *image ) // 1-bpp: swap 0 and 1 pixels { int i; if ( image->depth() == 1 && image->numColors() == 2 ) { - register uint *p = (uint *)image->bits(); + uint *p = (uint *)image->bits(); int nbytes = image->numBytes(); for ( i=0; i<nbytes/4; i++ ) { *p = ~*p; @@ -3942,7 +3942,7 @@ static QImageHandler *get_image_handler( const char *format ) { // get pointer to handler qt_init_image_handlers(); qt_init_image_plugins(); - register QImageHandler *p = imageHandlers->first(); + QImageHandler *p = imageHandlers->first(); while ( p ) { // traverse list if ( p->format == format ) return p; @@ -4776,7 +4776,7 @@ bool read_dib( QDataStream& s, int offset, int startpos, QImage& image ) Q_CHECK_PTR( buf ); if ( comp == BMP_RLE4 ) { // run length compression int x=0, y=0, b, c, i; - register uchar *p = line[h-1]; + uchar *p = line[h-1]; uchar *endp = line[h-1]+w; while ( y < h ) { if ( (b=d->getch()) == EOF ) @@ -4841,7 +4841,7 @@ bool read_dib( QDataStream& s, int offset, int startpos, QImage& image ) while ( --h >= 0 ) { if ( d->readBlock((char*)buf,buflen) != buflen ) break; - register uchar *p = line[h]; + uchar *p = line[h]; uchar *b = buf; for ( int i=0; i<w/2; i++ ) { // convert nibbles to bytes *p++ = *b >> 4; @@ -4857,7 +4857,7 @@ bool read_dib( QDataStream& s, int offset, int startpos, QImage& image ) else if ( nbits == 8 ) { // 8 bit BMP image if ( comp == BMP_RLE8 ) { // run length compression int x=0, y=0, b; - register uchar *p = line[h-1]; + uchar *p = line[h-1]; const uchar *endp = line[h-1]+w; while ( y < h ) { if ( (b=d->getch()) == EOF ) @@ -4920,7 +4920,7 @@ bool read_dib( QDataStream& s, int offset, int startpos, QImage& image ) } else if ( nbits == 16 || nbits == 24 || nbits == 32 ) { // 16,24,32 bit BMP image - register QRgb *p; + QRgb *p; QRgb *end; uchar *buf24 = new uchar[bpl]; int bpl24 = ((w*nbits+31)/32)*4; @@ -5051,7 +5051,7 @@ bool qt_write_dib( QDataStream& s, QImage image ) uchar *buf = new uchar[bpl_bmp]; uchar *b, *end; - register uchar *p; + uchar *p; memset( buf, 0, bpl_bmp ); for ( y=image.height()-1; y>=0; y-- ) { // write the image bits @@ -5196,7 +5196,7 @@ static void read_pbm_image( QImageIO *iio ) // read PBM image data mcc = 1; // ignore max color component else mcc = read_pbm_int( d ); // get max color component - if ( w <= 0 || w > 32767 || h <= 0 || h > 32767 || mcc <= 0 ) + if ( w <= 0 || w > 32767 || h <= 0 || h > 32767 || mcc <= 0 || mcc > 0xffff ) return; // weird P.M image int maxc = mcc; @@ -5237,7 +5237,7 @@ static void read_pbm_image( QImageIO *iio ) // read PBM image data } } } else { // read ascii data - register uchar *p; + uchar *p; int n; for ( y=0; y<h; y++ ) { p = image.scanLine( y ); @@ -5503,7 +5503,7 @@ static void read_async_image( QImageIO *iio ) X bitmap image read/write functions *****************************************************************************/ -static inline int hex2byte( register char *p ) +static inline int hex2byte( char *p ) { return ( (isdigit((uchar) *p) ? *p - '0' : toupper((uchar) *p) - 'A' + 10) << 4 ) | ( isdigit((uchar) *(p+1)) ? *(p+1) - '0' : toupper((uchar) *(p+1)) - 'A' + 10 ); @@ -5512,18 +5512,32 @@ static inline int hex2byte( register char *p ) static void read_xbm_image( QImageIO *iio ) { const int buflen = 300; + const int maxlen = 4096; char buf[buflen]; QRegExp r1, r2; QIODevice *d = iio->ioDevice(); int w=-1, h=-1; QImage image; + Q_INT64 readBytes = 0; + Q_INT64 totalReadBytes = 0; r1 = QString::fromLatin1("^#define[ \t]+[a-zA-Z0-9._]+[ \t]+"); r2 = QString::fromLatin1("[0-9]+"); - d->readLine( buf, buflen ); // "#define .._width <num>" - while (!d->atEnd() && buf[0] != '#') //skip leading comment, if any - d->readLine( buf, buflen ); + buf[0] = '\0'; + while (buf[0] != '#') { //skip leading comment, if any + readBytes = d->readLine(buf, buflen); + + // if readBytes >= buflen, it's very probably not a C file + if ((readBytes <= 0) || (readBytes >= (buflen-1))) + return; + + // limit xbm headers to the first 4k in the file to prevent + // excessive reads on non-xbm files + totalReadBytes += readBytes; + if (totalReadBytes >= maxlen) + return; + } QString sbuf; sbuf = QString::fromLatin1(buf); @@ -5532,7 +5546,10 @@ static void read_xbm_image( QImageIO *iio ) r2.search(sbuf, r1.matchedLength()) == r1.matchedLength() ) w = atoi( &buf[r1.matchedLength()] ); - d->readLine( buf, buflen ); // "#define .._height <num>" + readBytes = d->readLine(buf, buflen ); // "#define .._height <num>" + if (readBytes <= 0) { + return; + } sbuf = QString::fromLatin1(buf); if ( r1.search(sbuf) == 0 && @@ -5543,8 +5560,11 @@ static void read_xbm_image( QImageIO *iio ) return; // format error for ( ;; ) { // scan for data - if ( d->readLine(buf, buflen) <= 0 ) // end of file + readBytes = d->readLine(buf, buflen); + if (readBytes <= 0) { // end of file return; + } + buf[readBytes] = '\0'; if ( strstr(buf,"0x") != 0 ) // does line contain data? break; } @@ -5562,7 +5582,10 @@ static void read_xbm_image( QImageIO *iio ) w = (w+7)/8; // byte width while ( y < h ) { // for all encoded bytes... - if ( p ) { // p = "0x.." + if (p && (p < (buf + readBytes - 3))) { // p = "0x.." + if (!isxdigit(p[2]) || !isxdigit(p[3])) { + return; + } *b++ = hex2byte(p+2); p += 2; if ( ++x == w && ++y < h ) { @@ -5571,8 +5594,10 @@ static void read_xbm_image( QImageIO *iio ) } p = strstr( p, "0x" ); } else { // read another line - if ( d->readLine(buf,buflen) <= 0 ) // EOF ==> truncated image + readBytes = d->readLine(buf, buflen); + if (readBytes <= 0) // EOF ==> truncated image break; + buf[readBytes] = '\0'; p = strstr( buf, "0x" ); } } @@ -5621,7 +5646,7 @@ static void write_xbm_image( QImageIO *iio ) } } int bcnt = 0; - register char *p = buf; + char *p = buf; int bpl = (w+7)/8; for (int y = 0; y < h; ++y) { uchar *b = image.scanLine(y); diff --git a/src/kernel/qobject.cpp b/src/kernel/qobject.cpp index b48531e..6bd6224 100644 --- a/src/kernel/qobject.cpp +++ b/src/kernel/qobject.cpp @@ -736,7 +736,7 @@ QObject::~QObject() } if ( parentObj ) // remove it from parent object parentObj->removeChild( this ); - register QObject *obj; + QObject *obj; if ( senderObjects ) { // disconnect from senders QSenderObjectList *tmp = senderObjects; senderObjects = 0; @@ -753,7 +753,7 @@ QObject::~QObject() QConnectionList* clist = (*connections)[i]; // for each signal... if ( !clist ) continue; - register QConnection *c; + QConnection *c; QConnectionListIt cit(*clist); while( (c=cit.current()) ) { // for each connected slot... ++cit; @@ -879,7 +879,7 @@ void *qt_inheritedBy( QMetaObject *superClass, const QObject *object ) { if (!object) return 0; - register QMetaObject *mo = object->metaObject(); + QMetaObject *mo = object->metaObject(); while (mo) { if (mo == superClass) return (void*)object; @@ -1266,7 +1266,7 @@ bool QObject::activate_filters( QEvent *e ) if ( !eventFilters ) // no event filter return FALSE; QObjectListIt it( *eventFilters ); - register QObject *obj = it.current(); + QObject *obj = it.current(); while ( obj ) { // send to all filters ++it; // until one returns TRUE if ( obj->eventFilter(this,e) ) { @@ -2466,7 +2466,7 @@ bool QObject::disconnectInternal( const QObject *sender, int signal_index, bool success = FALSE; QConnectionList *clist; - register QConnection *c; + QConnection *c; if ( signal_index == -1 ) { for ( int i = 0; i < (int) s->connections->size(); i++ ) { clist = (*s->connections)[i]; // for all signals... @@ -3060,7 +3060,7 @@ void QObject::dumpObjectInfo() if ( ( clist = connections->at( i ) ) ) { qDebug( "\t%s", metaObject()->signal( i, TRUE )->name ); n++; - register QConnection *c; + QConnection *c; QConnectionListIt cit(*clist); while ( (c=cit.current()) ) { ++cit; diff --git a/src/kernel/qpainter_x11.cpp b/src/kernel/qpainter_x11.cpp index b939848..4c33e2d 100644 --- a/src/kernel/qpainter_x11.cpp +++ b/src/kernel/qpainter_x11.cpp @@ -303,7 +303,7 @@ static void init_gc_array() static void cleanup_gc_array( Display *dpy ) { - register QGC *p = gc_array; + QGC *p = gc_array; int i = gc_array_size; if ( gc_array_init ) { while ( i-- ) { @@ -328,7 +328,7 @@ static GC alloc_gc( Display *dpy, int scrn, Drawable hd, bool monochrome=FALSE, XSetGraphicsExposures( dpy, gc, False ); return gc; } - register QGC *p = gc_array; + QGC *p = gc_array; int i = gc_array_size; if ( !gc_array_init ) // not initialized init_gc_array(); @@ -364,7 +364,7 @@ static void free_gc( Display *dpy, GC gc, bool privateGC = FALSE ) XFreeGC( dpy, gc ); return; } - register QGC *p = gc_array; + QGC *p = gc_array; int i = gc_array_size; if ( gc_array_init ) { while ( i-- ) { diff --git a/src/kernel/qpixmap_x11.cpp b/src/kernel/qpixmap_x11.cpp index 28d2926..f471af8 100644 --- a/src/kernel/qpixmap_x11.cpp +++ b/src/kernel/qpixmap_x11.cpp @@ -290,7 +290,7 @@ extern const uchar *qt_get_bitflip_array(); // defined in qimage.cpp static uchar *flip_bits( const uchar *bits, int len ) { - register const uchar *p = bits; + const uchar *p = bits; const uchar *end = p + len; uchar *newdata = new uchar[len]; uchar *b = newdata; @@ -958,7 +958,7 @@ QImage QPixmap::convertToImage() const image.setColor( 0, qRgb(255,255,255) ); image.setColor( 1, qRgb(0,0,0) ); } else if ( !trucol ) { // pixmap with colormap - register uchar *p; + uchar *p; uchar *end; uchar use[256]; // pixel-in-use table uchar pix[256]; // pixel translation table @@ -1243,8 +1243,8 @@ bool QPixmap::convertFromImage( const QImage &img, int conversion_flags ) bool trucol = (visual->c_class == TrueColor || visual->c_class == DirectColor); int nbytes = image.numBytes(); uchar *newbits= 0; - int newbits_size = 0; #ifdef QT_MITSHM_CONVERSIONS + int newbits_size = 0; bool mitshm_ximage = false; XShmSegmentInfo shminfo; #endif @@ -1615,7 +1615,9 @@ bool QPixmap::convertFromImage( const QImage &img, int conversion_flags ) } newbits = (uchar *)malloc( nbytes ); // copy image into newbits +#ifdef QT_MITSHM_CONVERSIONS newbits_size = nbytes; +#endif Q_CHECK_PTR( newbits ); if ( !newbits ) // no memory return FALSE; @@ -1744,7 +1746,9 @@ bool QPixmap::convertFromImage( const QImage &img, int conversion_flags ) ushort *p2; int p2inc = xi->bytes_per_line/sizeof(ushort); ushort *newerbits = (ushort *)malloc( xi->bytes_per_line * h ); +#ifdef QT_MITSHM_CONVERSIONS newbits_size = xi->bytes_per_line * h; +#endif Q_CHECK_PTR( newerbits ); if ( !newerbits ) // no memory return FALSE; diff --git a/src/kernel/qpngio.cpp b/src/kernel/qpngio.cpp index 58e6e7e..814ceec 100644 --- a/src/kernel/qpngio.cpp +++ b/src/kernel/qpngio.cpp @@ -46,7 +46,7 @@ #include "qiodevice.h" #include <png.h> -#if PNG_LIBPNG_VER_MAJOR>1 || ( PNG_LIBPNG_VER_MAJOR==1 && PNG_LIBPNG_VER_MINOR>=5 ) +#if PNG_LIBPNG_VER>=10500 #include <zlib.h> #endif /* LIBPNG 1.5 */ @@ -129,7 +129,7 @@ void setup_qt( QImage& image, png_structp png_ptr, png_infop info_ptr, float scr png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type, 0, 0, 0); -#if PNG_LIBPNG_VER_MAJOR>1 || ( PNG_LIBPNG_VER_MAJOR==1 && PNG_LIBPNG_VER_MINOR>=5 ) +#if PNG_LIBPNG_VER>=10500 png_colorp info_ptr_palette = NULL; int info_ptr_num_palette = 0; if (png_get_valid(png_ptr, info_ptr, PNG_INFO_PLTE)) { @@ -147,7 +147,7 @@ void setup_qt( QImage& image, png_structp png_ptr, png_infop info_ptr, float scr if ( color_type == PNG_COLOR_TYPE_GRAY ) { // Black & White or 8-bit grayscale -#if PNG_LIBPNG_VER_MAJOR>1 || ( PNG_LIBPNG_VER_MAJOR==1 && PNG_LIBPNG_VER_MINOR>=5 ) +#if PNG_LIBPNG_VER>=10500 if ( bit_depth == 1 && png_get_channels(png_ptr, info_ptr) == 1 ) { #else /* LIBPNG 1.5 */ if ( bit_depth == 1 && info_ptr->channels == 1 ) { @@ -185,9 +185,9 @@ void setup_qt( QImage& image, png_structp png_ptr, png_infop info_ptr, float scr image.setColor( i, qRgba(c,c,c,0xff) ); } if ( png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS) ) { -#if PNG_LIBPNG_VER_MAJOR>1 || ( PNG_LIBPNG_VER_MAJOR==1 && PNG_LIBPNG_VER_MINOR>=5 ) +#if PNG_LIBPNG_VER>=10500 const int g = info_ptr_trans_color->gray; -#elif ( PNG_LIBPNG_VER_MAJOR==1 && PNG_LIBPNG_VER_MINOR>=4 ) +#elif PNG_LIBPNG_VER>=10400 const int g = info_ptr->trans_color.gray; #else const int g = info_ptr->trans_values.gray; @@ -200,7 +200,7 @@ void setup_qt( QImage& image, png_structp png_ptr, png_infop info_ptr, float scr } } else if ( color_type == PNG_COLOR_TYPE_PALETTE && png_get_valid(png_ptr, info_ptr, PNG_INFO_PLTE) -#if PNG_LIBPNG_VER_MAJOR>1 || ( PNG_LIBPNG_VER_MAJOR==1 && PNG_LIBPNG_VER_MINOR>=5 ) +#if PNG_LIBPNG_VER>=10500 && info_ptr_num_palette <= 256 ) #else /* LIBPNG 1.5 */ && info_ptr->num_palette <= 256 ) @@ -212,7 +212,7 @@ void setup_qt( QImage& image, png_structp png_ptr, png_infop info_ptr, float scr png_read_update_info( png_ptr, info_ptr ); png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type, 0, 0, 0); -#if PNG_LIBPNG_VER_MAJOR>1 || ( PNG_LIBPNG_VER_MAJOR==1 && PNG_LIBPNG_VER_MINOR>=5 ) +#if PNG_LIBPNG_VER>=10500 if (!image.create(width, height, bit_depth, info_ptr_num_palette, #else /* LIBPNG 1.5 */ if (!image.create(width, height, bit_depth, info_ptr->num_palette, @@ -223,7 +223,7 @@ void setup_qt( QImage& image, png_structp png_ptr, png_infop info_ptr, float scr if ( png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS) ) { image.setAlphaBuffer( TRUE ); -#if PNG_LIBPNG_VER_MAJOR>1 || ( PNG_LIBPNG_VER_MAJOR==1 && PNG_LIBPNG_VER_MINOR>=5 ) +#if PNG_LIBPNG_VER>=10500 while ( i < info_ptr_num_trans ) { image.setColor(i, qRgba( info_ptr_palette[i].red, @@ -236,9 +236,9 @@ void setup_qt( QImage& image, png_structp png_ptr, png_infop info_ptr, float scr info_ptr->palette[i].green, info_ptr->palette[i].blue, #endif /* LIBPNG 1.5 */ -#if PNG_LIBPNG_VER_MAJOR>1 || ( PNG_LIBPNG_VER_MAJOR==1 && PNG_LIBPNG_VER_MINOR>=5 ) +#if PNG_LIBPNG_VER>=10500 info_ptr_trans_alpha[i] -#elif ( PNG_LIBPNG_VER_MAJOR==1 && PNG_LIBPNG_VER_MINOR>=4 ) +#elif PNG_LIBPNG_VER>=10400 info_ptr->trans_alpha[i] #else info_ptr->trans[i] @@ -248,7 +248,7 @@ void setup_qt( QImage& image, png_structp png_ptr, png_infop info_ptr, float scr i++; } } -#if PNG_LIBPNG_VER_MAJOR>1 || ( PNG_LIBPNG_VER_MAJOR==1 && PNG_LIBPNG_VER_MINOR>=5 ) +#if PNG_LIBPNG_VER>=10500 while ( i < info_ptr_num_palette ) { image.setColor(i, qRgba( info_ptr_palette[i].red, @@ -347,7 +347,7 @@ void read_png_image(QImageIO* iio) return; } -#if PNG_LIBPNG_VER_MAJOR>1 || ( PNG_LIBPNG_VER_MAJOR==1 && PNG_LIBPNG_VER_MINOR>=5 ) +#if PNG_LIBPNG_VER>=10500 if (setjmp(png_jmpbuf(png_ptr))) { #else /* LIBPNG 1.5 */ if (setjmp(png_ptr->jmpbuf)) { @@ -388,7 +388,7 @@ void read_png_image(QImageIO* iio) png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS) if (image.depth()==32 && png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) { QRgb trans = 0xFF000000 | qRgb( -#if PNG_LIBPNG_VER_MAJOR>1 || ( PNG_LIBPNG_VER_MAJOR==1 && PNG_LIBPNG_VER_MINOR>=4 ) +#if PNG_LIBPNG_VER>=10400 (info_ptr->trans_color.red << 8 >> bit_depth)&0xff, (info_ptr->trans_color.green << 8 >> bit_depth)&0xff, (info_ptr->trans_color.blue << 8 >> bit_depth)&0xff); @@ -542,7 +542,7 @@ bool QPNGImageWriter::writeImage(const QImage& image, int quality_in, int off_x_ return FALSE; } -#if PNG_LIBPNG_VER_MAJOR>1 || ( PNG_LIBPNG_VER_MAJOR==1 && PNG_LIBPNG_VER_MINOR>=5 ) +#if PNG_LIBPNG_VER>=10500 if (setjmp(png_jmpbuf(png_ptr))) { #else /* LIBPNG 1.5 */ if (setjmp(png_ptr->jmpbuf)) { @@ -568,19 +568,6 @@ bool QPNGImageWriter::writeImage(const QImage& image, int quality_in, int off_x_ png_set_write_fn(png_ptr, (void*)this, qpiw_write_fn, qpiw_flush_fn); -#if PNG_LIBPNG_VER_MAJOR>1 || ( PNG_LIBPNG_VER_MAJOR==1 && PNG_LIBPNG_VER_MINOR>=5 ) -#warning XXXtnn not too sure about this -/* -according to png.h, channels is only used on read, not writes, so we -should be able to comment this out. -*/ -#else /* LIBPNG 1.5 */ - info_ptr->channels = - (image.depth() == 32) - ? (image.hasAlphaBuffer() ? 4 : 3) - : 1; -#endif /* LIBPNG 1.5 */ - png_set_IHDR(png_ptr, info_ptr, image.width(), image.height(), image.depth() == 1 ? 1 : 8 /* per channel */, image.depth() == 32 @@ -589,7 +576,7 @@ should be able to comment this out. : PNG_COLOR_TYPE_RGB : PNG_COLOR_TYPE_PALETTE, 0, 0, 0); -#if PNG_LIBPNG_VER_MAJOR>1 || ( PNG_LIBPNG_VER_MAJOR==1 && PNG_LIBPNG_VER_MINOR>=5 ) +#if PNG_LIBPNG_VER>=10500 png_color_8 sig_bit; sig_bit.red = 8; sig_bit.green = 8; @@ -614,14 +601,14 @@ should be able to comment this out. png_set_PLTE(png_ptr, info_ptr, palette, num_palette); int* trans = new int[num_palette]; int num_trans = 0; -#if PNG_LIBPNG_VER_MAJOR>1 || ( PNG_LIBPNG_VER_MAJOR==1 && PNG_LIBPNG_VER_MINOR>=5 ) +#if PNG_LIBPNG_VER>=10500 png_colorp info_ptr_palette = NULL; int tmp; png_get_PLTE(png_ptr, info_ptr, &info_ptr_palette, &tmp); #endif /* LIBPNG 1.5 */ for (int i=0; i<num_palette; i++) { QRgb rgb=image.color(i); -#if PNG_LIBPNG_VER_MAJOR>1 || ( PNG_LIBPNG_VER_MAJOR==1 && PNG_LIBPNG_VER_MINOR>=5 ) +#if PNG_LIBPNG_VER>=10500 info_ptr_palette[i].red = qRed(rgb); info_ptr_palette[i].green = qGreen(rgb); info_ptr_palette[i].blue = qBlue(rgb); @@ -637,7 +624,7 @@ should be able to comment this out. } } } -#if PNG_LIBPNG_VER_MAJOR>1 || ( PNG_LIBPNG_VER_MAJOR==1 && PNG_LIBPNG_VER_MINOR>=5 ) +#if PNG_LIBPNG_VER>=10500 png_set_PLTE(png_ptr, info_ptr, info_ptr_palette, num_palette); #endif /* LIBPNG 1.5 */ if (num_trans) { @@ -650,7 +637,7 @@ should be able to comment this out. } if ( image.hasAlphaBuffer() ) { -#if PNG_LIBPNG_VER_MAJOR>1 || ( PNG_LIBPNG_VER_MAJOR==1 && PNG_LIBPNG_VER_MINOR>=5 ) +#if PNG_LIBPNG_VER>=10500 png_color_8p sig_bit; png_get_sBIT(png_ptr, info_ptr, &sig_bit); sig_bit->alpha = 8; @@ -1143,7 +1130,7 @@ int QPNGFormat::decode(QImage& img, QImageConsumer* cons, return -1; } -#if PNG_LIBPNG_VER_MAJOR>1 || ( PNG_LIBPNG_VER_MAJOR==1 && PNG_LIBPNG_VER_MINOR>=5 ) +#if PNG_LIBPNG_VER>=10500 if (setjmp(png_jmpbuf(png_ptr))) { #else /* LIBPNG 1.5 */ if (setjmp((png_ptr)->jmpbuf)) { @@ -1174,7 +1161,7 @@ int QPNGFormat::decode(QImage& img, QImageConsumer* cons, if ( !png_ptr ) return 0; -#if PNG_LIBPNG_VER_MAJOR>1 || ( PNG_LIBPNG_VER_MAJOR==1 && PNG_LIBPNG_VER_MINOR>=5 ) +#if PNG_LIBPNG_VER>=10500 if (setjmp(png_jmpbuf(png_ptr))) { #else /* LIBPNG 1.5 */ if (setjmp(png_ptr->jmpbuf)) { @@ -1238,7 +1225,7 @@ void QPNGFormat::end(png_structp png, png_infop info) consumer->frameDone(QPoint(offx,offy),r); consumer->end(); state = FrameStart; -#if PNG_LIBPNG_VER_MAJOR>1 || ( PNG_LIBPNG_VER_MAJOR==1 && PNG_LIBPNG_VER_MINOR>=5 ) +#if PNG_LIBPNG_VER>=10500 unused_data = png_process_data_pause(png, 0); #else /* LIBPNG 1.5 */ unused_data = (int)png->buffer_size; // Since libpng doesn't tell us diff --git a/src/kernel/qpointarray.cpp b/src/kernel/qpointarray.cpp index d1c7569..b7f5b2c 100644 --- a/src/kernel/qpointarray.cpp +++ b/src/kernel/qpointarray.cpp @@ -190,8 +190,8 @@ QPointArray::QPointArray( int nPoints, const QCOORD *points ) void QPointArray::translate( int dx, int dy ) { - register QPoint *p = data(); - register int i = size(); + QPoint *p = data(); + int i = size(); QPoint pt( dx, dy ); while ( i-- ) { *p += pt; @@ -440,7 +440,7 @@ QRect QPointArray::boundingRect() const { if ( isEmpty() ) return QRect( 0, 0, 0, 0 ); // null rectangle - register QPoint *pd = data(); + QPoint *pd = data(); int minx, maxx, miny, maxy; minx = maxx = pd->x(); miny = maxy = pd->y(); @@ -937,7 +937,7 @@ QPointArray QPointArray::cubicBezier() const if ( m < 2 ) // at least two points m = 2; QPointArray p( m ); // p = Bezier point array - register QPointData *pd = p.data(); + QPointData *pd = p.data(); float x0 = xvec[0], y0 = yvec[0]; float dt = 1.0F/m; @@ -1018,7 +1018,7 @@ QPointArray QPointArray::cubicBezier() const QDataStream &operator<<( QDataStream &s, const QPointArray &a ) { - register uint i; + uint i; uint len = a.size(); s << len; // write size of array for ( i=0; i<len; i++ ) // write each point @@ -1037,7 +1037,7 @@ QDataStream &operator<<( QDataStream &s, const QPointArray &a ) QDataStream &operator>>( QDataStream &s, QPointArray &a ) { - register uint i; + uint i; uint len; s >> len; // read size of array if ( !a.resize( len ) ) // no memory diff --git a/src/kernel/qpolygonscanner.cpp b/src/kernel/qpolygonscanner.cpp index 86f9ca0..31766dd 100644 --- a/src/kernel/qpolygonscanner.cpp +++ b/src/kernel/qpolygonscanner.cpp @@ -407,8 +407,8 @@ static bool miInsertEdgeInET(EdgeTable *ET, EdgeTableEntry *ETE, int scanline, ScanLineListBlock **SLLBlock, int *iSLLBlock) { - register EdgeTableEntry *start, *prev; - register ScanLineList *pSLL, *pPrevSLL; + EdgeTableEntry *start, *prev; + ScanLineList *pSLL, *pPrevSLL; ScanLineListBlock *tmpSLLBlock; /* @@ -505,7 +505,7 @@ typedef struct { static void miFreeStorage(ScanLineListBlock *pSLLBlock) { - register ScanLineListBlock *tmpSLLBlock; + ScanLineListBlock *tmpSLLBlock; while (pSLLBlock) { @@ -519,8 +519,8 @@ static bool miCreateETandAET(int count, DDXPointPtr pts, EdgeTable *ET, EdgeTableEntry *AET, EdgeTableEntry *pETEs, ScanLineListBlock *pSLLBlock) { - register DDXPointPtr top, bottom; - register DDXPointPtr PrevPt, CurrPt; + DDXPointPtr top, bottom; + DDXPointPtr PrevPt, CurrPt; int iSLLBlock = 0; int dy; @@ -609,8 +609,8 @@ miCreateETandAET(int count, DDXPointPtr pts, EdgeTable *ET, static void miloadAET(EdgeTableEntry *AET, EdgeTableEntry *ETEs) { - register EdgeTableEntry *pPrevAET; - register EdgeTableEntry *tmp; + EdgeTableEntry *pPrevAET; + EdgeTableEntry *tmp; pPrevAET = AET; AET = AET->next; @@ -656,9 +656,9 @@ miloadAET(EdgeTableEntry *AET, EdgeTableEntry *ETEs) static void micomputeWAET(EdgeTableEntry *AET) { - register EdgeTableEntry *pWETE; - register int inside = 1; - register int isInside = 0; + EdgeTableEntry *pWETE; + int inside = 1; + int isInside = 0; AET->nextWETE = 0; pWETE = AET; @@ -694,10 +694,10 @@ micomputeWAET(EdgeTableEntry *AET) static int miInsertionSort(EdgeTableEntry *AET) { - register EdgeTableEntry *pETEchase; - register EdgeTableEntry *pETEinsert; - register EdgeTableEntry *pETEchaseBackTMP; - register int changed = 0; + EdgeTableEntry *pETEchase; + EdgeTableEntry *pETEinsert; + EdgeTableEntry *pETEchaseBackTMP; + int changed = 0; AET = AET->next; while (AET) @@ -769,12 +769,12 @@ void QPolygonScanner::scan( const QPointArray& pa, bool winding, int index, int DDXPointPtr ptsIn = (DDXPointPtr)pa.data(); ptsIn += index; - register EdgeTableEntry *pAET; /* the Active Edge Table */ - register int y; /* the current scanline */ - register int nPts = 0; /* number of pts in buffer */ - register EdgeTableEntry *pWETE; /* Winding Edge Table */ - register ScanLineList *pSLL; /* Current ScanLineList */ - register DDXPointPtr ptsOut; /* ptr to output buffers */ + EdgeTableEntry *pAET; /* the Active Edge Table */ + int y; /* the current scanline */ + int nPts = 0; /* number of pts in buffer */ + EdgeTableEntry *pWETE; /* Winding Edge Table */ + ScanLineList *pSLL; /* Current ScanLineList */ + DDXPointPtr ptsOut; /* ptr to output buffers */ int *width; DDXPointRec FirstPoint[NUMPTSTOBUFFER]; /* the output buffers */ int FirstWidth[NUMPTSTOBUFFER]; diff --git a/src/kernel/qregion_x11.cpp b/src/kernel/qregion_x11.cpp index 7b04a15..29e54de 100644 --- a/src/kernel/qregion_x11.cpp +++ b/src/kernel/qregion_x11.cpp @@ -89,8 +89,8 @@ struct QRegionPrivate { static void UnionRegion(QRegionPrivate *reg1, QRegionPrivate *reg2, QRegionPrivate *newReg); -static void IntersectRegion(QRegionPrivate *reg1, QRegionPrivate *reg2, register QRegionPrivate *newReg); -static void miRegionOp(register QRegionPrivate *newReg, QRegionPrivate *reg1, QRegionPrivate *reg2, +static void IntersectRegion(QRegionPrivate *reg1, QRegionPrivate *reg2, QRegionPrivate *newReg); +static void miRegionOp(QRegionPrivate *newReg, QRegionPrivate *reg1, QRegionPrivate *reg2, void (*overlapFunc)(...), void (*nonOverlap1Func)(...), void (*nonOverlap2Func)(...)); @@ -300,7 +300,7 @@ typedef void (*voidProcp)(...); static -void UnionRectWithRegion(register const QRect *rect, QRegionPrivate *source, QRegionPrivate *dest) +void UnionRectWithRegion(const QRect *rect, QRegionPrivate *source, QRegionPrivate *dest) { QRegionPrivate region; @@ -333,7 +333,7 @@ void UnionRectWithRegion(register const QRect *rect, QRegionPrivate *source, QRe static void miSetExtents (QRegionPrivate *pReg) { - register QRect *pBox, + QRect *pBox, *pBoxEnd, *pExtents; @@ -383,10 +383,10 @@ miSetExtents (QRegionPrivate *pReg) static int -OffsetRegion(register QRegionPrivate *pRegion, register int x, register int y) +OffsetRegion(QRegionPrivate *pRegion, int x, int y) { - register int nbox; - register QRect *pbox; + int nbox; + QRect *pbox; pbox = pRegion->rects.data(); nbox = pRegion->numRects; @@ -419,12 +419,12 @@ OffsetRegion(register QRegionPrivate *pRegion, register int x, register int y) /* static void*/ static int -miIntersectO (register QRegionPrivate *pReg, register QRect *r1, QRect *r1End, - register QRect *r2, QRect *r2End, int y1, int y2) +miIntersectO (QRegionPrivate *pReg, QRect *r1, QRect *r1End, + QRect *r2, QRect *r2End, int y1, int y2) { - register int x1; - register int x2; - register QRect *pNextRect; + int x1; + int x2; + QRect *pNextRect; pNextRect = pReg->rects.data() + pReg->numRects; @@ -474,7 +474,7 @@ miIntersectO (register QRegionPrivate *pReg, register QRect *r1, QRect *r1End, static void -IntersectRegion(QRegionPrivate *reg1, QRegionPrivate *reg2, register QRegionPrivate *newReg) +IntersectRegion(QRegionPrivate *reg1, QRegionPrivate *reg2, QRegionPrivate *newReg) { /* check for trivial reject */ if ( (!(reg1->numRects)) || (!(reg2->numRects)) || @@ -519,14 +519,14 @@ IntersectRegion(QRegionPrivate *reg1, QRegionPrivate *reg2, register QRegionPriv /* static int*/ static int -miCoalesce (register QRegionPrivate *pReg, int prevStart, int curStart) +miCoalesce (QRegionPrivate *pReg, int prevStart, int curStart) //Region pReg; /* Region to coalesce */ //prevStart; /* Index of start of previous band */ //curStart; /* Index of start of current band */ { - register QRect *pPrevBox; /* Current box in previous band */ - register QRect *pCurBox; /* Current box in current band */ - register QRect *pRegEnd; /* End of region */ + QRect *pPrevBox; /* Current box in previous band */ + QRect *pCurBox; /* Current box in current band */ + QRect *pRegEnd; /* End of region */ int curNumRects; /* Number of rectangles in current * band */ int prevNumRects; /* Number of rectangles in previous @@ -670,11 +670,11 @@ miCoalesce (register QRegionPrivate *pReg, int prevStart, int curStart) */ /* static void*/ static void -miRegionOp(register QRegionPrivate *newReg, QRegionPrivate *reg1, QRegionPrivate *reg2, +miRegionOp(QRegionPrivate *newReg, QRegionPrivate *reg1, QRegionPrivate *reg2, void (*overlapFunc)(...), void (*nonOverlap1Func)(...), void (*nonOverlap2Func)(...)) - //register Region newReg; /* Place to store result */ + //Region newReg; /* Place to store result */ //Region reg1; /* First region in operation */ //Region reg2; /* 2d region in operation */ //void (*overlapFunc)(); /* Function to call for over- @@ -686,18 +686,18 @@ miRegionOp(register QRegionPrivate *newReg, QRegionPrivate *reg1, QRegionPrivate //* overlapping bands in region //* 2 */ { - register QRect *r1; /* Pointer into first region */ - register QRect *r2; /* Pointer into 2d region */ + QRect *r1; /* Pointer into first region */ + QRect *r2; /* Pointer into 2d region */ QRect *r1End; /* End of 1st region */ QRect *r2End; /* End of 2d region */ - register int ybot; /* Bottom of intersection */ - register int ytop; /* Top of intersection */ + int ybot; /* Bottom of intersection */ + int ytop; /* Top of intersection */ int prevBand; /* Index of start of * previous band in newReg */ int curBand; /* Index of start of current * band in newReg */ - register QRect *r1BandEnd; /* End of current band in r1 */ - register QRect *r2BandEnd; /* End of current band in r2 */ + QRect *r1BandEnd; /* End of current band in r1 */ + QRect *r2BandEnd; /* End of current band in r2 */ int top; /* Top of non-overlapping * band */ int bot; /* Bottom of non-overlapping @@ -951,10 +951,10 @@ miRegionOp(register QRegionPrivate *newReg, QRegionPrivate *reg1, QRegionPrivate /* static void*/ static int -miUnionNonO (register QRegionPrivate *pReg, register QRect * r, - QRect * rEnd, register int y1, register int y2) +miUnionNonO (QRegionPrivate *pReg, QRect * r, + QRect * rEnd, int y1, int y2) { - register QRect * pNextRect; + QRect * pNextRect; pNextRect = pReg->rects.data() + pReg->numRects; @@ -993,10 +993,10 @@ miUnionNonO (register QRegionPrivate *pReg, register QRect * r, /* static void*/ static int -miUnionO (register QRegionPrivate *pReg, register QRect *r1, QRect *r1End, - register QRect *r2, QRect *r2End, register int y1, register int y2) +miUnionO (QRegionPrivate *pReg, QRect *r1, QRect *r1End, + QRect *r2, QRect *r2End, int y1, int y2) { - register QRect *pNextRect; + QRect *pNextRect; pNextRect = pReg->rects.data() + pReg->numRects; @@ -1121,10 +1121,10 @@ static void UnionRegion(QRegionPrivate *reg1, QRegionPrivate *reg2, QRegionPriva /* static void*/ static int -miSubtractNonO1 (register QRegionPrivate *pReg, register QRect *r, - QRect *rEnd, register int y1, register int y2) +miSubtractNonO1 (QRegionPrivate *pReg, QRect *r, + QRect *rEnd, int y1, int y2) { - register QRect *pNextRect; + QRect *pNextRect; pNextRect = pReg->rects.data() + pReg->numRects; @@ -1160,11 +1160,11 @@ miSubtractNonO1 (register QRegionPrivate *pReg, register QRect *r, /* static void*/ static int -miSubtractO (register QRegionPrivate *pReg, register QRect *r1, QRect *r1End, - register QRect *r2, QRect *r2End, register int y1, register int y2) +miSubtractO (QRegionPrivate *pReg, QRect *r1, QRect *r1End, + QRect *r2, QRect *r2End, int y1, int y2) { - register QRect *pNextRect; - register int x1; + QRect *pNextRect; + int x1; x1 = r1->left(); @@ -1285,7 +1285,7 @@ miSubtractO (register QRegionPrivate *pReg, register QRect *r1, QRect *r1End, *----------------------------------------------------------------------- */ -static void SubtractRegion(QRegionPrivate *regM, QRegionPrivate *regS, register QRegionPrivate *regD) +static void SubtractRegion(QRegionPrivate *regM, QRegionPrivate *regS, QRegionPrivate *regD) { /* check for trivial reject */ if ( (!(regM->numRects)) || (!(regS->numRects)) || @@ -1361,13 +1361,13 @@ static bool PointInRegion( QRegionPrivate *pRegion, int x, int y ) return FALSE; } -static bool RectInRegion(register QRegionPrivate *region, +static bool RectInRegion(QRegionPrivate *region, int rx, int ry, unsigned int rwidth, unsigned int rheight) { - register QRect *pbox; - register QRect *pboxEnd; + QRect *pbox; + QRect *pboxEnd; QRect rect(rx, ry, rwidth, rheight); - register QRect *prect = ▭ + QRect *prect = ▭ int partIn, partOut; /* this is (just) a useful optimization */ @@ -1800,8 +1800,8 @@ static void InsertEdgeInET(EdgeTable *ET, EdgeTableEntry *ETE, int scanline, ScanLineListBlock **SLLBlock, int *iSLLBlock) { - register EdgeTableEntry *start, *prev; - register ScanLineList *pSLL, *pPrevSLL; + EdgeTableEntry *start, *prev; + ScanLineList *pSLL, *pPrevSLL; ScanLineListBlock *tmpSLLBlock; /* @@ -1881,12 +1881,12 @@ InsertEdgeInET(EdgeTable *ET, EdgeTableEntry *ETE, int scanline, */ static void -CreateETandAET(register int count, register QPoint *pts, - EdgeTable *ET, EdgeTableEntry *AET, register EdgeTableEntry *pETEs, +CreateETandAET(int count, QPoint *pts, + EdgeTable *ET, EdgeTableEntry *AET, EdgeTableEntry *pETEs, ScanLineListBlock *pSLLBlock) { - register QPoint *top, *bottom; - register QPoint *PrevPt, *CurrPt; + QPoint *top, *bottom; + QPoint *PrevPt, *CurrPt; int iSLLBlock = 0; int dy; @@ -1969,10 +1969,10 @@ CreateETandAET(register int count, register QPoint *pts, */ static void -loadAET(register EdgeTableEntry *AET, register EdgeTableEntry *ETEs) +loadAET(EdgeTableEntry *AET, EdgeTableEntry *ETEs) { - register EdgeTableEntry *pPrevAET; - register EdgeTableEntry *tmp; + EdgeTableEntry *pPrevAET; + EdgeTableEntry *tmp; pPrevAET = AET; AET = AET->next; @@ -2016,11 +2016,11 @@ loadAET(register EdgeTableEntry *AET, register EdgeTableEntry *ETEs) * */ static void -computeWAET(register EdgeTableEntry *AET) +computeWAET(EdgeTableEntry *AET) { - register EdgeTableEntry *pWETE; - register int inside = 1; - register int isInside = 0; + EdgeTableEntry *pWETE; + int inside = 1; + int isInside = 0; AET->nextWETE = (EdgeTableEntry *)NULL; pWETE = AET; @@ -2054,12 +2054,12 @@ computeWAET(register EdgeTableEntry *AET) */ static int -InsertionSort(register EdgeTableEntry *AET) +InsertionSort(EdgeTableEntry *AET) { - register EdgeTableEntry *pETEchase; - register EdgeTableEntry *pETEinsert; - register EdgeTableEntry *pETEchaseBackTMP; - register int changed = 0; + EdgeTableEntry *pETEchase; + EdgeTableEntry *pETEinsert; + EdgeTableEntry *pETEchaseBackTMP; + int changed = 0; AET = AET->next; while (AET) @@ -2090,9 +2090,9 @@ InsertionSort(register EdgeTableEntry *AET) * Clean up our act. */ static void -FreeStorage(register ScanLineListBlock *pSLLBlock) +FreeStorage(ScanLineListBlock *pSLLBlock) { - register ScanLineListBlock *tmpSLLBlock; + ScanLineListBlock *tmpSLLBlock; while (pSLLBlock) { @@ -2110,15 +2110,15 @@ FreeStorage(register ScanLineListBlock *pSLLBlock) * stack by the calling procedure. * */ -static int PtsToRegion(register int numFullPtBlocks, register int iCurPtBlock, +static int PtsToRegion(int numFullPtBlocks, int iCurPtBlock, POINTBLOCK *FirstPtBlock, QRegionPrivate *reg) { - register QRect *rects; - register QPoint *pts; - register POINTBLOCK *CurPtBlock; - register int i; - register QRect *extents; - register int numRects; + QRect *rects; + QPoint *pts; + POINTBLOCK *CurPtBlock; + int i; + QRect *extents; + int numRects; extents = ®->extents; @@ -2182,12 +2182,12 @@ static QRegionPrivate *PolygonRegion(QPoint *Pts, int Count, int rule) //int rule; /* winding rule */ { QRegionPrivate *region; - register EdgeTableEntry *pAET; /* Active Edge Table */ - register int y; /* current scanline */ - register int iPts = 0; /* number of pts in buffer */ - register EdgeTableEntry *pWETE; /* Winding Edge Table Entry*/ - register ScanLineList *pSLL; /* current scanLineList */ - register QPoint *pts; /* output buffer */ + EdgeTableEntry *pAET; /* Active Edge Table */ + int y; /* current scanline */ + int iPts = 0; /* number of pts in buffer */ + EdgeTableEntry *pWETE; /* Winding Edge Table Entry*/ + ScanLineList *pSLL; /* current scanLineList */ + QPoint *pts; /* output buffer */ EdgeTableEntry *pPrevAET; /* ptr to previous AET */ EdgeTable ET; /* header node for ET */ EdgeTableEntry AET; /* header node for AET */ diff --git a/src/kernel/qrichtext.cpp b/src/kernel/qrichtext.cpp index 71095a3..661f149 100644 --- a/src/kernel/qrichtext.cpp +++ b/src/kernel/qrichtext.cpp @@ -4093,7 +4093,7 @@ QTextParagraph::~QTextParagraph() { delete str; if ( hasdoc ) { - register QTextDocument *doc = document(); + QTextDocument *doc = document(); if ( this == doc->minwParag ) { doc->minwParag = 0; doc->minw = 0; diff --git a/src/kernel/qthread_unix.cpp b/src/kernel/qthread_unix.cpp index 1358250..6b43b0b 100644 --- a/src/kernel/qthread_unix.cpp +++ b/src/kernel/qthread_unix.cpp @@ -331,7 +331,10 @@ void QThread::start(Priority priority) pthread_attr_init(&attr); pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); -#if !defined(Q_OS_OPENBSD) && defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING-0 >= 0) +#if defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING-0 >= 0) +#if _POSIX_THREAD_PRIORITY_SCHEDULING == 0 && defined _SC_THREAD_PRIORITY_SCHEDULING + if (sysconf(_SC_THREAD_PRIORITY_SCHEDULING) > 0) +#endif switch (priority) { case InheritPriority: { diff --git a/src/kernel/qtkdeintegration_x11.cpp b/src/kernel/qtkdeintegration_x11.cpp index 5fcd00f..9aabb4f 100644 --- a/src/kernel/qtkdeintegration_x11.cpp +++ b/src/kernel/qtkdeintegration_x11.cpp @@ -26,11 +26,7 @@ static QCString findLibrary() if( getenv( "QT_NO_KDE_INTEGRATION" ) == NULL || getenv( "QT_NO_KDE_INTEGRATION" )[ 0 ] == '0' ) { -#ifdef USE_LIB64_PATHES - return "/opt/kde3/lib64/kde3/plugins/integration/libqtkde"; -#else - return "/opt/kde3/lib/kde3/plugins/integration/libqtkde"; -#endif + return QCString() + qInstallPathPlugins() + "/integration/libqtkde"; } return ""; } diff --git a/src/kernel/qucomextra.cpp b/src/kernel/qucomextra.cpp index 427c29a..0ea698a 100644 --- a/src/kernel/qucomextra.cpp +++ b/src/kernel/qucomextra.cpp @@ -85,7 +85,7 @@ bool QUType_QVariant::convertFrom( QUObject *o, QUType *t ) else if ( isEqual( o->type, &static_QUType_int ) ) var = new QVariant( static_QUType_int.get( o ) ); else if ( isEqual( o->type, &static_QUType_bool ) ) - var = new QVariant( static_QUType_bool.get( o ), 42 ); + var = new QVariant( static_QUType_bool.get( o ) ); else if ( isEqual( o->type, &static_QUType_double ) ) var = new QVariant( static_QUType_double.get( o ) ); else if ( isEqual( o->type, &static_QUType_charstar ) ) diff --git a/src/kernel/qvariant.cpp b/src/kernel/qvariant.cpp index c9ea5b1..99659df 100644 --- a/src/kernel/qvariant.cpp +++ b/src/kernel/qvariant.cpp @@ -877,12 +877,10 @@ QVariant::QVariant( Q_ULLONG val ) } /*! - Constructs a new variant with a boolean value, \a val. The integer - argument is a dummy, necessary for compatibility with some - compilers. + Constructs a new variant with a boolean value, \a val. */ -QVariant::QVariant( bool val, int ) -{ // this is the comment that does NOT name said compiler. +QVariant::QVariant( bool val ) +{ d = new Private; d->typ = Bool; d->value.b = val; diff --git a/src/kernel/qvariant.h b/src/kernel/qvariant.h index b2cab8d..3c60295 100644 --- a/src/kernel/qvariant.h +++ b/src/kernel/qvariant.h @@ -42,7 +42,10 @@ #define QVARIANT_H #ifndef QT_H +#include "qmap.h" #include "qstring.h" +#include "qstringlist.h" +#include "qvaluelist.h" #endif // QT_H #ifndef QT_NO_VARIANT @@ -80,6 +83,10 @@ template <class T> class QValueListConstIterator; template <class T> class QValueListNode; template <class Key, class T> class QMap; template <class Key, class T> class QMapConstIterator; + +typedef QMap<QString, QVariant> QStringVariantMap; +typedef QMapIterator<QString, QVariant> QStringVariantMapIterator; +typedef QMapConstIterator<QString, QVariant> QStringVariantMapConstIterator; #endif class Q_EXPORT QVariant @@ -167,8 +174,7 @@ public: QVariant( uint ); QVariant( Q_LLONG ); QVariant( Q_ULLONG ); - // ### Problems on some compilers ? - QVariant( bool, int ); + QVariant( bool ); QVariant( double ); QVariant( QSizePolicy ); @@ -317,13 +323,6 @@ public: void* rawAccess( void* ptr = 0, Type typ = Invalid, bool deepCopy = FALSE ); }; -// down here for GCC 2.7.* compatibility -#ifndef QT_H -#include "qvaluelist.h" -#include "qstringlist.h" -#include "qmap.h" -#endif // QT_H - inline QVariant::Type QVariant::type() const { return d->typ; diff --git a/src/kernel/qwidget.cpp b/src/kernel/qwidget.cpp index 461c7f3..e7d27a9 100644 --- a/src/kernel/qwidget.cpp +++ b/src/kernel/qwidget.cpp @@ -1044,7 +1044,7 @@ void QWidget::destroyMapper() QWidgetIntDictIt it( *((QWidgetIntDict*)mapper) ); QWidgetMapper * myMapper = mapper; mapper = 0; - register QWidget *w; + QWidget *w; while ( (w=it.current()) ) { // remove parents widgets ++it; if ( !w->parentObj ) // widget is a parent @@ -4172,7 +4172,7 @@ void QWidget::showChildren( bool spontaneous ) { if ( children() ) { QObjectListIt it(*children()); - register QObject *object; + QObject *object; QWidget *widget; while ( it ) { object = it.current(); @@ -4197,7 +4197,7 @@ void QWidget::hideChildren( bool spontaneous ) { if ( children() ) { QObjectListIt it(*children()); - register QObject *object; + QObject *object; QWidget *widget; while ( it ) { object = it.current(); diff --git a/src/kernel/qwidget_x11.cpp b/src/kernel/qwidget_x11.cpp index ddad9cd..54c37e6 100644 --- a/src/kernel/qwidget_x11.cpp +++ b/src/kernel/qwidget_x11.cpp @@ -794,7 +794,7 @@ void QWidget::destroy( bool destroyWindow, bool destroySubWindows ) clearWState( WState_Created ); if ( children() ) { QObjectListIt it(*children()); - register QObject *obj; + QObject *obj; while ( (obj=it.current()) ) { // destroy all widget children ++it; if ( obj->isWidgetType() ) @@ -1487,28 +1487,31 @@ void QWidget::grabMouse() void QWidget::grabMouse( const QCursor &cursor ) { if ( !qt_nograb() ) { - if ( mouseGrb ) - mouseGrb->releaseMouse(); + if ( mouseGrb != this ) { + if ( mouseGrb ) { + mouseGrb->releaseMouse(); + } #if defined(QT_CHECK_STATE) - int status = + int status = #endif - XGrabPointer( x11Display(), winId(), False, - (uint)(ButtonPressMask | ButtonReleaseMask | - PointerMotionMask | EnterWindowMask | LeaveWindowMask), - GrabModeAsync, GrabModeAsync, - None, cursor.handle(), qt_x_time ); + XGrabPointer( x11Display(), winId(), False, + (uint)(ButtonPressMask | ButtonReleaseMask | + PointerMotionMask | EnterWindowMask | LeaveWindowMask), + GrabModeAsync, GrabModeAsync, + None, cursor.handle(), qt_x_time ); #if defined(QT_CHECK_STATE) - if ( status ) { - const char *s = - status == GrabNotViewable ? "\"GrabNotViewable\"" : - status == AlreadyGrabbed ? "\"AlreadyGrabbed\"" : - status == GrabFrozen ? "\"GrabFrozen\"" : - status == GrabInvalidTime ? "\"GrabInvalidTime\"" : - "<?>"; - qWarning( "Grabbing the mouse failed with %s", s ); - } + if ( status ) { + const char *s = + status == GrabNotViewable ? "\"GrabNotViewable\"" : + status == AlreadyGrabbed ? "\"AlreadyGrabbed\"" : + status == GrabFrozen ? "\"GrabFrozen\"" : + status == GrabInvalidTime ? "\"GrabInvalidTime\"" : + "<?>"; + qWarning( "Grabbing the mouse failed with %s", s ); + } #endif - mouseGrb = this; + mouseGrb = this; + } } } @@ -1548,11 +1551,13 @@ void QWidget::releaseMouse() void QWidget::grabKeyboard() { if ( !qt_nograb() ) { - if ( keyboardGrb ) - keyboardGrb->releaseKeyboard(); - XGrabKeyboard( x11Display(), winid, False, GrabModeAsync, GrabModeAsync, - qt_x_time ); - keyboardGrb = this; + if ( keyboardGrb != this ) { + if ( keyboardGrb ) { + keyboardGrb->releaseKeyboard(); + } + XGrabKeyboard( x11Display(), winid, False, GrabModeAsync, GrabModeAsync, qt_x_time ); + keyboardGrb = this; + } } } @@ -2476,7 +2481,7 @@ void QWidget::scroll( int dx, int dy, const QRect& r ) if ( !valid_rect && children() ) { // scroll children QPoint pd( dx, dy ); QObjectListIt it(*children()); - register QObject *object; + QObject *object; while ( it ) { // move all children object = it.current(); if ( object->isWidgetType() ) { diff --git a/src/kernel/qwmatrix.cpp b/src/kernel/qwmatrix.cpp index aaefddd..6b13811 100644 --- a/src/kernel/qwmatrix.cpp +++ b/src/kernel/qwmatrix.cpp @@ -724,8 +724,8 @@ QRegion QWMatrix::operator * (const QRegion &r ) const return r; QMemArray<QRect> rects = r.rects(); QRegion result; - register QRect *rect = rects.data(); - register int i = rects.size(); + QRect *rect = rects.data(); + int i = rects.size(); if ( _m12 == 0.0F && _m21 == 0.0F && _m11 > 1.0F && _m22 > 1.0F ) { // simple case, no rotation while ( i ) { diff --git a/src/moc/moc.y b/src/moc/moc.y index 90f72ab..e946ca0 100644 --- a/src/moc/moc.y +++ b/src/moc/moc.y @@ -2833,7 +2833,7 @@ void generateClass() // generate C++ source code for a class { const char *hdr1 = "/****************************************************************************\n" "** %s meta object code from reading C++ file '%s'\n**\n"; - const char *hdr2 = "** Created: %s\n"; + const char *hdr2 = "** Created by: The Qt Meta Object Compiler version %d (Qt %s)\n"; const char *hdr3 = "** WARNING! All changes made in this file will be lost!\n"; const char *hdr4 = "*****************************************************************************/\n\n"; int i; @@ -2863,8 +2863,6 @@ void generateClass() // generate C++ source code for a class g->gen_count++; if ( g->gen_count == 1 ) { // first class to be generated - QDateTime dt = QDateTime::currentDateTime(); - QCString dstr = dt.toString().ascii(); QCString fn = g->fileName; i = g->fileName.length()-1; while ( i>0 && g->fileName[i-1] != '/' && g->fileName[i-1] != '\\' ) @@ -2872,7 +2870,7 @@ void generateClass() // generate C++ source code for a class if ( i >= 0 ) fn = &g->fileName[i]; fprintf( out, hdr1, (const char*)qualifiedClassName(),(const char*)fn); - fprintf( out, hdr2, (const char*)dstr ); + fprintf( out, hdr2, formatRevision, QT_VERSION_STR ); fprintf( out, "%s", hdr3 ); fprintf( out, "%s", hdr4 ); @@ -3441,16 +3439,14 @@ void generateClass() // generate C++ source code for a class } if ( it.current()->getfunc ) { if ( it.current()->gspec == Property::Pointer ) - fprintf( out, "\tcase 1: if ( this->%s() ) *v = QVariant( %s*%s()%s ); break;\n", + fprintf( out, "\tcase 1: if ( this->%s() ) *v = QVariant( %s*%s() ); break;\n", it.current()->getfunc->name.data(), !isVariantType( it.current()->type ) ? "(int)" : "", - it.current()->getfunc->name.data(), - it.current()->type == "bool" ? ", 0" : "" ); + it.current()->getfunc->name.data()); else - fprintf( out, "\tcase 1: *v = QVariant( %sthis->%s()%s ); break;\n", + fprintf( out, "\tcase 1: *v = QVariant( %sthis->%s() ); break;\n", !isVariantType( it.current()->type ) ? "(int)" : "", - it.current()->getfunc->name.data(), - it.current()->type == "bool" ? ", 0" : "" ); + it.current()->getfunc->name.data()); } else if ( it.current()->override ) { flag_propagate |= 1<< (1+1); } diff --git a/src/moc/moc_lex.cpp b/src/moc/moc_lex.cpp index 44aa983..2899133 100644 --- a/src/moc/moc_lex.cpp +++ b/src/moc/moc_lex.cpp @@ -1248,9 +1248,9 @@ extern int yylex (void); */ YY_DECL { - register yy_state_type yy_current_state; - register char *yy_cp, *yy_bp; - register int yy_act; + yy_state_type yy_current_state; + char *yy_cp, *yy_bp; + int yy_act; #line 113 "moc.l" @@ -1300,7 +1300,7 @@ YY_DECL yy_match: do { - register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; + YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; @@ -2448,9 +2448,9 @@ case YY_STATE_EOF(IN_CLASSINFO): */ static int yy_get_next_buffer (void) { - register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; - register char *source = (yytext_ptr); - register int number_to_move, i; + char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; + char *source = (yytext_ptr); + int number_to_move, i; int ret_val; if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) @@ -2582,15 +2582,15 @@ static int yy_get_next_buffer (void) static yy_state_type yy_get_previous_state (void) { - register yy_state_type yy_current_state; - register char *yy_cp; + yy_state_type yy_current_state; + char *yy_cp; yy_current_state = (yy_start); yy_current_state += YY_AT_BOL(); for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) { - register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); + YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; @@ -2615,10 +2615,10 @@ static int yy_get_next_buffer (void) */ static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) { - register int yy_is_jam; - register char *yy_cp = (yy_c_buf_p); + int yy_is_jam; + char *yy_cp = (yy_c_buf_p); - register YY_CHAR yy_c = 1; + YY_CHAR yy_c = 1; if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; @@ -2636,9 +2636,9 @@ static int yy_get_next_buffer (void) return yy_is_jam ? 0 : yy_current_state; } - static void yyunput (int c, register char * yy_bp ) + static void yyunput (int c, char * yy_bp ) { - register char *yy_cp; + char *yy_cp; yy_cp = (yy_c_buf_p); @@ -2648,10 +2648,10 @@ static int yy_get_next_buffer (void) if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) { /* need to shift things up to make room */ /* +2 for EOB chars. */ - register int number_to_move = (yy_n_chars) + 2; - register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ + int number_to_move = (yy_n_chars) + 2; + char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; - register char *source = + char *source = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) @@ -3266,7 +3266,7 @@ int yylex_destroy (void) #ifndef yytext_ptr static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) { - register int i; + int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; } @@ -3275,7 +3275,7 @@ static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) #ifdef YY_NEED_STRLEN static int yy_flex_strlen (yyconst char * s ) { - register int n; + int n; for ( n = 0; s[n]; ++n ) ; diff --git a/src/moc/moc_yacc.cpp b/src/moc/moc_yacc.cpp index 2ab0be7..c5557df 100644 --- a/src/moc/moc_yacc.cpp +++ b/src/moc/moc_yacc.cpp @@ -5659,7 +5659,7 @@ void generateClass() // generate C++ source code for a class { const char *hdr1 = "/****************************************************************************\n" "** %s meta object code from reading C++ file '%s'\n**\n"; - const char *hdr2 = "** Created: %s\n"; + const char *hdr2 = "** Created by: The Qt Meta Object Compiler version %d (Qt %s)\n"; const char *hdr3 = "** WARNING! All changes made in this file will be lost!\n"; const char *hdr4 = "*****************************************************************************/\n\n"; int i; @@ -5689,8 +5689,6 @@ void generateClass() // generate C++ source code for a class g->gen_count++; if ( g->gen_count == 1 ) { // first class to be generated - QDateTime dt = QDateTime::currentDateTime(); - QCString dstr = dt.toString().ascii(); QCString fn = g->fileName; i = g->fileName.length()-1; while ( i>0 && g->fileName[i-1] != '/' && g->fileName[i-1] != '\\' ) @@ -5698,7 +5696,7 @@ void generateClass() // generate C++ source code for a class if ( i >= 0 ) fn = &g->fileName[i]; fprintf( out, hdr1, (const char*)qualifiedClassName(),(const char*)fn); - fprintf( out, hdr2, (const char*)dstr ); + fprintf( out, hdr2, formatRevision, QT_VERSION_STR ); fprintf( out, "%s", hdr3 ); fprintf( out, "%s", hdr4 ); @@ -6267,16 +6265,14 @@ void generateClass() // generate C++ source code for a class } if ( it.current()->getfunc ) { if ( it.current()->gspec == Property::Pointer ) - fprintf( out, "\tcase 1: if ( this->%s() ) *v = QVariant( %s*%s()%s ); break;\n", + fprintf( out, "\tcase 1: if ( this->%s() ) *v = QVariant( %s*%s() ); break;\n", it.current()->getfunc->name.data(), !isVariantType( it.current()->type ) ? "(int)" : "", - it.current()->getfunc->name.data(), - it.current()->type == "bool" ? ", 0" : "" ); + it.current()->getfunc->name.data()); else - fprintf( out, "\tcase 1: *v = QVariant( %sthis->%s()%s ); break;\n", + fprintf( out, "\tcase 1: *v = QVariant( %sthis->%s() ); break;\n", !isVariantType( it.current()->type ) ? "(int)" : "", - it.current()->getfunc->name.data(), - it.current()->type == "bool" ? ", 0" : "" ); + it.current()->getfunc->name.data()); } else if ( it.current()->override ) { flag_propagate |= 1<< (1+1); } diff --git a/src/network/qdns.cpp b/src/network/qdns.cpp index 0b41d6c..223ef0b 100644 --- a/src/network/qdns.cpp +++ b/src/network/qdns.cpp @@ -102,7 +102,7 @@ static Q_UINT32 now() return 0; } -#if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 3))) +#if defined(__RES) && (__RES >= 19980901) #define Q_MODERN_RES_API #else #endif diff --git a/src/sql/drivers/mysql/qsql_mysql.cpp b/src/sql/drivers/mysql/qsql_mysql.cpp index 2d84b65..6127a51 100644 --- a/src/sql/drivers/mysql/qsql_mysql.cpp +++ b/src/sql/drivers/mysql/qsql_mysql.cpp @@ -505,7 +505,7 @@ bool QMYSQLDriver::open( const QString& db, return FALSE; } - my_bool reconnect = 0; + bool reconnect = 0; for ( it = opts.begin(); it != opts.end(); ++it ) { QString opt( (*it).upper() ); if ( opt == "CLIENT_COMPRESS" ) diff --git a/src/sql/drivers/psql/qsql_psql.cpp b/src/sql/drivers/psql/qsql_psql.cpp index 9d028c0..6de2365 100644 --- a/src/sql/drivers/psql/qsql_psql.cpp +++ b/src/sql/drivers/psql/qsql_psql.cpp @@ -147,8 +147,10 @@ static QVariant::Type qDecodePSQLType( int t ) case FLOAT8OID : type = QVariant::Double; break; +#ifdef ABSTIMEOID // PostgreSQL << 12.x case ABSTIMEOID : case RELTIMEOID : +#endif case DATEOID : type = QVariant::Date; break; @@ -288,7 +290,7 @@ QVariant QPSQLResult::data( int i ) switch ( type ) { case QVariant::Bool: { - QVariant b ( (bool)(val == "t"), 0 ); + QVariant b ( (bool)(val == "t") ); return ( b ); } case QVariant::String: diff --git a/src/sql/qsqlextension_p.cpp b/src/sql/qsqlextension_p.cpp index da6a2ac..27fdca8 100644 --- a/src/sql/qsqlextension_p.cpp +++ b/src/sql/qsqlextension_p.cpp @@ -128,10 +128,10 @@ QVariant QSqlExtension::boundValue( int pos ) const return values[ index[ pos ] ].value; } -QMap<QString, QVariant> QSqlExtension::boundValues() const +QStringVariantMap QSqlExtension::boundValues() const { QMap<QString, QSqlParam>::ConstIterator it; - QMap<QString, QVariant> m; + QStringVariantMap m; if ( bindm == BindByName ) { for ( it = values.begin(); it != values.end(); ++it ) m.insert( it.key(), it.data().value ); diff --git a/src/sql/qsqlextension_p.h b/src/sql/qsqlextension_p.h index 1379d91..db64f9c 100644 --- a/src/sql/qsqlextension_p.h +++ b/src/sql/qsqlextension_p.h @@ -102,7 +102,7 @@ public: virtual QVariant parameterValue( int pos ); QVariant boundValue( const QString& holder ) const; QVariant boundValue( int pos ) const; - QMap<QString, QVariant> boundValues() const; + QStringVariantMap boundValues() const; void clear(); void clearValues(); void clearIndex(); diff --git a/src/sql/qsqlquery.cpp b/src/sql/qsqlquery.cpp index fec2343..ad49b8a 100644 --- a/src/sql/qsqlquery.cpp +++ b/src/sql/qsqlquery.cpp @@ -1173,8 +1173,8 @@ QVariant QSqlQuery::boundValue( int pos ) const QSqlQuery query; ... // Examine the bound values - bound using named binding - QMap<QString, QVariant>::ConstIterator it; - QMap<QString, QVariant> vals = query.boundValues(); + QStringVariantMap::ConstIterator it; + QStringVariantMap vals = query.boundValues(); for ( it = vals.begin(); it != vals.end(); ++it ) qWarning( "Placeholder: " + it.key() + ", Value: " + (*it).toString() ); ... @@ -1189,10 +1189,10 @@ QVariant QSqlQuery::boundValue( int pos ) const \endcode */ -QMap<QString,QVariant> QSqlQuery::boundValues() const +QStringVariantMap QSqlQuery::boundValues() const { if ( !d->sqlResult || !d->sqlResult->extension() ) - return QMap<QString,QVariant>(); + return QStringVariantMap(); return d->sqlResult->extension()->boundValues(); } diff --git a/src/sql/qsqlquery.h b/src/sql/qsqlquery.h index cf176d8..4e52a88 100644 --- a/src/sql/qsqlquery.h +++ b/src/sql/qsqlquery.h @@ -114,7 +114,7 @@ public: void addBindValue( const QVariant& val, QSql::ParameterType type ); QVariant boundValue( const QString& placeholder ) const; QVariant boundValue( int pos ) const; - QMap<QString, QVariant> boundValues() const; + QStringVariantMap boundValues() const; QString executedQuery() const; protected: diff --git a/src/table/qtable.cpp b/src/table/qtable.cpp index 9a9a66b..19fadea 100644 --- a/src/table/qtable.cpp +++ b/src/table/qtable.cpp @@ -5359,7 +5359,7 @@ void QTable::repaintSelections( QTableSelection *oldSelection, } if ( updateHorizontal && numCols() > 0 && left >= 0 && !isRowSelection( selectionMode() ) ) { - register int *s = &topHeader->states.data()[left]; + int *s = &topHeader->states.data()[left]; for ( i = left; i <= right; ++i ) { if ( !isColumnSelected( i ) ) *s = QTableHeader::Normal; @@ -5373,7 +5373,7 @@ void QTable::repaintSelections( QTableSelection *oldSelection, } if ( updateVertical && numRows() > 0 && top >= 0 ) { - register int *s = &leftHeader->states.data()[top]; + int *s = &leftHeader->states.data()[top]; for ( i = top; i <= bottom; ++i ) { if ( !isRowSelected( i ) ) *s = QTableHeader::Normal; @@ -6641,7 +6641,7 @@ void QTableHeader::setSectionStateToAll( SectionState state ) if ( isRowSelection( table->selectionMode() ) && orientation() == Horizontal ) return; - register int *d = (int *) states.data(); + int *d = (int *) states.data(); int n = count(); while (n >= 4) { @@ -7053,7 +7053,7 @@ void QTableHeader::updateSelections() int b = sectionAt( endPos ); int start = QMIN( a, b ); int end = QMAX( a, b ); - register int *s = states.data(); + int *s = states.data(); for ( int i = 0; i < count(); ++i ) { if ( i < start || i > end ) *s = oldStates.data()[ i ]; @@ -7079,8 +7079,8 @@ void QTableHeader::updateSelections() void QTableHeader::saveStates() { oldStates.resize( count() ); - register int *s = states.data(); - register int *s2 = oldStates.data(); + int *s = states.data(); + int *s2 = oldStates.data(); for ( int i = 0; i < count(); ++i ) { *s2 = *s; ++s2; diff --git a/src/tools/qbitarray.cpp b/src/tools/qbitarray.cpp index bdbeaa2..d3922bf 100644 --- a/src/tools/qbitarray.cpp +++ b/src/tools/qbitarray.cpp @@ -372,7 +372,7 @@ bool QBitArray::toggleBit( uint index ) return FALSE; } #endif - register uchar *p = (uchar *)data() + (index>>3); + uchar *p = (uchar *)data() + (index>>3); uchar b = (1 << (index & 7)); // bit position uchar c = *p & b; // read bit *p ^= b; // toggle bit @@ -436,8 +436,8 @@ bool QBitArray::toggleBit( uint index ) QBitArray &QBitArray::operator&=( const QBitArray &a ) { resize( QMAX(size(), a.size()) ); - register uchar *a1 = (uchar *)data(); - register uchar *a2 = (uchar *)a.data(); + uchar *a1 = (uchar *)data(); + uchar *a2 = (uchar *)a.data(); int n = QMIN( QByteArray::size(), a.QByteArray::size() ); int p = QMAX( QByteArray::size(), a.QByteArray::size() ) - n; while ( n-- > 0 ) @@ -467,8 +467,8 @@ QBitArray &QBitArray::operator&=( const QBitArray &a ) QBitArray &QBitArray::operator|=( const QBitArray &a ) { resize( QMAX(size(), a.size()) ); - register uchar *a1 = (uchar *)data(); - register uchar *a2 = (uchar *)a.data(); + uchar *a1 = (uchar *)data(); + uchar *a2 = (uchar *)a.data(); int n = QMIN( QByteArray::size(), a.QByteArray::size() ); while ( n-- > 0 ) *a1++ |= *a2++; @@ -495,8 +495,8 @@ QBitArray &QBitArray::operator|=( const QBitArray &a ) QBitArray &QBitArray::operator^=( const QBitArray &a ) { resize( QMAX(size(), a.size()) ); - register uchar *a1 = (uchar *)data(); - register uchar *a2 = (uchar *)a.data(); + uchar *a1 = (uchar *)data(); + uchar *a2 = (uchar *)a.data(); int n = QMIN( QByteArray::size(), a.QByteArray::size() ); while ( n-- > 0 ) *a1++ ^= *a2++; @@ -517,8 +517,8 @@ QBitArray &QBitArray::operator^=( const QBitArray &a ) QBitArray QBitArray::operator~() const { QBitArray a( size() ); - register uchar *a1 = (uchar *)data(); - register uchar *a2 = (uchar *)a.data(); + uchar *a1 = (uchar *)data(); + uchar *a2 = (uchar *)a.data(); int n = QByteArray::size(); while ( n-- ) *a2++ = ~*a1++; diff --git a/src/tools/qcstring.cpp b/src/tools/qcstring.cpp index 9abf9e7..9a07a84 100644 --- a/src/tools/qcstring.cpp +++ b/src/tools/qcstring.cpp @@ -72,8 +72,8 @@ void *qmemmove( void *dst, const void *src, uint len ) { - register char *d; - register char *s; + char *d; + char *s; if ( dst > src ) { d = (char *)dst + len - 1; s = (char *)src + len - 1; @@ -218,8 +218,8 @@ char *qstrncpy( char *dst, const char *src, uint len ) int qstricmp( const char *str1, const char *str2 ) { - register const uchar *s1 = (const uchar *)str1; - register const uchar *s2 = (const uchar *)str2; + const uchar *s1 = (const uchar *)str1; + const uchar *s2 = (const uchar *)str2; int res; uchar c; if ( !s1 || !s2 ) @@ -252,8 +252,8 @@ int qstricmp( const char *str1, const char *str2 ) int qstrnicmp( const char *str1, const char *str2, uint len ) { - register const uchar *s1 = (const uchar *)str1; - register const uchar *s2 = (const uchar *)str2; + const uchar *s1 = (const uchar *)str1; + const uchar *s2 = (const uchar *)str2; int res; uchar c; if ( !s1 || !s2 ) @@ -273,8 +273,8 @@ static bool crc_tbl_init = FALSE; static void createCRC16Table() // build CRC16 lookup table { - register uint i; - register uint j; + uint i; + uint j; uint v0, v1, v2, v3; for ( i = 0; i < 16; i++ ) { v0 = i & 1; @@ -322,7 +322,7 @@ Q_UINT16 qChecksum( const char *data, uint len ) crc_tbl_init = TRUE; } } - register Q_UINT16 crc = 0xffff; + Q_UINT16 crc = 0xffff; uchar c; uchar *p = (uchar *)data; while ( len-- ) { @@ -940,7 +940,7 @@ int QCString::find( char c, int index, bool cs ) const { if ( (uint)index >= size() ) // index outside string return -1; - register const char *d; + const char *d; if ( cs ) { // case sensitive d = strchr( data()+index, c ); } else { @@ -1056,8 +1056,8 @@ int QCString::find( const char *str, int index, bool cs, uint l ) const int QCString::findRev( char c, int index, bool cs ) const { - register const char *b = data(); - register const char *d; + const char *b = data(); + const char *d; if ( index < 0 ) index = length(); if ( (uint)index >= size() ) @@ -1290,7 +1290,7 @@ QCString QCString::mid( uint index, uint len ) const } else { if ( len > slen-index ) len = slen - index; - register char *p = data()+index; + char *p = data()+index; QCString s( len+1 ); strncpy( s.data(), p, len ); *(s.data()+len) = '\0'; @@ -1390,7 +1390,7 @@ QCString QCString::rightJustify( uint width, char fill, bool truncate ) const QCString QCString::lower() const { QCString s( data() ); - register char *p = s.data(); + char *p = s.data(); if ( p ) { while ( *p ) { *p = tolower( (uchar) *p ); @@ -1416,7 +1416,7 @@ QCString QCString::lower() const QCString QCString::upper() const { QCString s( data() ); - register char *p = s.data(); + char *p = s.data(); if ( p ) { while ( *p ) { *p = toupper(*p); @@ -1448,7 +1448,7 @@ QCString QCString::stripWhiteSpace() const if ( isEmpty() ) // nothing to do return copy(); - register char *s = data(); + char *s = data(); QCString result = s; int reslen = result.length(); if ( !isspace((uchar) s[0]) && !isspace((uchar) s[reslen-1]) ) @@ -2107,7 +2107,7 @@ QCString &QCString::setNum( long n ) { detach(); char buf[20]; - register char *p = &buf[19]; + char *p = &buf[19]; bool neg; if ( n < 0 ) { neg = TRUE; @@ -2137,7 +2137,7 @@ QCString &QCString::setNum( ulong n ) { detach(); char buf[20]; - register char *p = &buf[19]; + char *p = &buf[19]; *p = '\0'; do { *--p = ((int)(n%10)) + '0'; @@ -2195,7 +2195,7 @@ QCString &QCString::setNum( double n, char f, int prec ) qWarning( "QCString::setNum: Invalid format char '%c'", f ); #endif char format[20]; - register char *fs = format; // generate format string + char *fs = format; // generate format string *fs++ = '%'; // "%.<prec>l<f>" if ( prec > 99 ) prec = 99; diff --git a/src/tools/qdatastream.cpp b/src/tools/qdatastream.cpp index 2cdd5f7..f36afeb 100644 --- a/src/tools/qdatastream.cpp +++ b/src/tools/qdatastream.cpp @@ -493,7 +493,7 @@ extern "C" long long __strtoll( const char *, char**, int ); static Q_INT64 read_int_ascii( QDataStream *s ) { - register int n = 0; + int n = 0; char buf[40]; for ( ;; ) { buf[n] = s->device()->getch(); @@ -575,7 +575,7 @@ QDataStream &QDataStream::operator>>( Q_INT16 &i ) } else if ( noswap ) { // no conversion needed dev->readBlock( (char *)&i, sizeof(Q_INT16) ); } else { // swap bytes - register uchar *p = (uchar *)(&i); + uchar *p = (uchar *)(&i); char b[2]; if (dev->readBlock( b, 2 ) >= 2) { *p++ = b[1]; @@ -687,7 +687,7 @@ QDataStream &QDataStream::operator>>( Q_LONG &i ) } else if ( noswap ) { // no conversion needed dev->readBlock( (char *)&i, sizeof(Q_LONG) ); } else { // swap bytes - register uchar *p = (uchar *)(&i); + uchar *p = (uchar *)(&i); char b[sizeof(Q_LONG)]; if (dev->readBlock( b, sizeof(Q_LONG) ) >= (int)sizeof(Q_LONG)) { for ( int j = sizeof(Q_LONG); j; ) { @@ -701,7 +701,7 @@ QDataStream &QDataStream::operator>>( Q_LONG &i ) static double read_double_ascii( QDataStream *s ) { - register int n = 0; + int n = 0; char buf[80]; for ( ;; ) { buf[n] = s->device()->getch(); @@ -759,7 +759,7 @@ QDataStream &QDataStream::operator>>( double &f ) } else if ( noswap ) { // no conversion needed dev->readBlock( (char *)&f, sizeof(double) ); } else { // swap bytes - register uchar *p = (uchar *)(&f); + uchar *p = (uchar *)(&f); char b[8]; if (dev->readBlock( b, 8 ) >= 8) { *p++ = b[7]; @@ -841,7 +841,7 @@ QDataStream &QDataStream::readRawBytes( char *s, uint len ) { CHECK_STREAM_PRECOND if ( printable ) { // printable data - register Q_INT8 *p = (Q_INT8*)s; + Q_INT8 *p = (Q_INT8*)s; if ( version() < 4 ) { while ( len-- ) { Q_INT32 tmp; @@ -918,7 +918,7 @@ QDataStream &QDataStream::operator<<( Q_INT16 i ) } else if ( noswap ) { // no conversion needed dev->writeBlock( (char *)&i, sizeof(Q_INT16) ); } else { // swap bytes - register uchar *p = (uchar *)(&i); + uchar *p = (uchar *)(&i); char b[2]; b[1] = *p++; b[0] = *p; @@ -944,7 +944,7 @@ QDataStream &QDataStream::operator<<( Q_INT32 i ) } else if ( noswap ) { // no conversion needed dev->writeBlock( (char *)&i, sizeof(Q_INT32) ); } else { // swap bytes - register uchar *p = (uchar *)(&i); + uchar *p = (uchar *)(&i); char b[4]; b[3] = *p++; b[2] = *p++; @@ -987,7 +987,7 @@ QDataStream &QDataStream::operator<<( Q_INT64 i ) } else if ( noswap ) { // no conversion needed dev->writeBlock( (char *)&i, sizeof(Q_INT64) ); } else { // swap bytes - register uchar *p = (uchar *)(&i); + uchar *p = (uchar *)(&i); char b[8]; b[7] = *p++; b[6] = *p++; @@ -1027,7 +1027,7 @@ QDataStream &QDataStream::operator<<( Q_LONG i ) } else if ( noswap ) { // no conversion needed dev->writeBlock( (char *)&i, sizeof(Q_LONG) ); } else { // swap bytes - register uchar *p = (uchar *)(&i); + uchar *p = (uchar *)(&i); char b[sizeof(Q_LONG)]; for ( int j = sizeof(Q_LONG); j; ) b[--j] = *p++; @@ -1064,7 +1064,7 @@ QDataStream &QDataStream::operator<<( float f ) if ( noswap ) { // no conversion needed dev->writeBlock( (char *)&g, sizeof(float) ); } else { // swap bytes - register uchar *p = (uchar *)(&g); + uchar *p = (uchar *)(&g); char b[4]; b[3] = *p++; b[2] = *p++; @@ -1094,7 +1094,7 @@ QDataStream &QDataStream::operator<<( double f ) } else if ( noswap ) { // no conversion needed dev->writeBlock( (char *)&f, sizeof(double) ); } else { // swap bytes - register uchar *p = (uchar *)(&f); + uchar *p = (uchar *)(&f); char b[8]; b[7] = *p++; b[6] = *p++; @@ -1163,11 +1163,11 @@ QDataStream &QDataStream::writeRawBytes( const char *s, uint len ) CHECK_STREAM_PRECOND if ( printable ) { // write printable if ( version() < 4 ) { - register char *p = (char *)s; + char *p = (char *)s; while ( len-- ) *this << *p++; } else { - register Q_INT8 *p = (Q_INT8*)s; + Q_INT8 *p = (Q_INT8*)s; while ( len-- ) *this << *p++; } diff --git a/src/tools/qdir_unix.cpp b/src/tools/qdir_unix.cpp index 5c0c393..40ce5e0 100644 --- a/src/tools/qdir_unix.cpp +++ b/src/tools/qdir_unix.cpp @@ -55,6 +55,7 @@ #include <stdlib.h> #include <limits.h> #include <errno.h> +#include <sys/param.h> void QDir::slashify( QString& ) @@ -74,7 +75,7 @@ QString QDir::homeDirPath() QString QDir::canonicalPath() const { QString r; -#if defined(__GLIBC__) && !defined(PATH_MAX) +#if !defined(PATH_MAX) char *cur = ::get_current_dir_name(); if ( cur ) { char *tmp = canonicalize_file_name( QFile::encodeName( dPath ).data() ); @@ -103,7 +104,7 @@ QString QDir::canonicalPath() const // FIXME } } -#endif /* __GLIBC__ && !PATH_MAX */ +#endif /* !PATH_MAX */ return r; } @@ -165,7 +166,7 @@ QString QDir::currentDirPath() struct stat st; if ( ::stat( ".", &st ) == 0 ) { -#if defined(__GLIBC__) && !defined(PATH_MAX) +#if !defined(PATH_MAX) char *currentName = ::get_current_dir_name(); if ( currentName ) { result = QFile::decodeName(currentName); @@ -175,7 +176,7 @@ QString QDir::currentDirPath() char currentName[PATH_MAX+1]; if ( ::getcwd( currentName, PATH_MAX ) ) result = QFile::decodeName(currentName); -#endif /* __GLIBC__ && !PATH_MAX */ +#endif /* !PATH_MAX */ #if defined(QT_DEBUG) if ( result.isNull() ) qWarning( "QDir::currentDirPath: getcwd() failed" ); diff --git a/src/tools/qfileinfo_unix.cpp b/src/tools/qfileinfo_unix.cpp index cddb8f9..0ca0917 100644 --- a/src/tools/qfileinfo_unix.cpp +++ b/src/tools/qfileinfo_unix.cpp @@ -133,7 +133,7 @@ QString QFileInfo::readLink() const if ( !isSymLink() ) return QString(); #if defined(Q_OS_UNIX) && !defined(Q_OS_OS2EMX) -#if defined(__GLIBC__) && !defined(PATH_MAX) +#if !defined(PATH_MAX) int size = 256; char *s = NULL, *s2; @@ -165,7 +165,7 @@ QString QFileInfo::readLink() const s[len] = '\0'; return QFile::decodeName(s); } -#endif /* __GLIBC__ && !PATH_MAX */ +#endif /* !PATH_MAX */ #endif /* Q_OS_UNIX && !Q_OS_OS2EMX */ #if !defined(QWS) && defined(Q_OS_MAC) { diff --git a/src/tools/qgarray.cpp b/src/tools/qgarray.cpp index 8a27510..495d89a 100644 --- a/src/tools/qgarray.cpp +++ b/src/tools/qgarray.cpp @@ -324,17 +324,17 @@ bool QGArray::fill( const char *d, int len, uint sz ) if ( sz == 1 ) // 8 bit elements memset( data(), *d, len ); else if ( sz == 4 ) { // 32 bit elements - register Q_INT32 *x = (Q_INT32*)data(); + Q_INT32 *x = (Q_INT32*)data(); Q_INT32 v = *((Q_INT32*)d); while ( len-- ) *x++ = v; } else if ( sz == 2 ) { // 16 bit elements - register Q_INT16 *x = (Q_INT16*)data(); + Q_INT16 *x = (Q_INT16*)data(); Q_INT16 v = *((Q_INT16*)d); while ( len-- ) *x++ = v; } else { // any other size elements - register char *x = data(); + char *x = data(); while ( len-- ) { // more complicated memcpy( x, d, sz ); x += sz; @@ -400,7 +400,7 @@ QGArray &QGArray::duplicate( const QGArray &a ) if ( a.shd == shd ) { // a.duplicate(a) ! if ( shd->count > 1 ) { shd->count--; - register array_data *n = newData(); + array_data *n = newData(); Q_CHECK_PTR( n ); if ( (n->len=shd->len) ) { n->data = NEW(char,n->len); @@ -605,11 +605,11 @@ int QGArray::find( const char *d, uint index, uint sz ) const #endif return -1; } - register uint i; + uint i; uint ii; switch ( sz ) { case 1: { // 8 bit elements - register char *x = data() + index; + char *x = data() + index; char v = *d; for ( i=index; i<shd->len; i++ ) { if ( *x++ == v ) @@ -619,7 +619,7 @@ int QGArray::find( const char *d, uint index, uint sz ) const } break; case 2: { // 16 bit elements - register Q_INT16 *x = (Q_INT16*)(data() + index); + Q_INT16 *x = (Q_INT16*)(data() + index); Q_INT16 v = *((Q_INT16*)d); for ( i=index; i<shd->len; i+=2 ) { if ( *x++ == v ) @@ -629,7 +629,7 @@ int QGArray::find( const char *d, uint index, uint sz ) const } break; case 4: { // 32 bit elements - register Q_INT32 *x = (Q_INT32*)(data() + index); + Q_INT32 *x = (Q_INT32*)(data() + index); Q_INT32 v = *((Q_INT32*)d); for ( i=index; i<shd->len; i+=4 ) { if ( *x++ == v ) @@ -659,11 +659,11 @@ int QGArray::find( const char *d, uint index, uint sz ) const int QGArray::contains( const char *d, uint sz ) const { - register uint i = shd->len; + uint i = shd->len; int count = 0; switch ( sz ) { case 1: { // 8 bit elements - register char *x = data(); + char *x = data(); char v = *d; while ( i-- ) { if ( *x++ == v ) @@ -672,7 +672,7 @@ int QGArray::contains( const char *d, uint sz ) const } break; case 2: { // 16 bit elements - register Q_INT16 *x = (Q_INT16*)data(); + Q_INT16 *x = (Q_INT16*)data(); Q_INT16 v = *((Q_INT16*)d); i /= 2; while ( i-- ) { @@ -682,7 +682,7 @@ int QGArray::contains( const char *d, uint sz ) const } break; case 4: { // 32 bit elements - register Q_INT32 *x = (Q_INT32*)data(); + Q_INT32 *x = (Q_INT32*)data(); Q_INT32 v = *((Q_INT32*)d); i /= 4; while ( i-- ) { diff --git a/src/tools/qgcache.cpp b/src/tools/qgcache.cpp index 3c70d9f..51542e7 100644 --- a/src/tools/qgcache.cpp +++ b/src/tools/qgcache.cpp @@ -589,7 +589,7 @@ bool QGCache::makeRoomFor( int cost, int priority ) return FALSE; // than maximum cost if ( priority == -1 ) priority = 32767; - register QCacheItem *ci = lruList->last(); + QCacheItem *ci = lruList->last(); int cntCost = 0; int dumps = 0; // number of items to dump while ( cntCost < cost && ci && ci->skipPriority <= priority ) { diff --git a/src/tools/qgdict.cpp b/src/tools/qgdict.cpp index b9c1810..1ad6da9 100644 --- a/src/tools/qgdict.cpp +++ b/src/tools/qgdict.cpp @@ -95,7 +95,7 @@ int QGDict::hashKeyString( const QString &key ) qWarning( "QGDict::hashKeyString: Invalid null key" ); #endif int i; - register uint h=0; + uint h=0; uint g; const QChar *p = key.unicode(); if ( cases ) { // case sensitive @@ -129,8 +129,8 @@ int QGDict::hashKeyAscii( const char *key ) if ( key == 0 ) qWarning( "QGDict::hashAsciiKey: Invalid null key" ); #endif - register const char *k = key; - register uint h=0; + const char *k = key; + uint h=0; uint g; if ( cases ) { // case sensitive while ( *k ) { @@ -1080,8 +1080,8 @@ QPtrCollection::Item QGDictIterator::toFirst() curNode = 0; return 0; } - register uint i = 0; - register QBaseBucket **v = dict->vec; + uint i = 0; + QBaseBucket **v = dict->vec; while ( !(*v++) ) i++; curNode = dict->vec[i]; @@ -1125,8 +1125,8 @@ QPtrCollection::Item QGDictIterator::operator++() return 0; curNode = curNode->getNext(); if ( !curNode ) { // no next bucket - register uint i = curIndex + 1; // look from next vec element - register QBaseBucket **v = &dict->vec[i]; + uint i = curIndex + 1; // look from next vec element + QBaseBucket **v = &dict->vec[i]; while ( i < dict->size() && !(*v++) ) i++; if ( i == dict->size() ) { // nothing found diff --git a/src/tools/qglist.cpp b/src/tools/qglist.cpp index fb94427..ef4c051 100644 --- a/src/tools/qglist.cpp +++ b/src/tools/qglist.cpp @@ -350,7 +350,7 @@ QLNode *QGList::locate( uint index ) curNode = firstNode; curIndex = 0; } - register QLNode *node; + QLNode *node; int distance = index - curIndex; // node distance to cur node bool forward; // direction to traverse @@ -405,7 +405,7 @@ void QGList::inSort( QPtrCollection::Item d ) //mutex->lock(); #endif int index = 0; - register QLNode *n = firstNode; + QLNode *n = firstNode; while ( n && compareItems(n->data,d) < 0 ){ // find position in list n = n->next; index++; @@ -426,7 +426,7 @@ void QGList::prepend( QPtrCollection::Item d ) #if defined(QT_THREAD_SUPPORT) //mutex->lock(); #endif - register QLNode *n = new QLNode( newItem(d) ); + QLNode *n = new QLNode( newItem(d) ); Q_CHECK_PTR( n ); n->prev = 0; if ( (n->next = firstNode) ) // list is not empty @@ -451,7 +451,7 @@ void QGList::append( QPtrCollection::Item d ) #if defined(QT_THREAD_SUPPORT) //mutex->lock(); #endif - register QLNode *n = new QLNode( newItem(d) ); + QLNode *n = new QLNode( newItem(d) ); Q_CHECK_PTR( n ); n->next = 0; if ( (n->prev = lastNode) ) { // list is not empty @@ -500,7 +500,7 @@ bool QGList::insertAt( uint index, QPtrCollection::Item d ) return FALSE; } QLNode *prevNode = nextNode->prev; - register QLNode *n = new QLNode( newItem(d) ); + QLNode *n = new QLNode( newItem(d) ); Q_CHECK_PTR( n ); nextNode->prev = n; Q_ASSERT( (!((curIndex > 0) && (!prevNode))) ); @@ -564,7 +564,7 @@ QLNode *QGList::unlink() #endif return 0; } - register QLNode *n = curNode; // unlink this node + QLNode *n = curNode; // unlink this node if ( n == firstNode ) { // removing first node ? if ( (firstNode = n->next) ) { firstNode->prev = 0; @@ -881,7 +881,7 @@ void QGList::clear() #if defined(QT_THREAD_SUPPORT) //mutex->lock(); #endif - register QLNode *n = firstNode; + QLNode *n = firstNode; firstNode = lastNode = curNode = 0; // initialize list numNodes = 0; @@ -914,7 +914,7 @@ int QGList::findRef( QPtrCollection::Item d, bool fromStart ) #if defined(QT_THREAD_SUPPORT) //mutex->lock(); #endif - register QLNode *n; + QLNode *n; int index; if ( fromStart ) { // start from first node n = firstNode; @@ -946,7 +946,7 @@ int QGList::find( QPtrCollection::Item d, bool fromStart ) #if defined(QT_THREAD_SUPPORT) //mutex->lock(); #endif - register QLNode *n; + QLNode *n; int index; if ( fromStart ) { // start from first node n = firstNode; @@ -977,7 +977,7 @@ uint QGList::containsRef( QPtrCollection::Item d ) const #if defined(QT_THREAD_SUPPORT) //mutex->lock(); #endif - register QLNode *n = firstNode; + QLNode *n = firstNode; uint count = 0; while ( n ) { // for all nodes... if ( n->data == d ) // count # exact matches @@ -1000,7 +1000,7 @@ uint QGList::contains( QPtrCollection::Item d ) const #if defined(QT_THREAD_SUPPORT) //mutex->lock(); #endif - register QLNode *n = firstNode; + QLNode *n = firstNode; uint count = 0; QGList *that = (QGList*)this; // mutable for compareItems() while ( n ) { // for all nodes... @@ -1167,7 +1167,7 @@ void QGList::toVector( QGVector *vector ) const #endif return; } - register QLNode *n = firstNode; + QLNode *n = firstNode; uint i = 0; while ( n ) { vector->insert( i, n->data ); diff --git a/src/tools/qglobal.cpp b/src/tools/qglobal.cpp index 47986e1..6d3d7e4 100644 --- a/src/tools/qglobal.cpp +++ b/src/tools/qglobal.cpp @@ -41,6 +41,7 @@ #include "qplatformdefs.h" #include "qasciidict.h" +#include <qdatetime.h> #include <limits.h> #include <stdio.h> #include <limits.h> @@ -464,46 +465,27 @@ static void mac_default_handler( const char *msg ) #endif - -void qDebug( const char *msg, ... ) +void handle_buffer(const char *buf, QtMsgType msgType) { - char buf[QT_BUFFER_LENGTH]; - va_list ap; - va_start( ap, msg ); // use variable arg list -#if defined(QT_VSNPRINTF) - QT_VSNPRINTF( buf, QT_BUFFER_LENGTH, msg, ap ); -#else - vsprintf( buf, msg, ap ); -#endif - va_end( ap ); if ( handler ) { - (*handler)( QtDebugMsg, buf ); - } else { + (*handler)( msgType, buf ); + } else if (msgType == QtFatalMsg) { #if defined(Q_CC_MWERKS) mac_default_handler(buf); -#elif defined(Q_OS_TEMP) - QString fstr( buf ); - OutputDebugString( (fstr + "\n").ucs2() ); #else fprintf( stderr, "%s\n", buf ); // add newline #endif - } -} - -// copied... this looks really bad. -void debug( const char *msg, ... ) -{ - char buf[QT_BUFFER_LENGTH]; - va_list ap; - va_start( ap, msg ); // use variable arg list -#if defined(QT_VSNPRINTF) - QT_VSNPRINTF( buf, QT_BUFFER_LENGTH, msg, ap ); +#if defined(Q_OS_UNIX) && defined(QT_DEBUG) + abort(); // trap; generates core dump +#elif defined(Q_OS_TEMP) && defined(QT_DEBUG) + QString fstr; + fstr.sprintf( "%s:%s %s %s\n", __FILE__, __LINE__, QT_VERSION_STR, buf ); + OutputDebugString( fstr.ucs2() ); +#elif defined(_CRT_ERROR) && defined(_DEBUG) + _CrtDbgReport( _CRT_ERROR, __FILE__, __LINE__, QT_VERSION_STR, buf ); #else - vsprintf( buf, msg, ap ); + exit( 1 ); // goodbye cruel world #endif - va_end( ap ); - if ( handler ) { - (*handler)( QtDebugMsg, buf ); } else { #if defined(Q_CC_MWERKS) mac_default_handler(buf); @@ -516,123 +498,109 @@ void debug( const char *msg, ... ) } } -void qWarning( const char *msg, ... ) +void qDebug( const QString &msg ) { char buf[QT_BUFFER_LENGTH]; - va_list ap; - va_start( ap, msg ); // use variable arg list -#if defined(QT_VSNPRINTF) - QT_VSNPRINTF( buf, QT_BUFFER_LENGTH, msg, ap ); -#else - vsprintf( buf, msg, ap ); -#endif - va_end( ap ); - if ( handler ) { - (*handler)( QtWarningMsg, buf ); - } else { -#if defined(Q_CC_MWERKS) - mac_default_handler(buf); -#elif defined(Q_OS_TEMP) - QString fstr( buf ); - OutputDebugString( (fstr + "\n").ucs2() ); -#else - fprintf( stderr, "%s\n", buf ); // add newline -#endif + strcpy( buf, QDateTime::currentDateTime().toString("[yyyy/MM/dd hh:mm:ss.zzz] ").local8Bit() ); + int len = strlen(buf); + strncpy( &buf[len], msg.local8Bit(), QT_BUFFER_LENGTH - len - 1 ); + len += msg.length(); + if (len >= QT_BUFFER_LENGTH) { + len = QT_BUFFER_LENGTH - 1; } + buf[len] = '\0'; + handle_buffer(buf, QtDebugMsg); } - -// again, copied -void warning( const char *msg, ... ) +void qDebug( const char *msg, ... ) { char buf[QT_BUFFER_LENGTH]; + strcpy( buf, QDateTime::currentDateTime().toString("[yyyy/MM/dd hh:mm:ss.zzz] ").local8Bit() ); + int len = strlen(buf); va_list ap; va_start( ap, msg ); // use variable arg list #if defined(QT_VSNPRINTF) - QT_VSNPRINTF( buf, QT_BUFFER_LENGTH, msg, ap ); + QT_VSNPRINTF( &buf[len], QT_BUFFER_LENGTH, msg, ap ); #else - vsprintf( buf, msg, ap ); + vsprintf( &buf[len], msg, ap ); #endif va_end( ap ); - if ( handler ) { - (*handler)( QtWarningMsg, buf ); - } else { -#if defined(Q_CC_MWERKS) - mac_default_handler(buf); -#elif defined(Q_OS_TEMP) - QString fstr( buf ); - OutputDebugString( (fstr + "\n").ucs2() ); -#else - fprintf( stderr, "%s\n", buf ); // add newline -#endif + handle_buffer(buf, QtDebugMsg); +} + +void qDebug( const QCString &s ) +{ + qDebug(s.data()); +} + +void qWarning( const QString &msg ) +{ + char buf[QT_BUFFER_LENGTH]; + strcpy( buf, QDateTime::currentDateTime().toString("[yyyy/MM/dd hh:mm:ss.zzz] ").local8Bit() ); + int len = strlen(buf); + strncpy( &buf[len], msg.local8Bit(), QT_BUFFER_LENGTH - len - 1 ); + len += msg.length(); + if (len >= QT_BUFFER_LENGTH) { + len = QT_BUFFER_LENGTH - 1; } + buf[len] = '\0'; + handle_buffer(buf, QtWarningMsg); } -void qFatal( const char *msg, ... ) +void qWarning( const char *msg, ... ) { char buf[QT_BUFFER_LENGTH]; + strcpy( buf, QDateTime::currentDateTime().toString("[yyyy/MM/dd hh:mm:ss.zzz] ").local8Bit() ); + int len = strlen(buf); va_list ap; va_start( ap, msg ); // use variable arg list #if defined(QT_VSNPRINTF) - QT_VSNPRINTF( buf, QT_BUFFER_LENGTH, msg, ap ); + QT_VSNPRINTF( &buf[len], QT_BUFFER_LENGTH, msg, ap ); #else - vsprintf( buf, msg, ap ); + vsprintf( &buf[len], msg, ap ); #endif va_end( ap ); - if ( handler ) { - (*handler)( QtFatalMsg, buf ); - } else { -#if defined(Q_CC_MWERKS) - mac_default_handler(buf); -#else - fprintf( stderr, "%s\n", buf ); // add newline -#endif -#if defined(Q_OS_UNIX) && defined(QT_DEBUG) - abort(); // trap; generates core dump -#elif defined(Q_OS_TEMP) && defined(QT_DEBUG) - QString fstr; - fstr.sprintf( "%s:%s %s %s\n", __FILE__, __LINE__, QT_VERSION_STR, buf ); - OutputDebugString( fstr.ucs2() ); -#elif defined(_CRT_ERROR) && defined(_DEBUG) - _CrtDbgReport( _CRT_ERROR, __FILE__, __LINE__, QT_VERSION_STR, buf ); -#else - exit( 1 ); // goodbye cruel world -#endif + handle_buffer(buf, QtWarningMsg); +} + +void qWarning( const QCString &s ) +{ + qWarning(s.data()); +} + +void qFatal( const QString &msg ) +{ + char buf[QT_BUFFER_LENGTH]; + strcpy( buf, QDateTime::currentDateTime().toString("[yyyy/MM/dd hh:mm:ss.zzz] ").local8Bit() ); + int len = strlen(buf); + strncpy( &buf[len], msg.local8Bit(), QT_BUFFER_LENGTH - len - 1 ); + len += msg.length(); + if (len >= QT_BUFFER_LENGTH) { + len = QT_BUFFER_LENGTH - 1; } + buf[len] = '\0'; + handle_buffer(buf, QtFatalMsg); } -// yet again, copied -void fatal( const char *msg, ... ) +void qFatal( const char *msg, ... ) { char buf[QT_BUFFER_LENGTH]; + strcpy( buf, QDateTime::currentDateTime().toString("[yyyy/MM/dd hh:mm:ss.zzz] ").local8Bit() ); + int len = strlen(buf); va_list ap; va_start( ap, msg ); // use variable arg list #if defined(QT_VSNPRINTF) - QT_VSNPRINTF( buf, QT_BUFFER_LENGTH, msg, ap ); + QT_VSNPRINTF( &buf[len], QT_BUFFER_LENGTH, msg, ap ); #else - vsprintf( buf, msg, ap ); + vsprintf( &buf[len], msg, ap ); #endif va_end( ap ); - if ( handler ) { - (*handler)( QtFatalMsg, buf ); - } else { -#if defined(Q_CC_MWERKS) - mac_default_handler(buf); -#else - fprintf( stderr, "%s\n", buf ); // add newline -#endif -#if defined(Q_OS_UNIX) && defined(QT_DEBUG) - abort(); // trap; generates core dump -#elif defined(Q_OS_TEMP) && defined(QT_DEBUG) - QString fstr; - fstr.sprintf( "%s:%s %s %s\n", __FILE__, __LINE__, QT_VERSION_STR, buf ); - OutputDebugString( fstr.ucs2() ); -#elif defined(_CRT_ERROR) && defined(_DEBUG) - _CrtDbgReport( _CRT_ERROR, __FILE__, __LINE__, QT_VERSION_STR, buf ); -#else - exit( 1 ); // goodbye cruel world -#endif - } + handle_buffer(buf, QtFatalMsg); +} + +void qFatal( const QCString &s ) +{ + qWarning(s.data()); } /*! diff --git a/src/tools/qglobal.h b/src/tools/qglobal.h index fac387c..a0e75ab 100644 --- a/src/tools/qglobal.h +++ b/src/tools/qglobal.h @@ -741,8 +741,9 @@ typedef Q_UINT64 Q_ULLONG; // unsigned long long // Data stream functions is provided by many classes (defined in qdatastream.h) // +class QCString; class QDataStream; - +class QString; // // Feature subsetting @@ -957,19 +958,25 @@ Q_EXPORT int qWinVersion(); #endif -Q_EXPORT void qDebug( const char *, ... ) // print debug message +Q_EXPORT void qDebug( const QString& ); // print debug message +Q_EXPORT void qDebug( const QCString& ); // print debug message +Q_EXPORT void qDebug( const char *, ... ) // print debug message #if defined(Q_CC_GNU) && !defined(__INSURE__) __attribute__ ((format (printf, 1, 2))) #endif ; -Q_EXPORT void qWarning( const char *, ... ) // print warning message +Q_EXPORT void qWarning( const QString& ); // print warning message +Q_EXPORT void qWarning( const QCString& ); // print warning message +Q_EXPORT void qWarning( const char *, ... ) // print warning message #if defined(Q_CC_GNU) && !defined(__INSURE__) __attribute__ ((format (printf, 1, 2))) #endif ; -Q_EXPORT void qFatal( const char *, ... ) // print fatal message and exit +Q_EXPORT void qFatal( const QString& ); // print fatal message and exit +Q_EXPORT void qFatal( const QCString& ); // print fatal message and exit +Q_EXPORT void qFatal( const char *, ... ) // print fatal message and exit #if defined(Q_CC_GNU) __attribute__ ((format (printf, 1, 2))) #endif @@ -1037,6 +1044,7 @@ Q_EXPORT const char *qInstallPathPlugins(); Q_EXPORT const char *qInstallPathData(); Q_EXPORT const char *qInstallPathTranslations(); Q_EXPORT const char *qInstallPathSysconf(); +Q_EXPORT const char *qInstallPathShare(); #endif /* __cplusplus */ diff --git a/src/tools/qgvector.cpp b/src/tools/qgvector.cpp index 154d07d..c468896 100644 --- a/src/tools/qgvector.cpp +++ b/src/tools/qgvector.cpp @@ -388,8 +388,8 @@ void QGVector::sort() // sort vector { if ( count() == 0 ) // no elements return; - register Item *start = &vec[0]; - register Item *end = &vec[len-1]; + Item *start = &vec[0]; + Item *end = &vec[len-1]; Item tmp; for (;;) { // put all zero elements behind while ( start < end && *start != 0 ) diff --git a/src/tools/qlocale.cpp b/src/tools/qlocale.cpp index a20ea83..e610d63 100644 --- a/src/tools/qlocale.cpp +++ b/src/tools/qlocale.cpp @@ -163,8 +163,8 @@ static char *_qdtoa(double d, int mode, int ndigits, int *decpt, int *sign, char **rve, char **digits_str); static double qstrtod(const char *s00, char const **se, bool *ok); #endif -static Q_LLONG qstrtoll(const char *nptr, const char **endptr, register int base, bool *ok); -static Q_ULLONG qstrtoull(const char *nptr, const char **endptr, register int base, bool *ok); +static Q_LLONG qstrtoll(const char *nptr, const char **endptr, int base, bool *ok); +static Q_ULLONG qstrtoull(const char *nptr, const char **endptr, int base, bool *ok); static inline bool compareBits(double d1, double d2) { @@ -3797,13 +3797,13 @@ Q_ULLONG QLocalePrivate::stringToUnsLongLong(QString num, int base, * Ignores `locale' stuff. Assumes that the upper and lower case * alphabets and digits are each contiguous. */ -static Q_ULLONG qstrtoull(const char *nptr, const char **endptr, register int base, bool *ok) +static Q_ULLONG qstrtoull(const char *nptr, const char **endptr, int base, bool *ok) { - register const char *s = nptr; - register Q_ULLONG acc; - register unsigned char c; - register Q_ULLONG qbase, cutoff; - register int neg, any, cutlim; + const char *s = nptr; + Q_ULLONG acc; + unsigned char c; + Q_ULLONG qbase, cutoff; + int neg, any, cutlim; if (ok != 0) *ok = TRUE; @@ -3878,13 +3878,13 @@ static Q_ULLONG qstrtoull(const char *nptr, const char **endptr, register int ba * Ignores `locale' stuff. Assumes that the upper and lower case * alphabets and digits are each contiguous. */ -static Q_LLONG qstrtoll(const char *nptr, const char **endptr, register int base, bool *ok) +static Q_LLONG qstrtoll(const char *nptr, const char **endptr, int base, bool *ok) { - register const char *s; - register Q_ULLONG acc; - register unsigned char c; - register Q_ULLONG qbase, cutoff; - register int neg, any, cutlim; + const char *s; + Q_ULLONG acc; + unsigned char c; + Q_ULLONG qbase, cutoff; + int neg, any, cutlim; if (ok != 0) *ok = TRUE; diff --git a/src/tools/qmutex_unix.cpp b/src/tools/qmutex_unix.cpp index fde558f..8f40293 100644 --- a/src/tools/qmutex_unix.cpp +++ b/src/tools/qmutex_unix.cpp @@ -72,7 +72,6 @@ typedef pthread_mutex_t Q_MUTEX_T; #include "qmutex_p.h" #include <errno.h> -#include <stdint.h> #include <string.h> // Private class declarations @@ -106,7 +105,8 @@ public: int level(); int count; - unsigned long owner; + pthread_t owner; + bool is_owned; pthread_mutex_t handle2; }; #endif // !Q_RECURSIVE_MUTEX_TYPE @@ -207,7 +207,7 @@ int QRealMutexPrivate::level() #ifndef Q_RECURSIVE_MUTEX_TYPE QRecursiveMutexPrivate::QRecursiveMutexPrivate() - : count(0), owner(0) + : count(0), is_owned(false) { pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); @@ -244,14 +244,15 @@ void QRecursiveMutexPrivate::lock() { pthread_mutex_lock(&handle2); - if (count > 0 && owner == (unsigned long) pthread_self()) { + if (count > 0 && pthread_equal(owner, pthread_self()) ) { count++; } else { pthread_mutex_unlock(&handle2); pthread_mutex_lock(&handle); pthread_mutex_lock(&handle2); count = 1; - owner = (unsigned long) pthread_self(); + owner = pthread_self(); + is_owned = true; } pthread_mutex_unlock(&handle2); @@ -261,7 +262,7 @@ void QRecursiveMutexPrivate::unlock() { pthread_mutex_lock(&handle2); - if (owner == (unsigned long) pthread_self()) { + if ( is_owned && pthread_equal(owner, pthread_self()) ) { // do nothing if the count is already 0... to reflect the behaviour described // in the docs if (count && (--count) < 1) { @@ -271,8 +272,6 @@ void QRecursiveMutexPrivate::unlock() } else { #ifdef QT_CHECK_RANGE qWarning("QMutex::unlock: unlock from different thread than locker"); - qWarning(" was locked by %d, unlock attempt from %lu", - (int)owner, (uintptr_t)pthread_self()); #endif } @@ -309,7 +308,7 @@ bool QRecursiveMutexPrivate::trylock() pthread_mutex_lock(&handle2); - if ( count > 0 && owner == (unsigned long) pthread_self() ) { + if ( count > 0 && pthread_equal(owner, pthread_self()) ) { count++; } else { int code = pthread_mutex_trylock(&handle); @@ -323,7 +322,8 @@ bool QRecursiveMutexPrivate::trylock() ret = FALSE; } else { count = 1; - owner = (unsigned long) pthread_self(); + owner = pthread_self(); + is_owned = true; } } diff --git a/src/tools/qstring.cpp b/src/tools/qstring.cpp index 143f80c..f9f3faa 100644 --- a/src/tools/qstring.cpp +++ b/src/tools/qstring.cpp @@ -576,7 +576,7 @@ bool QChar::isSymbol() const int QChar::digitValue() const { #ifndef QT_NO_UNICODETABLES - register int pos = QUnicodeTables::decimal_info[row()]; + int pos = QUnicodeTables::decimal_info[row()]; if( !pos ) return -1; return QUnicodeTables::decimal_info[(pos<<8) + cell()]; @@ -654,7 +654,7 @@ static QString shared_decomp; const QString &QChar::decomposition() const { #ifndef QT_NO_UNICODETABLES - register int pos = QUnicodeTables::decomposition_info[row()]; + int pos = QUnicodeTables::decomposition_info[row()]; if(!pos) return QString::null; pos = QUnicodeTables::decomposition_info[(pos<<8)+cell()]; @@ -681,7 +681,7 @@ const QString &QChar::decomposition() const QChar::Decomposition QChar::decompositionTag() const { #ifndef QT_NO_UNICODETABLES - register int pos = QUnicodeTables::decomposition_info[row()]; + int pos = QUnicodeTables::decomposition_info[row()]; if(!pos) return QChar::Single; pos = QUnicodeTables::decomposition_info[(pos<<8)+cell()]; @@ -961,7 +961,7 @@ private: QLigature::QLigature( QChar c ) { - register int pos = QUnicodeTables::ligature_info[c.row()]; + int pos = QUnicodeTables::ligature_info[c.row()]; if( !pos ) ligatures = 0; else @@ -2528,7 +2528,7 @@ QString QString::multiArg( int numArgs, const QString& a1, const QString& a2, int digitUsed[10]; int argForDigit[10]; }; - register const QChar *uc = d->unicode; + const QChar *uc = d->unicode; const QString *args[4]; const int len = (int) length(); const int end = len - 1; @@ -3018,7 +3018,7 @@ int QString::find( QChar c, int index, bool cs ) const index += l; if ( (uint)index >= l ) return -1; - register const QChar *uc = unicode()+index; + const QChar *uc = unicode()+index; const QChar *end = unicode() + l; if ( cs ) { while ( uc < end && *uc != c ) @@ -3041,7 +3041,7 @@ int QString::find( QChar c, int index, bool cs ) const static void bm_init_skiptable( const QString &pattern, uint *skiptable, bool cs ) { int i = 0; - register uint *st = skiptable; + uint *st = skiptable; int l = pattern.length(); while ( i++ < 0x100/8 ) { *(st++) = l; @@ -3078,7 +3078,7 @@ static int bm_find( const QString &str, int index, const QString &pattern, uint const uint pl = pattern.length(); const uint pl_minus_one = pl - 1; - register const QChar *current = uc + index + pl_minus_one; + const QChar *current = uc + index + pl_minus_one; const QChar *end = uc + l; if ( cs ) { while ( current < end ) { @@ -3269,7 +3269,7 @@ int QString::findRev( QChar c, int index, bool cs ) const if ( (uint)index >= l ) return -1; const QChar *end = unicode(); - register const QChar *uc = end + index; + const QChar *uc = end + index; if ( cs ) { while ( uc >= end && *uc != c ) uc--; @@ -3836,7 +3836,7 @@ QString QString::mid( uint index, uint len ) const len = slen - index; if ( index == 0 && len == slen ) return *this; - register const QChar *p = unicode()+index; + const QChar *p = unicode()+index; QString s( len, TRUE ); memcpy( s.d->unicode, p, len * sizeof(QChar) ); s.d->len = len; @@ -3938,7 +3938,7 @@ QString QString::rightJustify( uint width, QChar fill, bool truncate ) const QString QString::lower() const { int l = length(); - register QChar *p = d->unicode; + QChar *p = d->unicode; while ( l ) { if ( *p != ::lower(*p) ) { QString s( *this ); @@ -3971,7 +3971,7 @@ QString QString::lower() const QString QString::upper() const { int l = length(); - register QChar *p = d->unicode; + QChar *p = d->unicode; while ( l ) { if ( *p != ::upper(*p) ) { QString s( *this ); @@ -4012,7 +4012,7 @@ QString QString::stripWhiteSpace() const { if ( isEmpty() ) // nothing to do return *this; - register const QChar *s = unicode(); + const QChar *s = unicode(); if ( !s->isSpace() && !s[length()-1].isSpace() ) return *this; @@ -5999,6 +5999,14 @@ void QString::setSecurityUnPaged(bool lock) { */ QCString QString::utf8() const { + if (!d->cString) { + d->cString = new QCString(""); + } + if(d == shared_null) + { + return *d->cString; + } + int l = length(); int rlen = l*3+1; QCString rstr(rlen); @@ -6043,11 +6051,8 @@ QCString QString::utf8() const ++ch; } rstr.truncate( cursor - (uchar*)rstr.data() ); - if (!d->cString) { - d->cString = new QCString; - } *d->cString = rstr; - return rstr; + return *d->cString; } static QChar *addOne(QChar *qch, QString &str) @@ -6249,7 +6254,11 @@ QString QString::fromLatin1( const char* chars, int len ) QCString QString::local8Bit() const { if (!d->cString) { - d->cString = new QCString; + d->cString = new QCString(""); + } + if(d == shared_null) + { + return *d->cString; } #ifdef QT_NO_TEXTCODEC *d->cString = QCString(latin1()); diff --git a/src/tools/qtextstream.cpp b/src/tools/qtextstream.cpp index eb56eec..ede0163 100644 --- a/src/tools/qtextstream.cpp +++ b/src/tools/qtextstream.cpp @@ -1869,7 +1869,7 @@ QTextStream &QTextStream::output_int( int format, unsigned long long n, bool neg static const char hexdigits_upper[] = "0123456789ABCDEF"; CHECK_STREAM_PRECOND char buf[76]; - register char *p; + char *p; int len; const char *hexdigits; @@ -2099,7 +2099,7 @@ QTextStream &QTextStream::operator<<( double f ) f_char = (flags() & uppercase) ? 'E' : 'e'; else f_char = (flags() & uppercase) ? 'G' : 'g'; - register char *fs = format; // generate format string + char *fs = format; // generate format string *fs++ = '%'; // "%.<prec>l<f_char>" *fs++ = '.'; int prec = precision(); diff --git a/src/tools/qunicodetables.cpp b/src/tools/qunicodetables.cpp index bfbc778..f0941dd 100644 --- a/src/tools/qunicodetables.cpp +++ b/src/tools/qunicodetables.cpp @@ -47,7 +47,24 @@ * ------------------------------------------------------------------------- */ -/* Perl script to generate (run perl -x tools/qstringdata.cpp) +/* ------------------------------------------------------------------------- +2021-04-12 + +Data between + +// START OF GENERATED DATA +and +// END OF GENERATED DATA + +regenerated by adding new character data to UnicodeData-3.2.0.txt[*] +with unedited ArabicShaping-3.2.0.txt and LineBreak-3.2.0.txt +and using perl-5.10 + +[*] https://unicode.org/Public/3.2-Update/ + * ------------------------------------------------------------------------- + */ + +/* Perl script to generate (run perl -x tools/qunicodetables.cpp) #!perl @@ -146,7 +163,7 @@ sub readUnicodeDataLine { # Read data into hashes... # -open IN, "UnicodeData.txt"; +open IN, "UnicodeData-3.2.0.txt"; $position = 1; while (<IN>) { @fields = split /;/; @@ -165,7 +182,7 @@ while (<IN>) { } } -open IN2, "ArabicShaping.txt"; +open IN2, "ArabicShaping-3.2.0.txt"; $position = 1; while (<IN2>) { @fields = split /;/; @@ -177,7 +194,7 @@ while (<IN2>) { $joining{$code}=$join; } -open IN3, "LineBreak.txt"; +open IN3, "LineBreak-3.2.0.txt"; $position = 1; while (<IN3>) { @fields = split /;/; @@ -690,7 +707,7 @@ const Q_UINT8 QUnicodeTables::unicode_info[] = { 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, + 0, 15, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, @@ -746,7 +763,7 @@ const Q_UINT8 QUnicodeTables::unicode_info[] = { 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 16, 16, 16, 16, 15, 16, 27, 0, - 0, 0, 0, 0, 0, 0, 0, 0, + 0, 15, 15, 16, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, @@ -1460,7 +1477,7 @@ const Q_UINT8 QUnicodeTables::unicode_info[] = { 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 16, 16, - 16, 16, 16, 16, 0, 0, 0, 0, + 16, 16, 16, 16, 0, 0, 15, 0, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, @@ -2746,7 +2763,6 @@ const Q_UINT16 QUnicodeTables::decomposition_map[] = { 16, 0x03D6, 0x03C0, 0, 16, 0x03F0, 0x03BA, 0, 16, 0x03F1, 0x03C1, 0, - 16, 0x03F2, 0x03C2, 0, 16, 0x03F4, 0x0398, 0, 16, 0x03F5, 0x03B5, 0, 1, 0x0400, 0x0415, 0x0300, 0, @@ -6166,24 +6182,24 @@ const Q_UINT16 QUnicodeTables::decomposition_info[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1676, 1680, 1684, 0, 1688, 1692, 0, 0, + 1676, 1680, 0, 0, 1684, 1688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1696, 1701, 0, 1706, 0, 0, 0, 1711, - 0, 0, 0, 0, 1716, 1721, 1726, 0, + 1692, 1697, 0, 1702, 0, 0, 0, 1707, + 0, 0, 0, 0, 1712, 1717, 1722, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1731, 0, 0, 0, 0, 0, 0, + 0, 1727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1736, 0, 0, 0, 0, 0, 0, + 0, 1732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1741, 1746, 0, 1751, 0, 0, 0, 1756, - 0, 0, 0, 0, 1761, 1766, 1771, 0, + 1737, 1742, 0, 1747, 0, 0, 0, 1752, + 0, 0, 0, 0, 1757, 1762, 1767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1776, 1781, + 0, 0, 0, 0, 0, 0, 1772, 1777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6193,14 +6209,14 @@ const Q_UINT16 QUnicodeTables::decomposition_info[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1786, 1791, 0, 0, 0, 0, 0, + 0, 1782, 1787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1796, 1801, 1806, 1811, 0, 0, 1816, 1821, - 0, 0, 1826, 1831, 1836, 1841, 1846, 1851, - 0, 0, 1856, 1861, 1866, 1871, 1876, 1881, - 0, 0, 1886, 1891, 1896, 1901, 1906, 1911, - 1916, 1921, 1926, 1931, 1936, 1941, 0, 0, - 1946, 1951, 0, 0, 0, 0, 0, 0, + 1792, 1797, 1802, 1807, 0, 0, 1812, 1817, + 0, 0, 1822, 1827, 1832, 1837, 1842, 1847, + 0, 0, 1852, 1857, 1862, 1867, 1872, 1877, + 0, 0, 1882, 1887, 1892, 1897, 1902, 1907, + 1912, 1917, 1922, 1927, 1932, 1937, 0, 0, + 1942, 1947, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6218,7 +6234,7 @@ const Q_UINT16 QUnicodeTables::decomposition_info[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1956, + 0, 0, 0, 0, 0, 0, 0, 1952, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6239,7 +6255,7 @@ const Q_UINT16 QUnicodeTables::decomposition_info[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1961, 1966, 1971, 1976, 1981, 0, + 0, 0, 1957, 1962, 1967, 1972, 1977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6249,8 +6265,8 @@ const Q_UINT16 QUnicodeTables::decomposition_info[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1986, 1991, 1996, - 2001, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1982, 1987, 1992, + 1997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6259,9 +6275,9 @@ const Q_UINT16 QUnicodeTables::decomposition_info[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2006, 0, 2011, 0, 0, 0, 0, 0, + 2002, 0, 2007, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2016, 0, 0, 0, 0, + 0, 0, 0, 2012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6306,13 +6322,13 @@ const Q_UINT16 QUnicodeTables::decomposition_info[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2021, 0, 0, 0, 0, 0, 0, - 0, 2026, 0, 0, 2031, 0, 0, 0, + 0, 2017, 0, 0, 0, 0, 0, 0, + 0, 2022, 0, 0, 2027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2036, 2041, 2046, 2051, 2056, 2061, 2066, 2071, + 2032, 2037, 2042, 2047, 2052, 2057, 2062, 2067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6326,9 +6342,9 @@ const Q_UINT16 QUnicodeTables::decomposition_info[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2076, 2081, 0, 0, 0, + 0, 0, 0, 2072, 2077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2086, 2091, 0, 2096, + 0, 0, 0, 0, 2082, 2087, 0, 2092, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6340,12 +6356,12 @@ const Q_UINT16 QUnicodeTables::decomposition_info[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2101, 0, 0, 2106, 0, + 0, 0, 0, 2097, 0, 0, 2102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2111, 2116, 2121, 0, 0, 2126, 0, + 0, 2107, 2112, 2117, 0, 0, 2122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6376,23 +6392,23 @@ const Q_UINT16 QUnicodeTables::decomposition_info[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2131, 0, 0, 2136, 2141, 0, 0, 0, + 2127, 0, 0, 2132, 2137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2146, 2151, 0, 0, + 0, 0, 0, 0, 2142, 2147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2156, 0, 0, 0, + 0, 0, 0, 0, 2152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2161, 2166, 2171, 0, 0, 0, + 0, 0, 2157, 2162, 2167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6409,7 +6425,7 @@ const Q_UINT16 QUnicodeTables::decomposition_info[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2176, 0, 0, 0, 0, 0, 0, 0, + 2172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6424,8 +6440,8 @@ const Q_UINT16 QUnicodeTables::decomposition_info[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2181, 0, 0, 0, 0, 0, 0, 2186, - 2191, 0, 2196, 2201, 0, 0, 0, 0, + 2177, 0, 0, 0, 0, 0, 0, 2182, + 2187, 0, 2192, 2197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6442,7 +6458,7 @@ const Q_UINT16 QUnicodeTables::decomposition_info[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2206, 2211, 2216, 0, 0, 0, + 0, 0, 2202, 2207, 2212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6460,7 +6476,7 @@ const Q_UINT16 QUnicodeTables::decomposition_info[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2221, 0, 2226, 2231, 2236, 0, + 0, 0, 2217, 0, 2222, 2227, 2232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6472,7 +6488,7 @@ const Q_UINT16 QUnicodeTables::decomposition_info[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2241, 0, 0, 0, 0, + 0, 0, 0, 2237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6488,41 +6504,41 @@ const Q_UINT16 QUnicodeTables::decomposition_info[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2246, 0, 0, 0, 0, + 0, 0, 0, 2242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2251, 2256, 0, 0, + 0, 0, 0, 0, 2247, 2252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2261, 0, 0, 0, + 0, 0, 0, 0, 2257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2265, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2270, 0, 0, - 0, 0, 2275, 0, 0, 0, 0, 2280, - 0, 0, 0, 0, 2285, 0, 0, 0, + 0, 0, 0, 2261, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2266, 0, 0, + 0, 0, 2271, 0, 0, 0, 0, 2276, + 0, 0, 0, 0, 2281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2290, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2295, 0, 2300, 2305, 2310, - 2315, 2320, 0, 0, 0, 0, 0, 0, - 0, 2325, 0, 0, 0, 0, 0, 0, + 0, 2286, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2291, 0, 2296, 2301, 2306, + 2311, 2316, 0, 0, 0, 0, 0, 0, + 0, 2321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2330, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2335, 0, 0, - 0, 0, 2340, 0, 0, 0, 0, 2345, - 0, 0, 0, 0, 2350, 0, 0, 0, + 0, 0, 0, 2326, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2331, 0, 0, + 0, 0, 2336, 0, 0, 0, 0, 2341, + 0, 0, 0, 0, 2346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2355, 0, 0, 0, 0, 0, 0, + 0, 2351, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6536,7 +6552,7 @@ const Q_UINT16 QUnicodeTables::decomposition_info[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2360, 0, + 0, 0, 0, 0, 0, 0, 2356, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6565,94 +6581,94 @@ const Q_UINT16 QUnicodeTables::decomposition_info[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2365, 2370, 2375, 2380, 2385, 2390, 2395, 2400, - 2405, 2410, 2415, 2420, 2425, 2430, 2435, 2440, - 2445, 2450, 2455, 2460, 2465, 2470, 2475, 2480, - 2485, 2490, 2495, 2500, 2505, 2510, 2515, 2520, - 2525, 2530, 2535, 2540, 2545, 2550, 2555, 2560, - 2565, 2570, 2575, 2580, 2585, 2590, 2595, 2600, - 2605, 2610, 2615, 2620, 2625, 2630, 2635, 2640, - 2645, 2650, 2655, 2660, 2665, 2670, 2675, 2680, - 2685, 2690, 2695, 2700, 2705, 2710, 2715, 2720, - 2725, 2730, 2735, 2740, 2745, 2750, 2755, 2760, - 2765, 2770, 2775, 2780, 2785, 2790, 2795, 2800, - 2805, 2810, 2815, 2820, 2825, 2830, 2835, 2840, - 2845, 2850, 2855, 2860, 2865, 2870, 2875, 2880, - 2885, 2890, 2895, 2900, 2905, 2910, 2915, 2920, - 2925, 2930, 2935, 2940, 2945, 2950, 2955, 2960, - 2965, 2970, 2975, 2980, 2985, 2990, 2995, 3000, - 3005, 3010, 3015, 3020, 3025, 3030, 3035, 3040, - 3045, 3050, 3055, 3060, 3065, 3070, 3075, 3080, - 3085, 3090, 3095, 3100, 3105, 3110, 3115, 3120, - 3125, 3130, 3135, 3140, 0, 0, 0, 0, - 3145, 3150, 3155, 3160, 3165, 3170, 3175, 3180, - 3185, 3190, 3195, 3200, 3205, 3210, 3215, 3220, - 3225, 3230, 3235, 3240, 3245, 3250, 3255, 3260, - 3265, 3270, 3275, 3280, 3285, 3290, 3295, 3300, - 3305, 3310, 3315, 3320, 3325, 3330, 3335, 3340, - 3345, 3350, 3355, 3360, 3365, 3370, 3375, 3380, - 3385, 3390, 3395, 3400, 3405, 3410, 3415, 3420, - 3425, 3430, 3435, 3440, 3445, 3450, 3455, 3460, - 3465, 3470, 3475, 3480, 3485, 3490, 3495, 3500, - 3505, 3510, 3515, 3520, 3525, 3530, 3535, 3540, - 3545, 3550, 3555, 3560, 3565, 3570, 3575, 3580, - 3585, 3590, 0, 0, 0, 0, 0, 0, + 2361, 2366, 2371, 2376, 2381, 2386, 2391, 2396, + 2401, 2406, 2411, 2416, 2421, 2426, 2431, 2436, + 2441, 2446, 2451, 2456, 2461, 2466, 2471, 2476, + 2481, 2486, 2491, 2496, 2501, 2506, 2511, 2516, + 2521, 2526, 2531, 2536, 2541, 2546, 2551, 2556, + 2561, 2566, 2571, 2576, 2581, 2586, 2591, 2596, + 2601, 2606, 2611, 2616, 2621, 2626, 2631, 2636, + 2641, 2646, 2651, 2656, 2661, 2666, 2671, 2676, + 2681, 2686, 2691, 2696, 2701, 2706, 2711, 2716, + 2721, 2726, 2731, 2736, 2741, 2746, 2751, 2756, + 2761, 2766, 2771, 2776, 2781, 2786, 2791, 2796, + 2801, 2806, 2811, 2816, 2821, 2826, 2831, 2836, + 2841, 2846, 2851, 2856, 2861, 2866, 2871, 2876, + 2881, 2886, 2891, 2896, 2901, 2906, 2911, 2916, + 2921, 2926, 2931, 2936, 2941, 2946, 2951, 2956, + 2961, 2966, 2971, 2976, 2981, 2986, 2991, 2996, + 3001, 3006, 3011, 3016, 3021, 3026, 3031, 3036, + 3041, 3046, 3051, 3056, 3061, 3066, 3071, 3076, + 3081, 3086, 3091, 3096, 3101, 3106, 3111, 3116, + 3121, 3126, 3131, 3136, 0, 0, 0, 0, + 3141, 3146, 3151, 3156, 3161, 3166, 3171, 3176, + 3181, 3186, 3191, 3196, 3201, 3206, 3211, 3216, + 3221, 3226, 3231, 3236, 3241, 3246, 3251, 3256, + 3261, 3266, 3271, 3276, 3281, 3286, 3291, 3296, + 3301, 3306, 3311, 3316, 3321, 3326, 3331, 3336, + 3341, 3346, 3351, 3356, 3361, 3366, 3371, 3376, + 3381, 3386, 3391, 3396, 3401, 3406, 3411, 3416, + 3421, 3426, 3431, 3436, 3441, 3446, 3451, 3456, + 3461, 3466, 3471, 3476, 3481, 3486, 3491, 3496, + 3501, 3506, 3511, 3516, 3521, 3526, 3531, 3536, + 3541, 3546, 3551, 3556, 3561, 3566, 3571, 3576, + 3581, 3586, 0, 0, 0, 0, 0, 0, - 3595, 3600, 3605, 3610, 3615, 3620, 3625, 3630, - 3635, 3640, 3645, 3650, 3655, 3660, 3665, 3670, - 3675, 3680, 3685, 3690, 3695, 3700, 0, 0, - 3705, 3710, 3715, 3720, 3725, 3730, 0, 0, - 3735, 3740, 3745, 3750, 3755, 3760, 3765, 3770, - 3775, 3780, 3785, 3790, 3795, 3800, 3805, 3810, - 3815, 3820, 3825, 3830, 3835, 3840, 3845, 3850, - 3855, 3860, 3865, 3870, 3875, 3880, 3885, 3890, - 3895, 3900, 3905, 3910, 3915, 3920, 0, 0, - 3925, 3930, 3935, 3940, 3945, 3950, 0, 0, - 3955, 3960, 3965, 3970, 3975, 3980, 3985, 3990, - 0, 3995, 0, 4000, 0, 4005, 0, 4010, - 4015, 4020, 4025, 4030, 4035, 4040, 4045, 4050, - 4055, 4060, 4065, 4070, 4075, 4080, 4085, 4090, - 4095, 4100, 4104, 4109, 4113, 4118, 4122, 4127, - 4131, 4136, 4140, 4145, 4149, 4154, 0, 0, - 4158, 4163, 4168, 4173, 4178, 4183, 4188, 4193, - 4198, 4203, 4208, 4213, 4218, 4223, 4228, 4233, - 4238, 4243, 4248, 4253, 4258, 4263, 4268, 4273, - 4278, 4283, 4288, 4293, 4298, 4303, 4308, 4313, - 4318, 4323, 4328, 4333, 4338, 4343, 4348, 4353, - 4358, 4363, 4368, 4373, 4378, 4383, 4388, 4393, - 4398, 4403, 4408, 4413, 4418, 0, 4423, 4428, - 4433, 4438, 4443, 4448, 4452, 4457, 4462, 4466, - 4471, 4476, 4481, 4486, 4491, 0, 4496, 4501, - 4506, 4511, 4515, 4520, 4524, 4529, 4534, 4539, - 4544, 4549, 4554, 4559, 0, 0, 4563, 4568, - 4573, 4578, 4583, 4588, 0, 4592, 4597, 4602, - 4607, 4612, 4617, 4622, 4626, 4631, 4636, 4641, - 4646, 4651, 4656, 4661, 4665, 4670, 4675, 4679, - 0, 0, 4683, 4688, 4693, 0, 4698, 4703, - 4708, 4713, 4717, 4722, 4726, 4731, 4735, 0, + 3591, 3596, 3601, 3606, 3611, 3616, 3621, 3626, + 3631, 3636, 3641, 3646, 3651, 3656, 3661, 3666, + 3671, 3676, 3681, 3686, 3691, 3696, 0, 0, + 3701, 3706, 3711, 3716, 3721, 3726, 0, 0, + 3731, 3736, 3741, 3746, 3751, 3756, 3761, 3766, + 3771, 3776, 3781, 3786, 3791, 3796, 3801, 3806, + 3811, 3816, 3821, 3826, 3831, 3836, 3841, 3846, + 3851, 3856, 3861, 3866, 3871, 3876, 3881, 3886, + 3891, 3896, 3901, 3906, 3911, 3916, 0, 0, + 3921, 3926, 3931, 3936, 3941, 3946, 0, 0, + 3951, 3956, 3961, 3966, 3971, 3976, 3981, 3986, + 0, 3991, 0, 3996, 0, 4001, 0, 4006, + 4011, 4016, 4021, 4026, 4031, 4036, 4041, 4046, + 4051, 4056, 4061, 4066, 4071, 4076, 4081, 4086, + 4091, 4096, 4100, 4105, 4109, 4114, 4118, 4123, + 4127, 4132, 4136, 4141, 4145, 4150, 0, 0, + 4154, 4159, 4164, 4169, 4174, 4179, 4184, 4189, + 4194, 4199, 4204, 4209, 4214, 4219, 4224, 4229, + 4234, 4239, 4244, 4249, 4254, 4259, 4264, 4269, + 4274, 4279, 4284, 4289, 4294, 4299, 4304, 4309, + 4314, 4319, 4324, 4329, 4334, 4339, 4344, 4349, + 4354, 4359, 4364, 4369, 4374, 4379, 4384, 4389, + 4394, 4399, 4404, 4409, 4414, 0, 4419, 4424, + 4429, 4434, 4439, 4444, 4448, 4453, 4458, 4462, + 4467, 4472, 4477, 4482, 4487, 0, 4492, 4497, + 4502, 4507, 4511, 4516, 4520, 4525, 4530, 4535, + 4540, 4545, 4550, 4555, 0, 0, 4559, 4564, + 4569, 4574, 4579, 4584, 0, 4588, 4593, 4598, + 4603, 4608, 4613, 4618, 4622, 4627, 4632, 4637, + 4642, 4647, 4652, 4657, 4661, 4666, 4671, 4675, + 0, 0, 4679, 4684, 4689, 0, 4694, 4699, + 4704, 4709, 4713, 4718, 4722, 4727, 4731, 0, - 4740, 4744, 4748, 4752, 4756, 4760, 4764, 4768, - 4772, 4776, 4780, 0, 0, 0, 0, 0, - 0, 4784, 0, 0, 0, 0, 0, 4788, + 4736, 4740, 4744, 4748, 4752, 4756, 4760, 4764, + 4768, 4772, 4776, 0, 0, 0, 0, 0, + 0, 4780, 0, 0, 0, 0, 0, 4784, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4793, 4797, 4802, 0, - 0, 0, 0, 0, 0, 0, 0, 4808, - 0, 0, 0, 4812, 4817, 0, 4823, 4828, - 0, 0, 0, 0, 4834, 0, 4839, 0, - 0, 0, 0, 0, 0, 0, 0, 4844, - 4849, 4854, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 4859, - 0, 0, 0, 0, 0, 0, 0, 4866, + 0, 0, 0, 0, 4789, 4793, 4798, 0, + 0, 0, 0, 0, 0, 0, 0, 4804, + 0, 0, 0, 4808, 4813, 0, 4819, 4824, + 0, 0, 0, 0, 4830, 0, 4835, 0, + 0, 0, 0, 0, 0, 0, 0, 4840, + 4845, 4850, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 4855, + 0, 0, 0, 0, 0, 0, 0, 4862, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4870, 4874, 0, 0, 4878, 4882, 4886, 4890, - 4894, 4898, 4902, 4906, 4910, 4914, 4918, 4922, - 4926, 4930, 4934, 4938, 4942, 4946, 4950, 4954, - 4958, 4962, 4966, 4970, 4974, 4978, 4982, 0, + 4866, 4870, 0, 0, 4874, 4878, 4882, 4886, + 4890, 4894, 4898, 4902, 4906, 4910, 4914, 4918, + 4922, 4926, 4930, 4934, 4938, 4942, 4946, 4950, + 4954, 4958, 4962, 4966, 4970, 4974, 4978, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4986, 0, 0, 0, 0, 0, 0, 0, + 4982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6664,32 +6680,32 @@ const Q_UINT16 QUnicodeTables::decomposition_info[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4991, 4997, 5003, 5007, 0, 5012, 5018, 5024, - 0, 5028, 5033, 5037, 5041, 5045, 5049, 5053, - 5057, 5061, 5065, 5069, 0, 5073, 5077, 0, - 0, 5082, 5086, 5090, 5094, 5098, 0, 0, - 5102, 5107, 5113, 0, 5118, 0, 5122, 0, - 5126, 0, 5130, 5134, 5138, 5142, 0, 5146, - 5150, 5154, 0, 5158, 5162, 5166, 5170, 5174, - 5178, 5182, 0, 0, 0, 5186, 5190, 5194, - 5198, 0, 0, 0, 0, 5202, 5206, 5210, - 5214, 5218, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 5222, 5228, 5234, 5240, 5246, - 5252, 5258, 5264, 5270, 5276, 5282, 5288, 5294, - 5299, 5303, 5308, 5314, 5319, 5323, 5328, 5334, - 5341, 5346, 5350, 5355, 5361, 5365, 5369, 5373, - 5377, 5381, 5386, 5392, 5397, 5401, 5406, 5412, - 5419, 5424, 5428, 5433, 5439, 5443, 5447, 5451, + 4987, 4993, 4999, 5003, 0, 5008, 5014, 5020, + 0, 5024, 5029, 5033, 5037, 5041, 5045, 5049, + 5053, 5057, 5061, 5065, 0, 5069, 5073, 0, + 0, 5078, 5082, 5086, 5090, 5094, 0, 0, + 5098, 5103, 5109, 0, 5114, 0, 5118, 0, + 5122, 0, 5126, 5130, 5134, 5138, 0, 5142, + 5146, 5150, 0, 5154, 5158, 5162, 5166, 5170, + 5174, 5178, 0, 0, 0, 5182, 5186, 5190, + 5194, 0, 0, 0, 0, 5198, 5202, 5206, + 5210, 5214, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 5218, 5224, 5230, 5236, 5242, + 5248, 5254, 5260, 5266, 5272, 5278, 5284, 5290, + 5295, 5299, 5304, 5310, 5315, 5319, 5324, 5330, + 5337, 5342, 5346, 5351, 5357, 5361, 5365, 5369, + 5373, 5377, 5382, 5388, 5393, 5397, 5402, 5408, + 5415, 5420, 5424, 5429, 5435, 5439, 5443, 5447, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 5455, 5460, 0, 0, 0, 0, + 0, 0, 5451, 5456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 5465, 0, + 0, 0, 0, 0, 0, 0, 5461, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 5470, 5475, 5480, + 0, 0, 0, 0, 0, 5466, 5471, 5476, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6697,36 +6713,36 @@ const Q_UINT16 QUnicodeTables::decomposition_info[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 5485, 0, 0, 0, - 0, 5490, 0, 0, 5495, 0, 0, 0, + 0, 0, 0, 0, 5481, 0, 0, 0, + 0, 5486, 0, 0, 5491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 5500, 0, 5505, 0, - 0, 0, 0, 0, 5510, 5515, 0, 5521, - 5526, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5496, 0, 5501, 0, + 0, 0, 0, 0, 5506, 5511, 0, 5517, + 5522, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 5532, 0, 0, 5537, 0, 0, 5542, - 0, 5547, 0, 0, 0, 0, 0, 0, + 0, 5528, 0, 0, 5533, 0, 0, 5538, + 0, 5543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5552, 0, 5557, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 5562, 5567, 5572, - 5577, 5582, 0, 0, 5587, 5592, 0, 0, - 5597, 5602, 0, 0, 0, 0, 0, 0, - 5607, 5612, 0, 0, 5617, 5622, 0, 0, - 5627, 5632, 0, 0, 0, 0, 0, 0, + 5548, 0, 5553, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 5558, 5563, 5568, + 5573, 5578, 0, 0, 5583, 5588, 0, 0, + 5593, 5598, 0, 0, 0, 0, 0, 0, + 5603, 5608, 0, 0, 5613, 5618, 0, 0, + 5623, 5628, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 5637, 5642, 5647, 5652, + 0, 0, 0, 0, 5633, 5638, 5643, 5648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5657, 5662, 5667, 5672, 0, 0, 0, 0, - 0, 0, 5677, 5682, 5687, 5692, 0, 0, + 5653, 5658, 5663, 5668, 0, 0, 0, 0, + 0, 0, 5673, 5678, 5683, 5688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6735,7 +6751,7 @@ const Q_UINT16 QUnicodeTables::decomposition_info[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 5697, 5701, 0, 0, 0, 0, 0, + 0, 5693, 5697, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6775,29 +6791,29 @@ const Q_UINT16 QUnicodeTables::decomposition_info[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5705, 5709, 5713, 5717, 5721, 5725, 5729, 5733, - 5737, 5741, 5746, 5751, 5756, 5761, 5766, 5771, - 5776, 5781, 5786, 5791, 5796, 5802, 5808, 5814, - 5820, 5826, 5832, 5838, 5844, 5850, 5857, 5864, - 5871, 5878, 5885, 5892, 5899, 5906, 5913, 5920, - 5927, 5932, 5937, 5942, 5947, 5952, 5957, 5962, - 5967, 5972, 5978, 5984, 5990, 5996, 6002, 6008, - 6014, 6020, 6026, 6032, 6038, 6044, 6050, 6056, - 6062, 6068, 6074, 6080, 6086, 6092, 6098, 6104, - 6110, 6116, 6122, 6128, 6134, 6140, 6146, 6152, - 6158, 6164, 6170, 6176, 6182, 6188, 6194, 6198, - 6202, 6206, 6210, 6214, 6218, 6222, 6226, 6230, - 6234, 6238, 6242, 6246, 6250, 6254, 6258, 6262, - 6266, 6270, 6274, 6278, 6282, 6286, 6290, 6294, - 6298, 6302, 6306, 6310, 6314, 6318, 6322, 6326, - 6330, 6334, 6338, 6342, 6346, 6350, 6354, 6358, - 6362, 6366, 6370, 6374, 6378, 6382, 6386, 6390, - 6394, 6398, 6402, 0, 0, 0, 0, 0, + 5701, 5705, 5709, 5713, 5717, 5721, 5725, 5729, + 5733, 5737, 5742, 5747, 5752, 5757, 5762, 5767, + 5772, 5777, 5782, 5787, 5792, 5798, 5804, 5810, + 5816, 5822, 5828, 5834, 5840, 5846, 5853, 5860, + 5867, 5874, 5881, 5888, 5895, 5902, 5909, 5916, + 5923, 5928, 5933, 5938, 5943, 5948, 5953, 5958, + 5963, 5968, 5974, 5980, 5986, 5992, 5998, 6004, + 6010, 6016, 6022, 6028, 6034, 6040, 6046, 6052, + 6058, 6064, 6070, 6076, 6082, 6088, 6094, 6100, + 6106, 6112, 6118, 6124, 6130, 6136, 6142, 6148, + 6154, 6160, 6166, 6172, 6178, 6184, 6190, 6194, + 6198, 6202, 6206, 6210, 6214, 6218, 6222, 6226, + 6230, 6234, 6238, 6242, 6246, 6250, 6254, 6258, + 6262, 6266, 6270, 6274, 6278, 6282, 6286, 6290, + 6294, 6298, 6302, 6306, 6310, 6314, 6318, 6322, + 6326, 6330, 6334, 6338, 6342, 6346, 6350, 6354, + 6358, 6362, 6366, 6370, 6374, 6378, 6382, 6386, + 6390, 6394, 6398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 6406, 0, 0, 0, + 0, 0, 0, 0, 6402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6810,7 +6826,7 @@ const Q_UINT16 QUnicodeTables::decomposition_info[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 6413, 6419, 6424, 0, + 0, 0, 0, 0, 6409, 6415, 6420, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6823,7 +6839,7 @@ const Q_UINT16 QUnicodeTables::decomposition_info[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 6430, 0, 0, 0, + 0, 0, 0, 0, 6426, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6848,7 +6864,7 @@ const Q_UINT16 QUnicodeTables::decomposition_info[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 6435, + 0, 0, 0, 0, 0, 0, 0, 6431, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6859,74 +6875,74 @@ const Q_UINT16 QUnicodeTables::decomposition_info[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 6439, 0, 0, 0, 0, + 0, 0, 0, 6435, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6443, 6447, 6451, 6455, 6459, 6463, 6467, 6471, - 6475, 6479, 6483, 6487, 6491, 6495, 6499, 6503, - 6507, 6511, 6515, 6519, 6523, 6527, 6531, 6535, - 6539, 6543, 6547, 6551, 6555, 6559, 6563, 6567, - 6571, 6575, 6579, 6583, 6587, 6591, 6595, 6599, - 6603, 6607, 6611, 6615, 6619, 6623, 6627, 6631, - 6635, 6639, 6643, 6647, 6651, 6655, 6659, 6663, - 6667, 6671, 6675, 6679, 6683, 6687, 6691, 6695, - 6699, 6703, 6707, 6711, 6715, 6719, 6723, 6727, - 6731, 6735, 6739, 6743, 6747, 6751, 6755, 6759, - 6763, 6767, 6771, 6775, 6779, 6783, 6787, 6791, - 6795, 6799, 6803, 6807, 6811, 6815, 6819, 6823, - 6827, 6831, 6835, 6839, 6843, 6847, 6851, 6855, - 6859, 6863, 6867, 6871, 6875, 6879, 6883, 6887, - 6891, 6895, 6899, 6903, 6907, 6911, 6915, 6919, - 6923, 6927, 6931, 6935, 6939, 6943, 6947, 6951, - 6955, 6959, 6963, 6967, 6971, 6975, 6979, 6983, - 6987, 6991, 6995, 6999, 7003, 7007, 7011, 7015, - 7019, 7023, 7027, 7031, 7035, 7039, 7043, 7047, - 7051, 7055, 7059, 7063, 7067, 7071, 7075, 7079, - 7083, 7087, 7091, 7095, 7099, 7103, 7107, 7111, - 7115, 7119, 7123, 7127, 7131, 7135, 7139, 7143, - 7147, 7151, 7155, 7159, 7163, 7167, 7171, 7175, - 7179, 7183, 7187, 7191, 7195, 7199, 7203, 7207, - 7211, 7215, 7219, 7223, 7227, 7231, 7235, 7239, - 7243, 7247, 7251, 7255, 7259, 7263, 7267, 7271, - 7275, 7279, 7283, 7287, 7291, 7295, 0, 0, + 6439, 6443, 6447, 6451, 6455, 6459, 6463, 6467, + 6471, 6475, 6479, 6483, 6487, 6491, 6495, 6499, + 6503, 6507, 6511, 6515, 6519, 6523, 6527, 6531, + 6535, 6539, 6543, 6547, 6551, 6555, 6559, 6563, + 6567, 6571, 6575, 6579, 6583, 6587, 6591, 6595, + 6599, 6603, 6607, 6611, 6615, 6619, 6623, 6627, + 6631, 6635, 6639, 6643, 6647, 6651, 6655, 6659, + 6663, 6667, 6671, 6675, 6679, 6683, 6687, 6691, + 6695, 6699, 6703, 6707, 6711, 6715, 6719, 6723, + 6727, 6731, 6735, 6739, 6743, 6747, 6751, 6755, + 6759, 6763, 6767, 6771, 6775, 6779, 6783, 6787, + 6791, 6795, 6799, 6803, 6807, 6811, 6815, 6819, + 6823, 6827, 6831, 6835, 6839, 6843, 6847, 6851, + 6855, 6859, 6863, 6867, 6871, 6875, 6879, 6883, + 6887, 6891, 6895, 6899, 6903, 6907, 6911, 6915, + 6919, 6923, 6927, 6931, 6935, 6939, 6943, 6947, + 6951, 6955, 6959, 6963, 6967, 6971, 6975, 6979, + 6983, 6987, 6991, 6995, 6999, 7003, 7007, 7011, + 7015, 7019, 7023, 7027, 7031, 7035, 7039, 7043, + 7047, 7051, 7055, 7059, 7063, 7067, 7071, 7075, + 7079, 7083, 7087, 7091, 7095, 7099, 7103, 7107, + 7111, 7115, 7119, 7123, 7127, 7131, 7135, 7139, + 7143, 7147, 7151, 7155, 7159, 7163, 7167, 7171, + 7175, 7179, 7183, 7187, 7191, 7195, 7199, 7203, + 7207, 7211, 7215, 7219, 7223, 7227, 7231, 7235, + 7239, 7243, 7247, 7251, 7255, 7259, 7263, 7267, + 7271, 7275, 7279, 7283, 7287, 7291, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7299, 0, 0, 0, 0, 0, 0, 0, + 7295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7303, 0, - 7307, 7311, 7315, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 7299, 0, + 7303, 7307, 7311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7319, 0, 7324, 0, - 7329, 0, 7334, 0, 7339, 0, 7344, 0, - 7349, 0, 7354, 0, 7359, 0, 7364, 0, - 7369, 0, 7374, 0, 0, 7379, 0, 7384, - 0, 7389, 0, 0, 0, 0, 0, 0, - 7394, 7399, 0, 7404, 7409, 0, 7414, 7419, - 0, 7424, 7429, 0, 7434, 7439, 0, 0, + 0, 0, 0, 0, 7315, 0, 7320, 0, + 7325, 0, 7330, 0, 7335, 0, 7340, 0, + 7345, 0, 7350, 0, 7355, 0, 7360, 0, + 7365, 0, 7370, 0, 0, 7375, 0, 7380, + 0, 7385, 0, 0, 0, 0, 0, 0, + 7390, 7395, 0, 7400, 7405, 0, 7410, 7415, + 0, 7420, 7425, 0, 7430, 7435, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7444, 0, 0, 0, - 0, 0, 0, 7449, 7454, 0, 7459, 7464, + 0, 0, 0, 0, 7440, 0, 0, 0, + 0, 0, 0, 7445, 7450, 0, 7455, 7460, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7469, 0, 7474, 0, - 7479, 0, 7484, 0, 7489, 0, 7494, 0, - 7499, 0, 7504, 0, 7509, 0, 7514, 0, - 7519, 0, 7524, 0, 0, 7529, 0, 7534, - 0, 7539, 0, 0, 0, 0, 0, 0, - 7544, 7549, 0, 7554, 7559, 0, 7564, 7569, - 0, 7574, 7579, 0, 7584, 7589, 0, 0, + 0, 0, 0, 0, 7465, 0, 7470, 0, + 7475, 0, 7480, 0, 7485, 0, 7490, 0, + 7495, 0, 7500, 0, 7505, 0, 7510, 0, + 7515, 0, 7520, 0, 0, 7525, 0, 7530, + 0, 7535, 0, 0, 0, 0, 0, 0, + 7540, 7545, 0, 7550, 7555, 0, 7560, 7565, + 0, 7570, 7575, 0, 7580, 7585, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7594, 0, 0, 7599, - 7604, 7609, 7614, 0, 0, 0, 7619, 7624, + 0, 0, 0, 0, 7590, 0, 0, 7595, + 7600, 7605, 7610, 0, 0, 0, 7615, 7620, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6934,751 +6950,751 @@ const Q_UINT16 QUnicodeTables::decomposition_info[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7629, 7633, 7637, 7641, 7645, 7649, 7653, - 7657, 7661, 7665, 7669, 7673, 7677, 7681, 7685, - 7689, 7693, 7697, 7701, 7705, 7709, 7713, 7717, - 7721, 7725, 7729, 7733, 7737, 7741, 7745, 7749, - 7753, 7757, 7761, 7765, 7769, 7773, 7777, 7781, - 7785, 7789, 7793, 7797, 7801, 7805, 7809, 7813, - 7817, 7821, 7825, 7829, 7833, 7837, 7841, 7845, - 7849, 7853, 7857, 7861, 7865, 7869, 7873, 7877, - 7881, 7885, 7889, 7893, 7897, 7901, 7905, 7909, - 7913, 7917, 7921, 7925, 7929, 7933, 7937, 7941, - 7945, 7949, 7953, 7957, 7961, 7965, 7969, 7973, - 7977, 7981, 7985, 7989, 7993, 7997, 8001, 0, - 0, 0, 8005, 8009, 8013, 8017, 8021, 8025, - 8029, 8033, 8037, 8041, 8045, 8049, 8053, 8057, + 0, 7625, 7629, 7633, 7637, 7641, 7645, 7649, + 7653, 7657, 7661, 7665, 7669, 7673, 7677, 7681, + 7685, 7689, 7693, 7697, 7701, 7705, 7709, 7713, + 7717, 7721, 7725, 7729, 7733, 7737, 7741, 7745, + 7749, 7753, 7757, 7761, 7765, 7769, 7773, 7777, + 7781, 7785, 7789, 7793, 7797, 7801, 7805, 7809, + 7813, 7817, 7821, 7825, 7829, 7833, 7837, 7841, + 7845, 7849, 7853, 7857, 7861, 7865, 7869, 7873, + 7877, 7881, 7885, 7889, 7893, 7897, 7901, 7905, + 7909, 7913, 7917, 7921, 7925, 7929, 7933, 7937, + 7941, 7945, 7949, 7953, 7957, 7961, 7965, 7969, + 7973, 7977, 7981, 7985, 7989, 7993, 7997, 0, + 0, 0, 8001, 8005, 8009, 8013, 8017, 8021, + 8025, 8029, 8033, 8037, 8041, 8045, 8049, 8053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - - 8061, 8067, 8073, 8079, 8085, 8091, 8097, 8103, - 8109, 8115, 8121, 8127, 8133, 8139, 8145, 8152, - 8159, 8166, 8173, 8180, 8187, 8194, 8201, 8208, - 8215, 8222, 8229, 8236, 8243, 0, 0, 0, - 8250, 8256, 8262, 8268, 8274, 8280, 8286, 8292, - 8298, 8304, 8310, 8316, 8322, 8328, 8334, 8340, - 8346, 8352, 8358, 8364, 8370, 8376, 8382, 8388, - 8394, 8400, 8406, 8412, 8418, 8424, 8430, 8436, - 8442, 8448, 8454, 8460, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 8466, 8471, 8476, 8481, 8486, 8491, 8496, - 8501, 8506, 8511, 8516, 8521, 8526, 8531, 8536, - 8541, 8545, 8549, 8553, 8557, 8561, 8565, 8569, - 8573, 8577, 8581, 8585, 8589, 8593, 8597, 8602, - 8607, 8612, 8617, 8622, 8627, 8632, 8637, 8642, - 8647, 8652, 8657, 8662, 0, 0, 0, 0, - 8667, 8671, 8675, 8679, 8683, 8687, 8691, 8695, - 8699, 8703, 8707, 8711, 8715, 8719, 8723, 8727, - 8731, 8735, 8739, 8743, 8747, 8751, 8755, 8759, - 8763, 8767, 8771, 8775, 8779, 8783, 8787, 8791, - 8795, 8799, 8803, 8807, 8811, 8815, 8819, 8823, - 8827, 8831, 8835, 8839, 8843, 8847, 8851, 8855, - 8859, 8863, 8868, 8873, 8878, 8883, 8888, 8893, - 8898, 8903, 8908, 8913, 8918, 8923, 8928, 8933, - 8938, 8943, 8948, 8953, 8958, 8963, 8968, 8973, - 8978, 8983, 8989, 8995, 0, 0, 0, 0, - 9001, 9005, 9009, 9013, 9017, 9021, 9025, 9029, - 9033, 9037, 9041, 9045, 9049, 9053, 9057, 9061, - 9065, 9069, 9073, 9077, 9081, 9085, 9089, 9093, - 9097, 9101, 9105, 9109, 9113, 9117, 9121, 9125, - 9129, 9133, 9137, 9141, 9145, 9149, 9153, 9157, - 9161, 9165, 9169, 9173, 9177, 9181, 9185, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + + 8057, 8063, 8069, 8075, 8081, 8087, 8093, 8099, + 8105, 8111, 8117, 8123, 8129, 8135, 8141, 8148, + 8155, 8162, 8169, 8176, 8183, 8190, 8197, 8204, + 8211, 8218, 8225, 8232, 8239, 0, 0, 0, + 8246, 8252, 8258, 8264, 8270, 8276, 8282, 8288, + 8294, 8300, 8306, 8312, 8318, 8324, 8330, 8336, + 8342, 8348, 8354, 8360, 8366, 8372, 8378, 8384, + 8390, 8396, 8402, 8408, 8414, 8420, 8426, 8432, + 8438, 8444, 8450, 8456, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 8462, 8467, 8472, 8477, 8482, 8487, 8492, + 8497, 8502, 8507, 8512, 8517, 8522, 8527, 8532, + 8537, 8541, 8545, 8549, 8553, 8557, 8561, 8565, + 8569, 8573, 8577, 8581, 8585, 8589, 8593, 8598, + 8603, 8608, 8613, 8618, 8623, 8628, 8633, 8638, + 8643, 8648, 8653, 8658, 0, 0, 0, 0, + 8663, 8667, 8671, 8675, 8679, 8683, 8687, 8691, + 8695, 8699, 8703, 8707, 8711, 8715, 8719, 8723, + 8727, 8731, 8735, 8739, 8743, 8747, 8751, 8755, + 8759, 8763, 8767, 8771, 8775, 8779, 8783, 8787, + 8791, 8795, 8799, 8803, 8807, 8811, 8815, 8819, + 8823, 8827, 8831, 8835, 8839, 8843, 8847, 8851, + 8855, 8859, 8864, 8869, 8874, 8879, 8884, 8889, + 8894, 8899, 8904, 8909, 8914, 8919, 8924, 8929, + 8934, 8939, 8944, 8949, 8954, 8959, 8964, 8969, + 8974, 8979, 8985, 8991, 0, 0, 0, 0, + 8997, 9001, 9005, 9009, 9013, 9017, 9021, 9025, + 9029, 9033, 9037, 9041, 9045, 9049, 9053, 9057, + 9061, 9065, 9069, 9073, 9077, 9081, 9085, 9089, + 9093, 9097, 9101, 9105, 9109, 9113, 9117, 9121, + 9125, 9129, 9133, 9137, 9141, 9145, 9149, 9153, + 9157, 9161, 9165, 9169, 9173, 9177, 9181, 0, - 9189, 9196, 9203, 9210, 9216, 9223, 9229, 9235, - 9243, 9250, 9256, 9262, 9268, 9275, 9282, 9288, - 9294, 9299, 9305, 9312, 9319, 9324, 9332, 9341, - 9349, 9355, 9363, 9371, 9378, 9384, 9390, 9396, - 9403, 9411, 9418, 9424, 9430, 9436, 9441, 9446, - 9451, 9456, 9462, 9468, 9476, 9482, 9489, 9497, - 9503, 9508, 9513, 9521, 9528, 9536, 9542, 9550, - 9555, 9561, 9567, 9573, 9579, 9585, 9592, 9598, - 9603, 9609, 9615, 9621, 9628, 9634, 9640, 9646, - 9654, 9661, 9666, 9674, 9679, 9686, 9693, 9699, - 9705, 9711, 9718, 9723, 9729, 9736, 9741, 9749, - 9755, 9760, 9765, 9770, 9775, 9780, 9785, 9790, - 9795, 9800, 9805, 9811, 9817, 9823, 9829, 9835, - 9841, 9847, 9853, 9859, 9865, 9871, 9877, 9883, - 9889, 9895, 9901, 9906, 9911, 9917, 9922, 0, - 0, 0, 0, 9927, 9932, 9937, 9942, 9947, - 9954, 9959, 9964, 9969, 9974, 9979, 9984, 9989, - 9994, 10000, 10007, 10012, 10017, 10022, 10027, 10032, - 10037, 10042, 10048, 10054, 10060, 10066, 10071, 10076, - 10081, 10086, 10091, 10096, 10101, 10106, 10111, 10116, - 10122, 10128, 10133, 10139, 10145, 10151, 10156, 10162, - 10168, 10175, 10180, 10186, 10192, 10198, 10204, 10212, - 10221, 10226, 10231, 10236, 10241, 10246, 10251, 10256, - 10261, 10266, 10271, 10276, 10281, 10286, 10291, 10296, - 10301, 10306, 10311, 10318, 10323, 10328, 10333, 10340, - 10346, 10351, 10356, 10361, 10366, 10371, 10376, 10381, - 10386, 10391, 10396, 10402, 10407, 10412, 10418, 10424, - 10429, 10436, 10442, 10447, 10452, 10457, 0, 0, - 10462, 10467, 10472, 10477, 10482, 10487, 10492, 10497, - 10502, 10507, 10513, 10519, 10525, 10531, 10537, 10543, - 10549, 10555, 10561, 10567, 10573, 10579, 10585, 10591, - 10597, 10603, 10609, 10615, 10621, 10627, 10633, 0, - - 10639, 10643, 10647, 10651, 10655, 10659, 10663, 10667, - 10671, 10675, 10679, 10683, 10687, 10691, 10695, 10699, - 10703, 10707, 10711, 10715, 10719, 10723, 10727, 10731, - 10735, 10739, 10743, 10747, 10751, 10755, 10759, 10763, - 10767, 10771, 10775, 10779, 10783, 10787, 10791, 10795, - 10799, 10803, 10807, 10811, 10815, 10819, 10823, 10827, - 10831, 10835, 10839, 10843, 10847, 10851, 10855, 10859, - 10863, 10867, 10871, 10875, 10879, 10883, 10887, 10891, - 10895, 10899, 10903, 10907, 10911, 10915, 10919, 10923, - 10927, 10931, 10935, 10939, 10943, 10947, 10951, 10955, - 10959, 10963, 10967, 10971, 10975, 10979, 10983, 10987, - 10991, 10995, 10999, 11003, 11007, 11011, 11015, 11019, - 11023, 11027, 11031, 11035, 11039, 11043, 11047, 11051, - 11055, 11059, 11063, 11067, 11071, 11075, 11079, 11083, - 11087, 11091, 11095, 11099, 11103, 11107, 11111, 11115, - 11119, 11123, 11127, 11131, 11135, 11139, 11143, 11147, - 11151, 11155, 11159, 11163, 11167, 11171, 11175, 11179, - 11183, 11187, 11191, 11195, 11199, 11203, 11207, 11211, - 11215, 11219, 11223, 11227, 11231, 11235, 11239, 11243, - 11247, 11251, 11255, 11259, 11263, 11267, 11271, 11275, - 11279, 11283, 11287, 11291, 11295, 11299, 11303, 11307, - 11311, 11315, 11319, 11323, 11327, 11331, 11335, 11339, - 11343, 11347, 11351, 11355, 11359, 11363, 11367, 11371, - 11375, 11379, 11383, 11387, 11391, 11395, 11399, 11403, - 11407, 11411, 11415, 11419, 11423, 11427, 11431, 11435, - 11439, 11443, 11447, 11451, 11455, 11459, 11463, 11467, - 11471, 11475, 11479, 11483, 11487, 11491, 11495, 11499, - 11503, 11507, 11511, 11515, 11519, 11523, 11527, 11531, - 11535, 11539, 11543, 11547, 11551, 11555, 11559, 11563, - 11567, 11571, 11575, 11579, 11583, 11587, 11591, 11595, - 11599, 11603, 11607, 11611, 11615, 11619, 11623, 11627, - 11631, 11635, 11639, 11643, 11647, 11651, 11655, 11659, - - 11663, 11667, 11671, 11675, 11679, 11683, 11687, 11691, - 11695, 11699, 11703, 11707, 11711, 11715, 0, 0, - 11719, 0, 11723, 0, 0, 11727, 11731, 11735, - 11739, 11743, 11747, 11751, 11755, 11759, 11763, 0, - 11767, 0, 11771, 0, 0, 11775, 11779, 0, - 0, 0, 11783, 11787, 11791, 11795, 0, 0, - 11799, 11803, 11807, 11811, 11815, 11819, 11823, 11827, - 11831, 11835, 11839, 11843, 11847, 11851, 11855, 11859, - 11863, 11867, 11871, 11875, 11879, 11883, 11887, 11891, - 11895, 11899, 11903, 11907, 11911, 11915, 11919, 11923, - 11927, 11931, 11935, 11939, 11943, 11947, 11951, 11955, - 11959, 11963, 11967, 11971, 11975, 11979, 11983, 11987, - 11991, 11995, 11999, 12003, 12007, 12011, 12015, 12019, - 12023, 12027, 12031, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - - 12035, 12040, 12045, 12050, 12056, 12062, 12067, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 12072, 12077, 12082, 12087, 12092, - 0, 0, 0, 0, 0, 12097, 0, 12102, - 12107, 12111, 12115, 12119, 12123, 12127, 12131, 12135, - 12139, 12143, 12147, 12152, 12157, 12162, 12167, 12172, - 12177, 12182, 12187, 12192, 12197, 12202, 12207, 0, - 12212, 12217, 12222, 12227, 12232, 0, 12237, 0, - 12242, 12247, 0, 12252, 12257, 0, 12262, 12267, - 12272, 12277, 12282, 12287, 12292, 12297, 12302, 12307, - 12312, 12316, 12320, 12324, 12328, 12332, 12336, 12340, - 12344, 12348, 12352, 12356, 12360, 12364, 12368, 12372, - 12376, 12380, 12384, 12388, 12392, 12396, 12400, 12404, - 12408, 12412, 12416, 12420, 12424, 12428, 12432, 12436, - 12440, 12444, 12448, 12452, 12456, 12460, 12464, 12468, - 12472, 12476, 12480, 12484, 12488, 12492, 12496, 12500, - 12504, 12508, 12512, 12516, 12520, 12524, 12528, 12532, - 12536, 12540, 12544, 12548, 12552, 12556, 12560, 12564, - 12568, 12572, 12576, 12580, 12584, 12588, 12592, 12596, - 12600, 12604, 12608, 12612, 12616, 12620, 12624, 12628, - 12632, 12636, 12640, 12644, 12648, 12652, 12656, 12660, - 12664, 12668, 12672, 12676, 12680, 12684, 12688, 12692, - 12696, 12700, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 12704, 12708, 12712, 12716, 12720, - 12724, 12728, 12732, 12736, 12740, 12744, 12748, 12752, - 12756, 12760, 12764, 12768, 12772, 12776, 12780, 12784, - 12788, 12792, 12796, 12801, 12806, 12811, 12816, 12821, - 12826, 12831, 12836, 12841, 12846, 12851, 12856, 12861, - 12866, 12871, 12876, 12881, 12886, 12890, 12894, 12898, - - 12902, 12907, 12912, 12917, 12922, 12927, 12932, 12937, - 12942, 12947, 12952, 12957, 12962, 12967, 12972, 12977, - 12982, 12987, 12992, 12997, 13002, 13007, 13012, 13017, - 13022, 13027, 13032, 13037, 13042, 13047, 13052, 13057, - 13062, 13067, 13072, 13077, 13082, 13087, 13092, 13097, - 13102, 13107, 13112, 13117, 13122, 13127, 13132, 13137, - 13142, 13147, 13152, 13157, 13162, 13167, 13172, 13177, - 13182, 13187, 13192, 13197, 13202, 13207, 13212, 13217, - 13222, 13227, 13232, 13237, 13242, 13247, 13252, 13257, - 13262, 13267, 13272, 13277, 13282, 13287, 13292, 13297, - 13302, 13307, 13312, 13317, 13322, 13327, 13332, 13337, - 13342, 13347, 13352, 13357, 13362, 13367, 13372, 13378, - 13384, 13390, 13396, 13402, 13408, 13413, 13418, 13423, - 13428, 13433, 13438, 13443, 13448, 13453, 13458, 13463, - 13468, 13473, 13478, 13483, 13488, 13493, 13498, 13503, - 13508, 13513, 13518, 13523, 13528, 13533, 13538, 13543, - 13548, 13553, 13558, 13563, 13568, 13573, 13578, 13583, - 13588, 13593, 13598, 13603, 13608, 13613, 13618, 13623, - 13628, 13633, 13638, 13643, 13648, 13653, 13658, 13663, - 13668, 13673, 13678, 13683, 13688, 13693, 13698, 13703, - 13708, 13713, 13718, 13723, 13728, 13733, 13738, 13743, - 13748, 13753, 13758, 13763, 13768, 13773, 13778, 13783, - 13788, 13793, 13798, 13803, 13808, 13813, 13818, 13823, - 13828, 13833, 13838, 13843, 13848, 13853, 13858, 13863, - 13868, 13873, 13878, 13883, 13888, 13893, 13898, 13903, - 13908, 13913, 13918, 13923, 13928, 13933, 13938, 13943, - 13948, 13953, 13958, 13963, 13968, 13973, 13978, 13983, - 13988, 13993, 13998, 14003, 14008, 14013, 14018, 14023, - 14028, 14033, 14038, 14043, 14048, 14053, 14058, 14063, - 14068, 14073, 14078, 14083, 14088, 14093, 14098, 14103, - 14108, 14113, 14118, 14124, 14130, 14136, 14141, 14146, - 14151, 14156, 14161, 14166, 14171, 14176, 14181, 14186, - - 14191, 14196, 14201, 14206, 14211, 14216, 14221, 14226, - 14231, 14236, 14241, 14246, 14251, 14256, 14261, 14266, - 14271, 14276, 14281, 14286, 14291, 14296, 14301, 14306, - 14311, 14316, 14321, 14326, 14331, 14336, 14341, 14346, - 14351, 14356, 14361, 14366, 14371, 14376, 14381, 14386, - 14391, 14396, 14401, 14406, 14411, 14416, 14421, 14426, - 14431, 14436, 14441, 14446, 14451, 14456, 14461, 14466, - 14471, 14476, 14481, 14486, 14491, 14496, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 14501, 14507, 14513, 14519, 14525, 14531, 14537, 14543, - 14549, 14555, 14561, 14567, 14573, 14579, 14585, 14591, - 14597, 14603, 14609, 14615, 14621, 14627, 14633, 14639, - 14645, 14651, 14657, 14663, 14669, 14675, 14681, 14687, - 14693, 14699, 14705, 14711, 14717, 14723, 14729, 14735, - 14741, 14747, 14753, 14759, 14765, 14771, 14777, 14783, - 14789, 14795, 14801, 14807, 14813, 14819, 14825, 14831, - 14837, 14843, 14849, 14855, 14861, 14867, 14873, 14879, - 0, 0, 14885, 14891, 14897, 14903, 14909, 14915, - 14921, 14927, 14933, 14939, 14945, 14951, 14957, 14963, - 14969, 14975, 14981, 14987, 14993, 14999, 15005, 15011, - 15017, 15023, 15029, 15035, 15041, 15047, 15053, 15059, - 15065, 15071, 15077, 15083, 15089, 15095, 15101, 15107, - 15113, 15119, 15125, 15131, 15137, 15143, 15149, 15155, - 15161, 15167, 15173, 15179, 15185, 15191, 15197, 15203, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 15209, 15215, 15221, 15228, 15235, 15242, 15249, 15256, - 15263, 15270, 15276, 15297, 15308, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 15315, 15319, 15323, 15327, 15331, 15335, 15339, 15343, - 15347, 15351, 15355, 15359, 15363, 15367, 15371, 15375, - 15379, 15383, 15387, 15391, 15395, 0, 0, 0, - 0, 15399, 15403, 15407, 15411, 15415, 15419, 15423, - 15427, 15431, 15435, 0, 15439, 15443, 15447, 15451, - 15455, 15459, 15463, 15467, 15471, 15475, 15479, 15483, - 15487, 15491, 15495, 15499, 15503, 15507, 15511, 0, - 15515, 15519, 15523, 15527, 0, 0, 0, 0, - 15531, 15536, 15541, 0, 15546, 0, 15551, 15556, - 15561, 15566, 15571, 15576, 15581, 15586, 15591, 15596, - 15601, 15605, 15609, 15613, 15617, 15621, 15625, 15629, - 15633, 15637, 15641, 15645, 15649, 15653, 15657, 15661, - 15665, 15669, 15673, 15677, 15681, 15685, 15689, 15693, - 15697, 15701, 15705, 15709, 15713, 15717, 15721, 15725, - 15729, 15733, 15737, 15741, 15745, 15749, 15753, 15757, - 15761, 15765, 15769, 15773, 15777, 15781, 15785, 15789, - 15793, 15797, 15801, 15805, 15809, 15813, 15817, 15821, - 15825, 15829, 15833, 15837, 15841, 15845, 15849, 15853, - 15857, 15861, 15865, 15869, 15873, 15877, 15881, 15885, - 15889, 15893, 15897, 15901, 15905, 15909, 15913, 15917, - 15921, 15925, 15929, 15933, 15937, 15941, 15945, 15949, - 15953, 15957, 15961, 15965, 15969, 15973, 15977, 15981, - 15985, 15989, 15993, 15997, 16001, 16005, 16009, 16013, - 16017, 16021, 16025, 16029, 16033, 16037, 16041, 16045, - 16049, 16053, 16057, 16061, 16065, 16069, 16074, 16079, - 16084, 16089, 16094, 16099, 16104, 0, 0, 0, - - 0, 16109, 16113, 16117, 16121, 16125, 16129, 16133, - 16137, 16141, 16145, 16149, 16153, 16157, 16161, 16165, - 16169, 16173, 16177, 16181, 16185, 16189, 16193, 16197, - 16201, 16205, 16209, 16213, 16217, 16221, 16225, 16229, - 16233, 16237, 16241, 16245, 16249, 16253, 16257, 16261, - 16265, 16269, 16273, 16277, 16281, 16285, 16289, 16293, - 16297, 16301, 16305, 16309, 16313, 16317, 16321, 16325, - 16329, 16333, 16337, 16341, 16345, 16349, 16353, 16357, - 16361, 16365, 16369, 16373, 16377, 16381, 16385, 16389, - 16393, 16397, 16401, 16405, 16409, 16413, 16417, 16421, - 16425, 16429, 16433, 16437, 16441, 16445, 16449, 16453, - 16457, 16461, 16465, 16469, 16473, 16477, 16481, 16485, - 16489, 16493, 16497, 16501, 16505, 16509, 16513, 16517, - 16521, 16525, 16529, 16533, 16537, 16541, 16545, 16549, - 16553, 16557, 16561, 16565, 16569, 16573, 16577, 16581, - 16585, 16589, 16593, 16597, 16601, 16605, 16609, 16613, - 16617, 16621, 16625, 16629, 16633, 16637, 16641, 16645, - 16649, 16653, 16657, 16661, 16665, 16669, 16673, 16677, - 16681, 16685, 16689, 16693, 16697, 16701, 16705, 16709, - 16713, 16717, 16721, 16725, 16729, 16733, 16737, 16741, - 16745, 16749, 16753, 16757, 16761, 16765, 16769, 16773, - 16777, 16781, 16785, 16789, 16793, 16797, 16801, 16805, - 16809, 16813, 16817, 16821, 16825, 16829, 16833, 16837, - 16841, 16845, 16849, 16853, 16857, 16861, 16865, 0, - 0, 0, 16869, 16873, 16877, 16881, 16885, 16889, - 0, 0, 16893, 16897, 16901, 16905, 16909, 16913, - 0, 0, 16917, 16921, 16925, 16929, 16933, 16937, - 0, 0, 16941, 16945, 16949, 0, 0, 0, - 16953, 16957, 16961, 16965, 16969, 16973, 16977, 0, - 16981, 16985, 16989, 16993, 16997, 17001, 17005, 0, + 9185, 9192, 9199, 9206, 9212, 9219, 9225, 9231, + 9239, 9246, 9252, 9258, 9264, 9271, 9278, 9284, + 9290, 9295, 9301, 9308, 9315, 9320, 9328, 9337, + 9345, 9351, 9359, 9367, 9374, 9380, 9386, 9392, + 9399, 9407, 9414, 9420, 9426, 9432, 9437, 9442, + 9447, 9452, 9458, 9464, 9472, 9478, 9485, 9493, + 9499, 9504, 9509, 9517, 9524, 9532, 9538, 9546, + 9551, 9557, 9563, 9569, 9575, 9581, 9588, 9594, + 9599, 9605, 9611, 9617, 9624, 9630, 9636, 9642, + 9650, 9657, 9662, 9670, 9675, 9682, 9689, 9695, + 9701, 9707, 9714, 9719, 9725, 9732, 9737, 9745, + 9751, 9756, 9761, 9766, 9771, 9776, 9781, 9786, + 9791, 9796, 9801, 9807, 9813, 9819, 9825, 9831, + 9837, 9843, 9849, 9855, 9861, 9867, 9873, 9879, + 9885, 9891, 9897, 9902, 9907, 9913, 9918, 0, + 0, 0, 0, 9923, 9928, 9933, 9938, 9943, + 9950, 9955, 9960, 9965, 9970, 9975, 9980, 9985, + 9990, 9996, 10003, 10008, 10013, 10018, 10023, 10028, + 10033, 10038, 10044, 10050, 10056, 10062, 10067, 10072, + 10077, 10082, 10087, 10092, 10097, 10102, 10107, 10112, + 10118, 10124, 10129, 10135, 10141, 10147, 10152, 10158, + 10164, 10171, 10176, 10182, 10188, 10194, 10200, 10208, + 10217, 10222, 10227, 10232, 10237, 10242, 10247, 10252, + 10257, 10262, 10267, 10272, 10277, 10282, 10287, 10292, + 10297, 10302, 10307, 10314, 10319, 10324, 10329, 10336, + 10342, 10347, 10352, 10357, 10362, 10367, 10372, 10377, + 10382, 10387, 10392, 10398, 10403, 10408, 10414, 10420, + 10425, 10432, 10438, 10443, 10448, 10453, 0, 0, + 10458, 10463, 10468, 10473, 10478, 10483, 10488, 10493, + 10498, 10503, 10509, 10515, 10521, 10527, 10533, 10539, + 10545, 10551, 10557, 10563, 10569, 10575, 10581, 10587, + 10593, 10599, 10605, 10611, 10617, 10623, 10629, 0, + + 10635, 10639, 10643, 10647, 10651, 10655, 10659, 10663, + 10667, 10671, 10675, 10679, 10683, 10687, 10691, 10695, + 10699, 10703, 10707, 10711, 10715, 10719, 10723, 10727, + 10731, 10735, 10739, 10743, 10747, 10751, 10755, 10759, + 10763, 10767, 10771, 10775, 10779, 10783, 10787, 10791, + 10795, 10799, 10803, 10807, 10811, 10815, 10819, 10823, + 10827, 10831, 10835, 10839, 10843, 10847, 10851, 10855, + 10859, 10863, 10867, 10871, 10875, 10879, 10883, 10887, + 10891, 10895, 10899, 10903, 10907, 10911, 10915, 10919, + 10923, 10927, 10931, 10935, 10939, 10943, 10947, 10951, + 10955, 10959, 10963, 10967, 10971, 10975, 10979, 10983, + 10987, 10991, 10995, 10999, 11003, 11007, 11011, 11015, + 11019, 11023, 11027, 11031, 11035, 11039, 11043, 11047, + 11051, 11055, 11059, 11063, 11067, 11071, 11075, 11079, + 11083, 11087, 11091, 11095, 11099, 11103, 11107, 11111, + 11115, 11119, 11123, 11127, 11131, 11135, 11139, 11143, + 11147, 11151, 11155, 11159, 11163, 11167, 11171, 11175, + 11179, 11183, 11187, 11191, 11195, 11199, 11203, 11207, + 11211, 11215, 11219, 11223, 11227, 11231, 11235, 11239, + 11243, 11247, 11251, 11255, 11259, 11263, 11267, 11271, + 11275, 11279, 11283, 11287, 11291, 11295, 11299, 11303, + 11307, 11311, 11315, 11319, 11323, 11327, 11331, 11335, + 11339, 11343, 11347, 11351, 11355, 11359, 11363, 11367, + 11371, 11375, 11379, 11383, 11387, 11391, 11395, 11399, + 11403, 11407, 11411, 11415, 11419, 11423, 11427, 11431, + 11435, 11439, 11443, 11447, 11451, 11455, 11459, 11463, + 11467, 11471, 11475, 11479, 11483, 11487, 11491, 11495, + 11499, 11503, 11507, 11511, 11515, 11519, 11523, 11527, + 11531, 11535, 11539, 11543, 11547, 11551, 11555, 11559, + 11563, 11567, 11571, 11575, 11579, 11583, 11587, 11591, + 11595, 11599, 11603, 11607, 11611, 11615, 11619, 11623, + 11627, 11631, 11635, 11639, 11643, 11647, 11651, 11655, + + 11659, 11663, 11667, 11671, 11675, 11679, 11683, 11687, + 11691, 11695, 11699, 11703, 11707, 11711, 0, 0, + 11715, 0, 11719, 0, 0, 11723, 11727, 11731, + 11735, 11739, 11743, 11747, 11751, 11755, 11759, 0, + 11763, 0, 11767, 0, 0, 11771, 11775, 0, + 0, 0, 11779, 11783, 11787, 11791, 0, 0, + 11795, 11799, 11803, 11807, 11811, 11815, 11819, 11823, + 11827, 11831, 11835, 11839, 11843, 11847, 11851, 11855, + 11859, 11863, 11867, 11871, 11875, 11879, 11883, 11887, + 11891, 11895, 11899, 11903, 11907, 11911, 11915, 11919, + 11923, 11927, 11931, 11935, 11939, 11943, 11947, 11951, + 11955, 11959, 11963, 11967, 11971, 11975, 11979, 11983, + 11987, 11991, 11995, 11999, 12003, 12007, 12011, 12015, + 12019, 12023, 12027, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + + 12031, 12036, 12041, 12046, 12052, 12058, 12063, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 12068, 12073, 12078, 12083, 12088, + 0, 0, 0, 0, 0, 12093, 0, 12098, + 12103, 12107, 12111, 12115, 12119, 12123, 12127, 12131, + 12135, 12139, 12143, 12148, 12153, 12158, 12163, 12168, + 12173, 12178, 12183, 12188, 12193, 12198, 12203, 0, + 12208, 12213, 12218, 12223, 12228, 0, 12233, 0, + 12238, 12243, 0, 12248, 12253, 0, 12258, 12263, + 12268, 12273, 12278, 12283, 12288, 12293, 12298, 12303, + 12308, 12312, 12316, 12320, 12324, 12328, 12332, 12336, + 12340, 12344, 12348, 12352, 12356, 12360, 12364, 12368, + 12372, 12376, 12380, 12384, 12388, 12392, 12396, 12400, + 12404, 12408, 12412, 12416, 12420, 12424, 12428, 12432, + 12436, 12440, 12444, 12448, 12452, 12456, 12460, 12464, + 12468, 12472, 12476, 12480, 12484, 12488, 12492, 12496, + 12500, 12504, 12508, 12512, 12516, 12520, 12524, 12528, + 12532, 12536, 12540, 12544, 12548, 12552, 12556, 12560, + 12564, 12568, 12572, 12576, 12580, 12584, 12588, 12592, + 12596, 12600, 12604, 12608, 12612, 12616, 12620, 12624, + 12628, 12632, 12636, 12640, 12644, 12648, 12652, 12656, + 12660, 12664, 12668, 12672, 12676, 12680, 12684, 12688, + 12692, 12696, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 12700, 12704, 12708, 12712, 12716, + 12720, 12724, 12728, 12732, 12736, 12740, 12744, 12748, + 12752, 12756, 12760, 12764, 12768, 12772, 12776, 12780, + 12784, 12788, 12792, 12797, 12802, 12807, 12812, 12817, + 12822, 12827, 12832, 12837, 12842, 12847, 12852, 12857, + 12862, 12867, 12872, 12877, 12882, 12886, 12890, 12894, + + 12898, 12903, 12908, 12913, 12918, 12923, 12928, 12933, + 12938, 12943, 12948, 12953, 12958, 12963, 12968, 12973, + 12978, 12983, 12988, 12993, 12998, 13003, 13008, 13013, + 13018, 13023, 13028, 13033, 13038, 13043, 13048, 13053, + 13058, 13063, 13068, 13073, 13078, 13083, 13088, 13093, + 13098, 13103, 13108, 13113, 13118, 13123, 13128, 13133, + 13138, 13143, 13148, 13153, 13158, 13163, 13168, 13173, + 13178, 13183, 13188, 13193, 13198, 13203, 13208, 13213, + 13218, 13223, 13228, 13233, 13238, 13243, 13248, 13253, + 13258, 13263, 13268, 13273, 13278, 13283, 13288, 13293, + 13298, 13303, 13308, 13313, 13318, 13323, 13328, 13333, + 13338, 13343, 13348, 13353, 13358, 13363, 13368, 13374, + 13380, 13386, 13392, 13398, 13404, 13409, 13414, 13419, + 13424, 13429, 13434, 13439, 13444, 13449, 13454, 13459, + 13464, 13469, 13474, 13479, 13484, 13489, 13494, 13499, + 13504, 13509, 13514, 13519, 13524, 13529, 13534, 13539, + 13544, 13549, 13554, 13559, 13564, 13569, 13574, 13579, + 13584, 13589, 13594, 13599, 13604, 13609, 13614, 13619, + 13624, 13629, 13634, 13639, 13644, 13649, 13654, 13659, + 13664, 13669, 13674, 13679, 13684, 13689, 13694, 13699, + 13704, 13709, 13714, 13719, 13724, 13729, 13734, 13739, + 13744, 13749, 13754, 13759, 13764, 13769, 13774, 13779, + 13784, 13789, 13794, 13799, 13804, 13809, 13814, 13819, + 13824, 13829, 13834, 13839, 13844, 13849, 13854, 13859, + 13864, 13869, 13874, 13879, 13884, 13889, 13894, 13899, + 13904, 13909, 13914, 13919, 13924, 13929, 13934, 13939, + 13944, 13949, 13954, 13959, 13964, 13969, 13974, 13979, + 13984, 13989, 13994, 13999, 14004, 14009, 14014, 14019, + 14024, 14029, 14034, 14039, 14044, 14049, 14054, 14059, + 14064, 14069, 14074, 14079, 14084, 14089, 14094, 14099, + 14104, 14109, 14114, 14120, 14126, 14132, 14137, 14142, + 14147, 14152, 14157, 14162, 14167, 14172, 14177, 14182, + + 14187, 14192, 14197, 14202, 14207, 14212, 14217, 14222, + 14227, 14232, 14237, 14242, 14247, 14252, 14257, 14262, + 14267, 14272, 14277, 14282, 14287, 14292, 14297, 14302, + 14307, 14312, 14317, 14322, 14327, 14332, 14337, 14342, + 14347, 14352, 14357, 14362, 14367, 14372, 14377, 14382, + 14387, 14392, 14397, 14402, 14407, 14412, 14417, 14422, + 14427, 14432, 14437, 14442, 14447, 14452, 14457, 14462, + 14467, 14472, 14477, 14482, 14487, 14492, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 14497, 14503, 14509, 14515, 14521, 14527, 14533, 14539, + 14545, 14551, 14557, 14563, 14569, 14575, 14581, 14587, + 14593, 14599, 14605, 14611, 14617, 14623, 14629, 14635, + 14641, 14647, 14653, 14659, 14665, 14671, 14677, 14683, + 14689, 14695, 14701, 14707, 14713, 14719, 14725, 14731, + 14737, 14743, 14749, 14755, 14761, 14767, 14773, 14779, + 14785, 14791, 14797, 14803, 14809, 14815, 14821, 14827, + 14833, 14839, 14845, 14851, 14857, 14863, 14869, 14875, + 0, 0, 14881, 14887, 14893, 14899, 14905, 14911, + 14917, 14923, 14929, 14935, 14941, 14947, 14953, 14959, + 14965, 14971, 14977, 14983, 14989, 14995, 15001, 15007, + 15013, 15019, 15025, 15031, 15037, 15043, 15049, 15055, + 15061, 15067, 15073, 15079, 15085, 15091, 15097, 15103, + 15109, 15115, 15121, 15127, 15133, 15139, 15145, 15151, + 15157, 15163, 15169, 15175, 15181, 15187, 15193, 15199, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 15205, 15211, 15217, 15224, 15231, 15238, 15245, 15252, + 15259, 15266, 15272, 15293, 15304, 0, 0, 0, + + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 15311, 15315, 15319, 15323, 15327, 15331, 15335, 15339, + 15343, 15347, 15351, 15355, 15359, 15363, 15367, 15371, + 15375, 15379, 15383, 15387, 15391, 0, 0, 0, + 0, 15395, 15399, 15403, 15407, 15411, 15415, 15419, + 15423, 15427, 15431, 0, 15435, 15439, 15443, 15447, + 15451, 15455, 15459, 15463, 15467, 15471, 15475, 15479, + 15483, 15487, 15491, 15495, 15499, 15503, 15507, 0, + 15511, 15515, 15519, 15523, 0, 0, 0, 0, + 15527, 15532, 15537, 0, 15542, 0, 15547, 15552, + 15557, 15562, 15567, 15572, 15577, 15582, 15587, 15592, + 15597, 15601, 15605, 15609, 15613, 15617, 15621, 15625, + 15629, 15633, 15637, 15641, 15645, 15649, 15653, 15657, + 15661, 15665, 15669, 15673, 15677, 15681, 15685, 15689, + 15693, 15697, 15701, 15705, 15709, 15713, 15717, 15721, + 15725, 15729, 15733, 15737, 15741, 15745, 15749, 15753, + 15757, 15761, 15765, 15769, 15773, 15777, 15781, 15785, + 15789, 15793, 15797, 15801, 15805, 15809, 15813, 15817, + 15821, 15825, 15829, 15833, 15837, 15841, 15845, 15849, + 15853, 15857, 15861, 15865, 15869, 15873, 15877, 15881, + 15885, 15889, 15893, 15897, 15901, 15905, 15909, 15913, + 15917, 15921, 15925, 15929, 15933, 15937, 15941, 15945, + 15949, 15953, 15957, 15961, 15965, 15969, 15973, 15977, + 15981, 15985, 15989, 15993, 15997, 16001, 16005, 16009, + 16013, 16017, 16021, 16025, 16029, 16033, 16037, 16041, + 16045, 16049, 16053, 16057, 16061, 16065, 16070, 16075, + 16080, 16085, 16090, 16095, 16100, 0, 0, 0, + + 0, 16105, 16109, 16113, 16117, 16121, 16125, 16129, + 16133, 16137, 16141, 16145, 16149, 16153, 16157, 16161, + 16165, 16169, 16173, 16177, 16181, 16185, 16189, 16193, + 16197, 16201, 16205, 16209, 16213, 16217, 16221, 16225, + 16229, 16233, 16237, 16241, 16245, 16249, 16253, 16257, + 16261, 16265, 16269, 16273, 16277, 16281, 16285, 16289, + 16293, 16297, 16301, 16305, 16309, 16313, 16317, 16321, + 16325, 16329, 16333, 16337, 16341, 16345, 16349, 16353, + 16357, 16361, 16365, 16369, 16373, 16377, 16381, 16385, + 16389, 16393, 16397, 16401, 16405, 16409, 16413, 16417, + 16421, 16425, 16429, 16433, 16437, 16441, 16445, 16449, + 16453, 16457, 16461, 16465, 16469, 16473, 16477, 16481, + 16485, 16489, 16493, 16497, 16501, 16505, 16509, 16513, + 16517, 16521, 16525, 16529, 16533, 16537, 16541, 16545, + 16549, 16553, 16557, 16561, 16565, 16569, 16573, 16577, + 16581, 16585, 16589, 16593, 16597, 16601, 16605, 16609, + 16613, 16617, 16621, 16625, 16629, 16633, 16637, 16641, + 16645, 16649, 16653, 16657, 16661, 16665, 16669, 16673, + 16677, 16681, 16685, 16689, 16693, 16697, 16701, 16705, + 16709, 16713, 16717, 16721, 16725, 16729, 16733, 16737, + 16741, 16745, 16749, 16753, 16757, 16761, 16765, 16769, + 16773, 16777, 16781, 16785, 16789, 16793, 16797, 16801, + 16805, 16809, 16813, 16817, 16821, 16825, 16829, 16833, + 16837, 16841, 16845, 16849, 16853, 16857, 16861, 0, + 0, 0, 16865, 16869, 16873, 16877, 16881, 16885, + 0, 0, 16889, 16893, 16897, 16901, 16905, 16909, + 0, 0, 16913, 16917, 16921, 16925, 16929, 16933, + 0, 0, 16937, 16941, 16945, 0, 0, 0, + 16949, 16953, 16957, 16961, 16965, 16969, 16973, 0, + 16977, 16981, 16985, 16989, 16993, 16997, 17001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; -// 67552 bytes +// 67544 bytes const Q_UINT16 QUnicodeTables::ligature_map[] = { 0, - 5567, 0, - 5552, 0, - 5572, 0, - 67, 72, 77, 82, 87, 92, 332, 342, 352, 966, 1196, 1206, 1346, 2365, 3145, 3155, 0, - 2375, 2385, 2395, 0, + 5563, 0, + 5548, 0, + 5568, 0, + 67, 72, 77, 82, 87, 92, 332, 342, 352, 966, 1196, 1206, 1346, 2361, 3141, 3151, 0, + 2371, 2381, 2391, 0, 97, 362, 372, 382, 392, 0, - 402, 2415, 2425, 2435, 2445, 2455, 0, - 102, 107, 112, 117, 412, 422, 432, 442, 452, 1216, 1226, 1356, 2485, 2495, 3265, 3275, 3285, 0, - 2515, 0, - 462, 472, 482, 492, 1076, 1146, 2525, 0, - 502, 1336, 2535, 2545, 2555, 2565, 2575, 0, - 122, 127, 132, 137, 512, 522, 532, 542, 552, 976, 1236, 1246, 2585, 3345, 3355, 0, + 402, 2411, 2421, 2431, 2441, 2451, 0, + 102, 107, 112, 117, 412, 422, 432, 442, 452, 1216, 1226, 1356, 2481, 2491, 3261, 3271, 3281, 0, + 2511, 0, + 462, 472, 482, 492, 1076, 1146, 2521, 0, + 502, 1336, 2531, 2541, 2551, 2561, 2571, 0, + 122, 127, 132, 137, 512, 522, 532, 542, 552, 976, 1236, 1246, 2581, 3341, 3351, 0, 567, 0, - 577, 1086, 2605, 2615, 2625, 0, - 587, 597, 607, 2635, 2655, 2665, 0, - 2675, 2685, 2695, 0, - 142, 627, 637, 647, 1156, 2705, 2715, 2725, 2735, 0, - 147, 152, 157, 162, 167, 662, 672, 682, 901, 986, 1096, 1256, 1266, 1386, 3365, 3375, 0, - 2785, 2795, 0, - 692, 702, 712, 1276, 1286, 2805, 2815, 2835, 0, - 722, 732, 742, 752, 1316, 2845, 2855, 0, - 762, 772, 1326, 2895, 2905, 2915, 2925, 0, - 172, 177, 182, 187, 782, 792, 802, 812, 822, 832, 911, 996, 1296, 1306, 2935, 2945, 2955, 3485, 3495, 0, - 2985, 2995, 0, - 842, 3005, 3015, 3025, 3035, 3045, 0, - 3055, 3065, 0, - 192, 852, 862, 1406, 3075, 3555, 3565, 3575, 3585, 0, - 867, 877, 887, 3085, 3095, 3105, 0, - 197, 202, 207, 212, 217, 222, 337, 347, 357, 971, 1201, 1211, 1351, 2370, 3150, 3160, 0, - 2380, 2390, 2400, 0, + 577, 1086, 2601, 2611, 2621, 0, + 587, 597, 607, 2631, 2651, 2661, 0, + 2671, 2681, 2691, 0, + 142, 627, 637, 647, 1156, 2701, 2711, 2721, 2731, 0, + 147, 152, 157, 162, 167, 662, 672, 682, 901, 986, 1096, 1256, 1266, 1386, 3361, 3371, 0, + 2781, 2791, 0, + 692, 702, 712, 1276, 1286, 2801, 2811, 2831, 0, + 722, 732, 742, 752, 1316, 2841, 2851, 0, + 762, 772, 1326, 2891, 2901, 2911, 2921, 0, + 172, 177, 182, 187, 782, 792, 802, 812, 822, 832, 911, 996, 1296, 1306, 2931, 2941, 2951, 3481, 3491, 0, + 2981, 2991, 0, + 842, 3001, 3011, 3021, 3031, 3041, 0, + 3051, 3061, 0, + 192, 852, 862, 1406, 3071, 3551, 3561, 3571, 3581, 0, + 867, 877, 887, 3081, 3091, 3101, 0, + 197, 202, 207, 212, 217, 222, 337, 347, 357, 971, 1201, 1211, 1351, 2366, 3146, 3156, 0, + 2376, 2386, 2396, 0, 227, 367, 377, 387, 397, 0, - 407, 2420, 2430, 2440, 2450, 2460, 0, - 232, 237, 242, 247, 417, 427, 437, 447, 457, 1221, 1231, 1361, 2490, 2500, 3270, 3280, 3290, 0, - 2520, 0, - 467, 477, 487, 497, 1081, 1151, 2530, 0, - 507, 1341, 2540, 2550, 2560, 2570, 2580, 3115, 0, - 252, 257, 262, 267, 517, 527, 537, 547, 981, 1241, 1251, 2590, 3350, 3360, 0, + 407, 2416, 2426, 2436, 2446, 2456, 0, + 232, 237, 242, 247, 417, 427, 437, 447, 457, 1221, 1231, 1361, 2486, 2496, 3266, 3276, 3286, 0, + 2516, 0, + 467, 477, 487, 497, 1081, 1151, 2526, 0, + 507, 1341, 2536, 2546, 2556, 2566, 2576, 3111, 0, + 252, 257, 262, 267, 517, 527, 537, 547, 981, 1241, 1251, 2586, 3346, 3356, 0, 572, 1126, 0, - 582, 1091, 2610, 2620, 2630, 0, - 592, 602, 612, 2640, 2660, 2670, 0, - 2680, 2690, 2700, 0, - 272, 632, 642, 652, 1161, 2710, 2720, 2730, 2740, 0, - 277, 282, 287, 292, 297, 667, 677, 687, 906, 991, 1101, 1261, 1271, 1391, 3370, 3380, 0, - 2790, 2800, 0, - 697, 707, 717, 1281, 1291, 2810, 2820, 2840, 0, - 727, 737, 747, 757, 1321, 2850, 2860, 0, - 767, 777, 1331, 2900, 2910, 2920, 2930, 3120, 0, - 302, 307, 312, 317, 787, 797, 807, 817, 827, 837, 916, 1001, 1301, 1311, 2940, 2950, 2960, 3490, 3500, 0, - 2990, 3000, 0, - 847, 3010, 3020, 3030, 3040, 3050, 3125, 0, - 3060, 3070, 0, - 322, 327, 857, 1411, 3080, 3130, 3560, 3570, 3580, 3590, 0, - 872, 882, 892, 3090, 3100, 3110, 0, - 1537, 4476, 4670, 0, - 3165, 3175, 3185, 3195, 0, + 582, 1091, 2606, 2616, 2626, 0, + 592, 602, 612, 2636, 2656, 2666, 0, + 2676, 2686, 2696, 0, + 272, 632, 642, 652, 1161, 2706, 2716, 2726, 2736, 0, + 277, 282, 287, 292, 297, 667, 677, 687, 906, 991, 1101, 1261, 1271, 1391, 3366, 3376, 0, + 2786, 2796, 0, + 697, 707, 717, 1281, 1291, 2806, 2816, 2836, 0, + 727, 737, 747, 757, 1321, 2846, 2856, 0, + 767, 777, 1331, 2896, 2906, 2916, 2926, 3116, 0, + 302, 307, 312, 317, 787, 797, 807, 817, 827, 837, 916, 1001, 1301, 1311, 2936, 2946, 2956, 3486, 3496, 0, + 2986, 2996, 0, + 847, 3006, 3016, 3026, 3036, 3046, 3121, 0, + 3056, 3066, 0, + 322, 327, 857, 1411, 3076, 3126, 3556, 3566, 3576, 3586, 0, + 872, 882, 892, 3086, 3096, 3106, 0, + 1537, 4472, 4666, 0, + 3161, 3171, 3181, 3191, 0, 1046, 0, 1166, 0, 1066, 1176, 0, - 2405, 0, - 3295, 3305, 3315, 3325, 0, - 2595, 0, - 3385, 3395, 3405, 3415, 0, - 1376, 2745, 2755, 0, + 2401, 0, + 3291, 3301, 3311, 3321, 0, + 2591, 0, + 3381, 3391, 3401, 3411, 0, + 1376, 2741, 2751, 0, 1366, 0, 1186, 0, 1006, 1016, 1026, 1036, 0, - 3170, 3180, 3190, 3200, 0, + 3166, 3176, 3186, 3196, 0, 1051, 0, 1171, 0, 1071, 1181, 0, - 2410, 0, - 3300, 3310, 3320, 3330, 0, - 2600, 0, - 3390, 3400, 3410, 3420, 0, - 1381, 2750, 2760, 0, + 2406, 0, + 3296, 3306, 3316, 3326, 0, + 2596, 0, + 3386, 3396, 3406, 3416, 0, + 1381, 2746, 2756, 0, 1371, 0, 1191, 0, 1011, 1021, 1031, 1041, 0, - 3215, 3225, 3235, 3245, 0, - 3220, 3230, 3240, 3250, 0, - 2465, 2475, 0, - 2470, 2480, 0, - 2765, 2775, 0, - 2770, 2780, 0, - 2865, 0, - 2870, 0, - 2875, 0, - 2880, 0, - 2965, 0, - 2970, 0, - 2975, 0, - 2980, 0, - 3140, 0, - 3435, 3445, 3455, 3465, 3475, 0, - 3440, 3450, 3460, 3470, 3480, 0, - 3505, 3515, 3525, 3535, 3545, 0, - 3510, 3520, 3530, 3540, 3550, 0, + 3211, 3221, 3231, 3241, 0, + 3216, 3226, 3236, 3246, 0, + 2461, 2471, 0, + 2466, 2476, 0, + 2761, 2771, 0, + 2766, 2776, 0, + 2861, 0, + 2866, 0, + 2871, 0, + 2876, 0, + 2961, 0, + 2966, 0, + 2971, 0, + 2976, 0, + 3136, 0, + 3431, 3441, 3451, 3461, 3471, 0, + 3436, 3446, 3456, 3466, 3476, 0, + 3501, 3511, 3521, 3531, 3541, 0, + 3506, 3516, 3526, 3536, 3546, 0, 1116, 0, 1106, 0, 1111, 0, 1056, 0, 1061, 0, - 2505, 0, - 2510, 0, + 2501, 0, + 2506, 0, 1396, 0, 1401, 0, 1121, 0, 1514, 0, - 1542, 3635, 3640, 4433, 4438, 4443, 4452, 0, - 1551, 3705, 3710, 4506, 0, - 1556, 3775, 3780, 4515, 4524, 0, - 1561, 1586, 3855, 3860, 4573, 4578, 4583, 0, - 1566, 3925, 3930, 4708, 0, - 4665, 0, - 1571, 1591, 3995, 4646, 4651, 4656, 0, - 1576, 4055, 4060, 4717, 4726, 0, - 4418, 0, - 4491, 0, - 1596, 3595, 3600, 4095, 4398, 4403, 4413, 4423, 0, - 1601, 3675, 3680, 4104, 0, - 1606, 3735, 3740, 4113, 4486, 4496, 0, - 1611, 1621, 3815, 3820, 4122, 4544, 4549, 4563, 0, - 1631, 3895, 3900, 4131, 0, - 4626, 4631, 0, - 1626, 1636, 3955, 3960, 4140, 4607, 4612, 4636, 0, - 1641, 4015, 4020, 4149, 4688, 4698, 0, - 1581, 4554, 4568, 0, - 1616, 4617, 4641, 0, - 4693, 0, + 1542, 3631, 3636, 4429, 4434, 4439, 4448, 0, + 1551, 3701, 3706, 4502, 0, + 1556, 3771, 3776, 4511, 4520, 0, + 1561, 1586, 3851, 3856, 4569, 4574, 4579, 0, + 1566, 3921, 3926, 4704, 0, + 4661, 0, + 1571, 1591, 3991, 4642, 4647, 4652, 0, + 1576, 4051, 4056, 4713, 4722, 0, + 4414, 0, + 4487, 0, + 1596, 3591, 3596, 4091, 4394, 4399, 4409, 4419, 0, + 1601, 3671, 3676, 4100, 0, + 1606, 3731, 3736, 4109, 4482, 4492, 0, + 1611, 1621, 3811, 3816, 4118, 4540, 4545, 4559, 0, + 1631, 3891, 3896, 4127, 0, + 4622, 4627, 0, + 1626, 1636, 3951, 3956, 4136, 4603, 4608, 4632, 0, + 1641, 4011, 4016, 4145, 4684, 4694, 0, + 1581, 4550, 4564, 0, + 1616, 4613, 4637, 0, + 4689, 0, 1658, 1663, 0, - 1711, 0, - 1796, 1806, 0, - 1706, 0, - 1696, 1701, 1816, 0, - 1786, 1836, 0, - 1846, 0, - 1721, 1731, 1856, 1866, 0, - 1716, 0, - 1876, 0, - 1726, 1906, 1916, 1926, 0, - 1936, 0, - 1946, 0, - 1896, 0, - 1801, 1811, 0, - 1751, 0, - 1741, 1746, 1821, 0, - 1791, 1841, 0, - 1851, 0, - 1736, 1766, 1861, 1871, 0, - 1761, 0, - 1881, 0, - 1771, 1911, 1921, 1931, 0, - 1941, 0, - 1951, 0, - 1901, 0, - 1756, 0, - 1776, 0, - 1781, 0, - 1826, 0, - 1831, 0, - 1886, 0, - 1891, 0, - 12167, 12172, 12177, 0, - 12182, 12292, 0, - 12187, 0, - 12192, 0, - 12197, 0, - 12202, 12287, 0, - 12207, 0, - 12212, 0, - 12097, 12217, 0, - 12222, 0, - 12227, 12297, 0, - 12232, 0, - 12237, 0, - 12242, 0, - 12247, 0, - 12252, 0, - 12257, 12302, 0, - 12262, 0, - 12267, 0, - 12272, 0, - 12147, 12152, 12277, 0, - 12282, 0, - 12102, 0, - 1961, 1966, 1976, 0, - 1971, 0, - 1981, 0, - 2011, 0, - 2016, 0, - 2006, 0, - 2036, 0, - 2041, 0, - 2046, 0, - 2051, 0, - 2056, 0, - 2061, 0, - 2021, 0, - 2066, 0, - 2071, 0, - 2026, 0, - 2031, 0, - 2086, 0, - 2091, 0, - 2096, 0, - 2076, 2081, 0, - 2111, 0, - 2116, 0, - 2121, 0, - 2126, 0, - 2101, 0, - 2106, 0, - 2146, 0, - 2151, 0, - 2131, 2136, 2141, 0, - 2156, 0, - 2161, 2171, 0, - 2166, 0, - 2176, 0, - 2181, 0, - 2186, 2191, 2196, 0, - 2201, 0, - 2206, 2216, 0, - 2211, 0, - 2221, 2226, 2236, 0, - 2231, 0, - 2290, 0, - 2265, 0, - 2270, 0, - 2275, 0, - 2280, 0, - 2285, 0, - 2295, 2300, 2325, 0, - 2355, 0, - 2330, 0, - 2335, 0, - 2340, 0, - 2345, 0, - 2350, 0, - 2305, 0, - 2315, 0, - 2360, 0, - 2645, 0, - 2650, 0, - 2825, 0, - 2830, 0, - 2885, 0, - 2890, 0, - 3205, 3255, 0, - 3210, 3260, 0, - 3335, 0, - 3340, 0, - 3425, 0, - 3430, 0, - 3605, 3615, 3625, 4158, 0, - 3610, 3620, 3630, 4163, 0, - 4168, 0, - 4173, 0, - 4178, 0, - 4183, 0, - 4188, 0, - 4193, 0, - 3645, 3655, 3665, 4198, 0, - 3650, 3660, 3670, 4203, 0, - 4208, 0, - 4213, 0, - 4218, 0, - 4223, 0, - 4228, 0, - 4233, 0, - 3685, 3695, 0, - 3690, 3700, 0, - 3715, 3725, 0, - 3720, 3730, 0, - 3745, 3755, 3765, 4238, 0, - 3750, 3760, 3770, 4243, 0, - 4248, 0, - 4253, 0, - 4258, 0, - 4263, 0, - 4268, 0, - 4273, 0, - 3785, 3795, 3805, 4278, 0, - 3790, 3800, 3810, 4283, 0, - 4288, 0, - 4293, 0, - 4298, 0, - 4303, 0, - 4308, 0, - 4313, 0, - 3825, 3835, 3845, 0, - 3830, 3840, 3850, 0, - 3865, 3875, 3885, 0, - 3870, 3880, 3890, 0, - 3905, 3915, 0, - 3910, 3920, 0, - 3935, 3945, 0, - 3940, 3950, 0, - 3965, 3975, 3985, 0, - 3970, 3980, 3990, 0, - 4000, 4005, 4010, 0, - 4025, 4035, 4045, 4318, 0, - 4030, 4040, 4050, 4323, 0, - 4328, 0, - 4333, 0, - 4338, 0, - 4343, 0, - 4348, 0, - 4353, 0, - 4065, 4075, 4085, 4358, 0, - 4070, 4080, 4090, 4363, 0, - 4368, 0, - 4373, 0, - 4378, 0, - 4383, 0, - 4388, 0, - 4393, 0, - 4408, 0, - 4481, 0, - 4683, 0, - 4428, 0, - 4529, 4534, 4539, 0, - 4501, 0, - 4703, 0, - 4592, 4597, 4602, 0, - 5455, 0, - 5460, 0, - 5465, 0, - 5470, 0, - 5480, 0, - 5475, 0, - 5485, 0, - 5490, 0, - 5495, 0, - 5500, 0, - 5505, 0, - 5532, 0, - 5537, 0, - 5542, 0, - 5547, 0, - 5562, 0, - 5557, 0, - 5577, 0, - 5582, 0, - 5587, 0, - 5592, 0, - 5597, 0, - 5602, 0, - 5607, 0, - 5612, 0, - 5657, 0, - 5662, 0, - 5617, 0, - 5622, 0, - 5627, 0, - 5632, 0, - 5667, 0, - 5672, 0, - 5637, 0, - 5642, 0, - 5647, 0, - 5652, 0, - 5677, 0, - 5682, 0, - 5687, 0, - 5692, 0, - 6430, 0, - 7444, 0, - 7319, 0, - 7324, 0, - 7329, 0, - 7334, 0, - 7339, 0, - 7344, 0, - 7349, 0, - 7354, 0, - 7359, 0, - 7364, 0, - 7369, 0, - 7374, 0, - 7379, 0, - 7384, 0, - 7389, 0, - 7394, 7399, 0, - 7404, 7409, 0, - 7414, 7419, 0, - 7424, 7429, 0, - 7434, 7439, 0, - 7459, 0, - 7594, 0, - 7469, 0, - 7474, 0, - 7479, 0, - 7484, 0, - 7489, 0, - 7494, 0, - 7499, 0, - 7504, 0, - 7509, 0, - 7514, 0, - 7519, 0, - 7524, 0, - 7529, 0, - 7534, 0, - 7539, 0, - 7544, 7549, 0, - 7554, 7559, 0, - 7564, 7569, 0, - 7574, 7579, 0, - 7584, 7589, 0, - 7599, 0, - 7604, 0, - 7609, 0, - 7614, 0, - 7619, 0, - 12157, 12162, 0, + 1707, 0, + 1792, 1802, 0, + 1702, 0, + 1692, 1697, 1812, 0, + 1782, 1832, 0, + 1842, 0, + 1717, 1727, 1852, 1862, 0, + 1712, 0, + 1872, 0, + 1722, 1902, 1912, 1922, 0, + 1932, 0, + 1942, 0, + 1892, 0, + 1797, 1807, 0, + 1747, 0, + 1737, 1742, 1817, 0, + 1787, 1837, 0, + 1847, 0, + 1732, 1762, 1857, 1867, 0, + 1757, 0, + 1877, 0, + 1767, 1907, 1917, 1927, 0, + 1937, 0, + 1947, 0, + 1897, 0, + 1752, 0, + 1772, 0, + 1777, 0, + 1822, 0, + 1827, 0, + 1882, 0, + 1887, 0, + 12163, 12168, 12173, 0, + 12178, 12288, 0, + 12183, 0, + 12188, 0, + 12193, 0, + 12198, 12283, 0, + 12203, 0, + 12208, 0, + 12093, 12213, 0, + 12218, 0, + 12223, 12293, 0, + 12228, 0, + 12233, 0, + 12238, 0, + 12243, 0, + 12248, 0, + 12253, 12298, 0, + 12258, 0, + 12263, 0, + 12268, 0, + 12143, 12148, 12273, 0, + 12278, 0, + 12098, 0, + 1957, 1962, 1972, 0, + 1967, 0, + 1977, 0, + 2007, 0, + 2012, 0, + 2002, 0, + 2032, 0, + 2037, 0, + 2042, 0, + 2047, 0, + 2052, 0, + 2057, 0, + 2017, 0, + 2062, 0, + 2067, 0, + 2022, 0, + 2027, 0, + 2082, 0, + 2087, 0, + 2092, 0, + 2072, 2077, 0, + 2107, 0, + 2112, 0, + 2117, 0, + 2122, 0, + 2097, 0, + 2102, 0, + 2142, 0, + 2147, 0, + 2127, 2132, 2137, 0, + 2152, 0, + 2157, 2167, 0, + 2162, 0, + 2172, 0, + 2177, 0, + 2182, 2187, 2192, 0, + 2197, 0, + 2202, 2212, 0, + 2207, 0, + 2217, 2222, 2232, 0, + 2227, 0, + 2286, 0, + 2261, 0, + 2266, 0, + 2271, 0, + 2276, 0, + 2281, 0, + 2291, 2296, 2321, 0, + 2351, 0, + 2326, 0, + 2331, 0, + 2336, 0, + 2341, 0, + 2346, 0, + 2301, 0, + 2311, 0, + 2356, 0, + 2641, 0, + 2646, 0, + 2821, 0, + 2826, 0, + 2881, 0, + 2886, 0, + 3201, 3251, 0, + 3206, 3256, 0, + 3331, 0, + 3336, 0, + 3421, 0, + 3426, 0, + 3601, 3611, 3621, 4154, 0, + 3606, 3616, 3626, 4159, 0, + 4164, 0, + 4169, 0, + 4174, 0, + 4179, 0, + 4184, 0, + 4189, 0, + 3641, 3651, 3661, 4194, 0, + 3646, 3656, 3666, 4199, 0, + 4204, 0, + 4209, 0, + 4214, 0, + 4219, 0, + 4224, 0, + 4229, 0, + 3681, 3691, 0, + 3686, 3696, 0, + 3711, 3721, 0, + 3716, 3726, 0, + 3741, 3751, 3761, 4234, 0, + 3746, 3756, 3766, 4239, 0, + 4244, 0, + 4249, 0, + 4254, 0, + 4259, 0, + 4264, 0, + 4269, 0, + 3781, 3791, 3801, 4274, 0, + 3786, 3796, 3806, 4279, 0, + 4284, 0, + 4289, 0, + 4294, 0, + 4299, 0, + 4304, 0, + 4309, 0, + 3821, 3831, 3841, 0, + 3826, 3836, 3846, 0, + 3861, 3871, 3881, 0, + 3866, 3876, 3886, 0, + 3901, 3911, 0, + 3906, 3916, 0, + 3931, 3941, 0, + 3936, 3946, 0, + 3961, 3971, 3981, 0, + 3966, 3976, 3986, 0, + 3996, 4001, 4006, 0, + 4021, 4031, 4041, 4314, 0, + 4026, 4036, 4046, 4319, 0, + 4324, 0, + 4329, 0, + 4334, 0, + 4339, 0, + 4344, 0, + 4349, 0, + 4061, 4071, 4081, 4354, 0, + 4066, 4076, 4086, 4359, 0, + 4364, 0, + 4369, 0, + 4374, 0, + 4379, 0, + 4384, 0, + 4389, 0, + 4404, 0, + 4477, 0, + 4679, 0, + 4424, 0, + 4525, 4530, 4535, 0, + 4497, 0, + 4699, 0, + 4588, 4593, 4598, 0, + 5451, 0, + 5456, 0, + 5461, 0, + 5466, 0, + 5476, 0, + 5471, 0, + 5481, 0, + 5486, 0, + 5491, 0, + 5496, 0, + 5501, 0, + 5528, 0, + 5533, 0, + 5538, 0, + 5543, 0, + 5558, 0, + 5553, 0, + 5573, 0, + 5578, 0, + 5583, 0, + 5588, 0, + 5593, 0, + 5598, 0, + 5603, 0, + 5608, 0, + 5653, 0, + 5658, 0, + 5613, 0, + 5618, 0, + 5623, 0, + 5628, 0, + 5663, 0, + 5668, 0, + 5633, 0, + 5638, 0, + 5643, 0, + 5648, 0, + 5673, 0, + 5678, 0, + 5683, 0, + 5688, 0, + 6426, 0, + 7440, 0, + 7315, 0, + 7320, 0, + 7325, 0, + 7330, 0, + 7335, 0, + 7340, 0, + 7345, 0, + 7350, 0, + 7355, 0, + 7360, 0, + 7365, 0, + 7370, 0, + 7375, 0, + 7380, 0, + 7385, 0, + 7390, 7395, 0, + 7400, 7405, 0, + 7410, 7415, 0, + 7420, 7425, 0, + 7430, 7435, 0, + 7455, 0, + 7590, 0, + 7465, 0, + 7470, 0, + 7475, 0, + 7480, 0, + 7485, 0, + 7490, 0, + 7495, 0, + 7500, 0, + 7505, 0, + 7510, 0, + 7515, 0, + 7520, 0, + 7525, 0, + 7530, 0, + 7535, 0, + 7540, 7545, 0, + 7550, 7555, 0, + 7560, 7565, 0, + 7570, 7575, 0, + 7580, 7585, 0, + 7595, 0, + 7600, 0, + 7605, 0, + 7610, 0, + 7615, 0, + 12153, 12158, 0, }; @@ -10564,7 +10580,7 @@ const Q_UINT16 QUnicodeTables::case_info[] = { 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0, - 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0, + 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0x1e9e, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0, @@ -10611,7 +10627,7 @@ const Q_UINT16 QUnicodeTables::case_info[] = { 0x229, 0x228, 0x22b, 0x22a, 0x22d, 0x22c, 0x22f, 0x22e, 0x231, 0x230, 0x233, 0x232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0x242, 0x241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x181, 0x186, 0, 0x189, 0x18a, 0, 0x18f, 0, 0x190, 0, 0, 0, 0, @@ -10666,8 +10682,8 @@ const Q_UINT16 QUnicodeTables::case_info[] = { 0x3d9, 0x3d8, 0x3db, 0x3da, 0x3dd, 0x3dc, 0x3df, 0x3de, 0x3e1, 0x3e0, 0x3e3, 0x3e2, 0x3e5, 0x3e4, 0x3e7, 0x3e6, 0x3e9, 0x3e8, 0x3eb, 0x3ea, 0x3ed, 0x3ec, 0x3ef, 0x3ee, - 0x39a, 0x3a1, 0x3a3, 0, 0x3b8, 0x395, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, + 0x39a, 0x3a1, 0x3f9, 0, 0x3b8, 0x395, 0, 0, + 0, 0x3f2, 0x3fb, 0x3fa, 0, 0, 0, 0, 0x450, 0x451, 0x452, 0x453, 0x454, 0x455, 0x456, 0x457, 0x458, 0x459, 0x45a, 0x45b, 0x45c, 0x45d, 0x45e, 0x45f, @@ -10754,7 +10770,7 @@ const Q_UINT16 QUnicodeTables::case_info[] = { 0x1e81, 0x1e80, 0x1e83, 0x1e82, 0x1e85, 0x1e84, 0x1e87, 0x1e86, 0x1e89, 0x1e88, 0x1e8b, 0x1e8a, 0x1e8d, 0x1e8c, 0x1e8f, 0x1e8e, 0x1e91, 0x1e90, 0x1e93, 0x1e92, 0x1e95, 0x1e94, 0, 0, - 0, 0, 0, 0x1e60, 0, 0, 0, 0, + 0, 0, 0, 0x1e60, 0, 0, 0xdf, 0, 0x1ea1, 0x1ea0, 0x1ea3, 0x1ea2, 0x1ea5, 0x1ea4, 0x1ea7, 0x1ea6, 0x1ea9, 0x1ea8, 0x1eab, 0x1eaa, 0x1ead, 0x1eac, 0x1eaf, 0x1eae, 0x1eb1, 0x1eb0, 0x1eb3, 0x1eb2, 0x1eb5, 0x1eb4, 0x1eb7, 0x1eb6, @@ -12465,7 +12481,7 @@ const Q_UINT8 QUnicodeTables::line_break_info[] = { 12, 12, 12, 4, 12, 4, 12, 4, 12, 12, 12, 12, 12, 12, 4, 12, 12, 12, 12, 12, 12, 4, 4, 12, - 12, 12, 12, 4, 4, 4, 12, 12, + 12, 12, 12, 4, 12, 4, 12, 12, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, @@ -12931,9 +12947,10 @@ const Q_UINT8 QUnicodeTables::line_break_info[] = { }; // 52474 bytes -// END OF GENERATED DATA #endif +// END OF GENERATED DATA + #ifndef QT_NO_UNICODETABLES diff --git a/src/tools/qunicodetables_p.h b/src/tools/qunicodetables_p.h index ae8136f..8a587d7 100644 --- a/src/tools/qunicodetables_p.h +++ b/src/tools/qunicodetables_p.h @@ -101,7 +101,7 @@ inline QChar::Category category( const QChar &c ) if ( c.unicode() > 0xff ) return QChar::Letter_Uppercase; //######## return (QChar::Category)QUnicodeTables::unicode_info[c.unicode()]; #else - register int uc = ((int)QUnicodeTables::unicode_info[c.row()]) << 8; + int uc = ((int)QUnicodeTables::unicode_info[c.row()]) << 8; uc += c.cell(); return (QChar::Category)QUnicodeTables::unicode_info[uc]; #endif // QT_NO_UNICODETABLES @@ -112,8 +112,8 @@ inline QChar lower( const QChar &c ) #ifndef QT_NO_UNICODETABLES int row = c.row(); int cell = c.cell(); - register int ci = QUnicodeTables::case_info[row]; - register int uc = ((int)QUnicodeTables::unicode_info[c.row()]) << 8; + int ci = QUnicodeTables::case_info[row]; + int uc = ((int)QUnicodeTables::unicode_info[c.row()]) << 8; uc += c.cell(); if (QUnicodeTables::unicode_info[uc] != QChar::Letter_Uppercase || !ci) return c; @@ -131,8 +131,8 @@ inline QChar upper( const QChar &c ) #ifndef QT_NO_UNICODETABLES int row = c.row(); int cell = c.cell(); - register int ci = QUnicodeTables::case_info[row]; - register int uc = ((int)QUnicodeTables::unicode_info[c.row()]) << 8; + int ci = QUnicodeTables::case_info[row]; + int uc = ((int)QUnicodeTables::unicode_info[c.row()]) << 8; uc += c.cell(); if (QUnicodeTables::unicode_info[uc] != QChar::Letter_Lowercase || !ci) return c; @@ -148,7 +148,7 @@ inline QChar upper( const QChar &c ) inline QChar::Direction direction( const QChar &c ) { #ifndef QT_NO_UNICODETABLES - register int pos = QUnicodeTables::direction_info[c.row()]; + int pos = QUnicodeTables::direction_info[c.row()]; return (QChar::Direction) (QUnicodeTables::direction_info[(pos<<8)+c.cell()] & 0x1f); #else Q_UNUSED(c); @@ -159,7 +159,7 @@ inline QChar::Direction direction( const QChar &c ) inline bool mirrored( const QChar &c ) { #ifndef QT_NO_UNICODETABLES - register int pos = QUnicodeTables::direction_info[c.row()]; + int pos = QUnicodeTables::direction_info[c.row()]; return QUnicodeTables::direction_info[(pos<<8)+c.cell()] > 128; #else Q_UNUSED(c); @@ -187,7 +187,7 @@ inline QChar mirroredChar( const QChar &ch ) inline QChar::Joining joining( const QChar &ch ) { #ifndef QT_NO_UNICODETABLES - register int pos = QUnicodeTables::direction_info[ch.row()]; + int pos = QUnicodeTables::direction_info[ch.row()]; return (QChar::Joining) ((QUnicodeTables::direction_info[(pos<<8)+ch.cell()] >> 5) &0x3); #else Q_UNUSED(ch); @@ -225,7 +225,7 @@ inline int lineBreakClass( const QChar &ch ) return ch.row() ? QUnicodeTables::LineBreak_AL : QUnicodeTables::latin1_line_break_info[ch.cell()]; #else - register int pos = ((int)QUnicodeTables::line_break_info[ch.row()] << 8) + ch.cell(); + int pos = ((int)QUnicodeTables::line_break_info[ch.row()] << 8) + ch.cell(); return QUnicodeTables::line_break_info[pos]; #endif } diff --git a/src/widgets/qaction.cpp b/src/widgets/qaction.cpp index 3dd6b27..3f58a88 100644 --- a/src/widgets/qaction.cpp +++ b/src/widgets/qaction.cpp @@ -597,7 +597,7 @@ QAction::~QAction() */ void QAction::setIconSet( const QIconSet& icon ) { - register QIconSet *i = d->iconset; + QIconSet *i = d->iconset; if ( !icon.isNull() ) d->iconset = new QIconSet( icon ); else diff --git a/src/widgets/qbuttongroup.cpp b/src/widgets/qbuttongroup.cpp index 8737804..c2d7e2e 100644 --- a/src/widgets/qbuttongroup.cpp +++ b/src/widgets/qbuttongroup.cpp @@ -371,7 +371,7 @@ void QButtonGroup::buttonPressed() // introduce a QButtonListIt if calling anything int id = -1; QButton *bt = (QButton *)sender(); // object that sent the signal - for ( register QButtonItem *i=buttons->first(); i; i=buttons->next() ) + for ( QButtonItem *i=buttons->first(); i; i=buttons->next() ) if ( bt == i->button ) { // button was clicked id = i->id; break; @@ -391,7 +391,7 @@ void QButtonGroup::buttonReleased() // introduce a QButtonListIt if calling anything int id = -1; QButton *bt = (QButton *)sender(); // object that sent the signal - for ( register QButtonItem *i=buttons->first(); i; i=buttons->next() ) + for ( QButtonItem *i=buttons->first(); i; i=buttons->next() ) if ( bt == i->button ) { // button was clicked id = i->id; break; @@ -414,7 +414,7 @@ void QButtonGroup::buttonClicked() #if defined(QT_CHECK_NULL) Q_ASSERT( bt ); #endif - for ( register QButtonItem *i=buttons->first(); i; i=buttons->next() ) { + for ( QButtonItem *i=buttons->first(); i; i=buttons->next() ) { if ( bt == i->button ) { // button was clicked id = i->id; break; diff --git a/src/widgets/qdialogbuttons.cpp b/src/widgets/qdialogbuttons.cpp index 39f6d67..07e09cf 100644 --- a/src/widgets/qdialogbuttons.cpp +++ b/src/widgets/qdialogbuttons.cpp @@ -185,12 +185,12 @@ QDialogButtons::setDefaultButton(Button button) if(d->def != button) { #ifndef QT_NO_PROPERTIES if(d->buttons.contains(d->def)) - d->buttons[d->def]->setProperty("default", QVariant(FALSE,0)); + d->buttons[d->def]->setProperty("default", QVariant(false)); #endif d->def = button; #ifndef QT_NO_PROPERTIES if(d->buttons.contains(d->def)) - d->buttons[d->def]->setProperty("default", QVariant(FALSE,0)); + d->buttons[d->def]->setProperty("default", QVariant(false)); #endif } } @@ -413,7 +413,7 @@ QDialogButtons::layoutButtons() if(b == d->def) { w->setFocus(); #ifndef QT_NO_PROPERTIES - w->setProperty("default", QVariant(TRUE,0)); + w->setProperty("default", QVariant(true)); #endif } w->setEnabled(d->enabled & b); diff --git a/src/widgets/qlcdnumber.cpp b/src/widgets/qlcdnumber.cpp index 4398907..76e9288 100644 --- a/src/widgets/qlcdnumber.cpp +++ b/src/widgets/qlcdnumber.cpp @@ -396,7 +396,7 @@ void QLCDNumber::setNumDigits( int numDigits ) bool doDisplay = ndigits == 0; if ( numDigits == ndigits ) // no change return; - register int i; + int i; int dif; if ( numDigits > ndigits ) { // expand dif = numDigits - ndigits; diff --git a/src/widgets/qmenubar.cpp b/src/widgets/qmenubar.cpp index e832fd4..2d158ad 100644 --- a/src/widgets/qmenubar.cpp +++ b/src/widgets/qmenubar.cpp @@ -785,7 +785,7 @@ void QMenuBar::hidePopups() bool anyVisible = FALSE; #endif QMenuItemListIt it(*mitems); - register QMenuItem *mi; + QMenuItem *mi; while ( (mi=it.current()) ) { ++it; if ( mi->popup() && mi->popup()->isVisible() ) { @@ -1337,7 +1337,7 @@ void QMenuBar::keyPressEvent( QKeyEvent *e ) } if ( dx ) { // highlight next/prev - register int i = actItem; + int i = actItem; int c = mitems->count(); int n = c; while ( n-- ) { @@ -1362,7 +1362,7 @@ void QMenuBar::keyPressEvent( QKeyEvent *e ) QMenuItem* currentSelected = 0; QMenuItem* firstAfterCurrent = 0; - register QMenuItem *m; + QMenuItem *m; int indx = 0; int clashCount = 0; while ( (m=it.current()) ) { @@ -1534,7 +1534,7 @@ void QMenuBar::setupAccelerators() autoaccel = 0; QMenuItemListIt it(*mitems); - register QMenuItem *mi; + QMenuItem *mi; while ( (mi=it.current()) ) { ++it; if ( !mi->isEnabledAndVisible() ) // ### when we have a good solution for the accel vs. focus widget problem, remove that. That is only a workaround diff --git a/src/widgets/qmenudata.cpp b/src/widgets/qmenudata.cpp index 518ea6b..a0ff49d 100644 --- a/src/widgets/qmenudata.cpp +++ b/src/widgets/qmenudata.cpp @@ -260,7 +260,7 @@ int QMenuData::insertAny( const QString *text, const QPixmap *pixmap, if ( id < 0 ) // -2, -3 etc. id = get_seq_id(); - register QMenuItem *mi = new QMenuItem; + QMenuItem *mi = new QMenuItem; Q_CHECK_PTR( mi ); mi->ident = id; if ( widget != 0 ) { @@ -842,7 +842,7 @@ void QMenuData::removeItemAt( int index ) void QMenuData::clear() { - register QMenuItem *mi = mitems->first(); + QMenuItem *mi = mitems->first(); while ( mi ) { if ( mi->popup_menu ) menuDelPopup( mi->popup_menu ); @@ -1041,7 +1041,7 @@ void QMenuData::changeItem( int id, const QPixmap &pixmap ) QMenuData *parent; QMenuItem *mi = findItem( id, &parent ); if ( mi ) { // item found - register QPixmap *i = mi->pixmap_data; + QPixmap *i = mi->pixmap_data; bool fast_refresh = i != 0 && i->width() == pixmap.width() && i->height() == pixmap.height() && @@ -1103,7 +1103,7 @@ void QMenuData::changeItemIconSet( int id, const QIconSet &icon ) QMenuData *parent; QMenuItem *mi = findItem( id, &parent ); if ( mi ) { // item found - register QIconSet *i = mi->iconset_data; + QIconSet *i = mi->iconset_data; bool fast_refresh = i != 0; if ( !icon.isNull() ) mi->iconset_data = new QIconSet( icon ); diff --git a/src/widgets/qpopupmenu.cpp b/src/widgets/qpopupmenu.cpp index 46e5220..bcb3666 100644 --- a/src/widgets/qpopupmenu.cpp +++ b/src/widgets/qpopupmenu.cpp @@ -631,7 +631,7 @@ void QPopupMenu::popup( const QPoint &pos, int indexAtPoint ) h = height(); if(indexAtPoint >= 0) { if(off_top) { //scroll to it - register QMenuItem *mi = NULL; + QMenuItem *mi = NULL; QMenuItemListIt it(*mitems); for(int tmp_y = 0; tmp_y < off_top && (mi=it.current()); ) { QSize sz = style().sizeFromContents(QStyle::CT_PopupMenuItem, this, @@ -794,7 +794,7 @@ void QPopupMenu::hilitSig( int id ) void QPopupMenu::setFirstItemActive() { QMenuItemListIt it(*mitems); - register QMenuItem *mi; + QMenuItem *mi; int ai = 0; if(d->scroll.scrollable) ai = d->scroll.topScrollableIndex; @@ -817,7 +817,7 @@ void QPopupMenu::setFirstItemActive() void QPopupMenu::hideAllPopups() { - register QMenuData *top = this; // find top level popup + QMenuData *top = this; // find top level popup if ( !preventAnimation ) QTimer::singleShot( 10, this, SLOT(allowAnimation()) ); preventAnimation = TRUE; @@ -851,7 +851,7 @@ void QPopupMenu::hidePopups() preventAnimation = TRUE; QMenuItemListIt it(*mitems); - register QMenuItem *mi; + QMenuItem *mi; while ( (mi=it.current()) ) { ++it; if ( mi->popup() && mi->popup()->parentMenu == this ) //avoid circularity @@ -873,7 +873,7 @@ void QPopupMenu::hidePopups() bool QPopupMenu::tryMenuBar( QMouseEvent *e ) { - register QMenuData *top = this; // find top level + QMenuData *top = this; // find top level while ( top->parentMenu ) top = top->parentMenu; #ifndef QT_NO_MENUBAR @@ -909,7 +909,7 @@ bool QPopupMenu::tryMouseEvent( QPopupMenu *p, QMouseEvent * e) void QPopupMenu::byeMenuBar() { #ifndef QT_NO_MENUBAR - register QMenuData *top = this; // find top level + QMenuData *top = this; // find top level while ( top->parentMenu ) top = top->parentMenu; #endif @@ -1075,7 +1075,7 @@ QSize QPopupMenu::updateSize(bool force_update, bool do_resize) int height = 0; int max_width = 0, max_height = 0; QFontMetrics fm = fontMetrics(); - register QMenuItem *mi; + QMenuItem *mi; maxPMWidth = 0; int maxWidgetWidth = 0; tab = 0; @@ -1258,7 +1258,7 @@ QSize QPopupMenu::updateSize(bool force_update, bool do_resize) void QPopupMenu::updateAccel( QWidget *parent ) { QMenuItemListIt it(*mitems); - register QMenuItem *mi; + QMenuItem *mi; if ( parent ) { delete autoaccel; @@ -1349,7 +1349,7 @@ void QPopupMenu::enableAccel( bool enable ) autoaccel->setEnabled( enable ); accelDisabled = !enable; // rememeber when updateAccel QMenuItemListIt it(*mitems); - register QMenuItem *mi; + QMenuItem *mi; while ( (mi=it.current()) ) { // do the same for sub popups ++it; if ( mi->popup() ) // call recursively @@ -1651,7 +1651,7 @@ void QPopupMenu::mousePressEvent( QMouseEvent *e ) } return; } - register QMenuItem *mi = mitems->at(item); + QMenuItem *mi = mitems->at(item); if ( item != actItem ) // new item activated setActiveItem( item ); @@ -1702,7 +1702,7 @@ void QPopupMenu::mouseReleaseEvent( QMouseEvent *e ) else byeMenuBar(); } else { // selected menu item! - register QMenuItem *mi = mitems->at(actItem); + QMenuItem *mi = mitems->at(actItem); if ( mi ->widget() ) { QWidget* widgetAt = QApplication::widgetAt( e->globalPos(), TRUE ); if ( widgetAt && widgetAt != this ) { @@ -1815,7 +1815,7 @@ void QPopupMenu::mouseMoveEvent( QMouseEvent *e ) if ( (e->state() & Qt::MouseButtonMask) && !mouseBtDn ) mouseBtDn = TRUE; // so mouseReleaseEvent will pop down - register QMenuItem *mi = mitems->at( item ); + QMenuItem *mi = mitems->at( item ); if ( mi->widget() ) { QWidget* widgetAt = QApplication::widgetAt( e->globalPos(), TRUE ); @@ -2034,7 +2034,7 @@ void QPopupMenu::keyPressEvent( QKeyEvent *e ) QMenuItem* currentSelected = 0; QMenuItem* firstAfterCurrent = 0; - register QMenuItem *m; + QMenuItem *m; mi = 0; int indx = 0; int clashCount = 0; @@ -2101,7 +2101,7 @@ void QPopupMenu::keyPressEvent( QKeyEvent *e ) } #ifndef QT_NO_MENUBAR if ( !ok_key ) { // send to menu bar - register QMenuData *top = this; // find top level + QMenuData *top = this; // find top level while ( top->parentMenu ) top = top->parentMenu; if ( top->isMenuBar ) { @@ -2118,7 +2118,7 @@ void QPopupMenu::keyPressEvent( QKeyEvent *e ) } else if ( dy < 0 ) { QMenuItemListIt it(*mitems); it.toLast(); - register QMenuItem *mi; + QMenuItem *mi; int ai = count() - 1; while ( (mi=it.current()) ) { --it; @@ -2134,7 +2134,7 @@ void QPopupMenu::keyPressEvent( QKeyEvent *e ) } if ( dy ) { // highlight next/prev - register int i = actItem; + int i = actItem; int c = mitems->count(); for(int n = c; n; n--) { i = i + dy; @@ -2520,7 +2520,7 @@ void QPopupMenu::connectModal( QPopupMenu* receiver, bool doConnect ) receiver, SLOT(modalActivation(int)) ); QMenuItemListIt it(*mitems); - register QMenuItem *mi; + QMenuItem *mi; while ( (mi=it.current()) ) { ++it; if ( mi->popup() && mi->popup() != receiver @@ -2641,12 +2641,12 @@ bool QPopupMenu::customWhatsThis() const */ bool QPopupMenu::focusNextPrevChild( bool next ) { - register QMenuItem *mi; + QMenuItem *mi; int dy = next? 1 : -1; if ( dy && actItem < 0 ) { setFirstItemActive(); } else if ( dy ) { // highlight next/prev - register int i = actItem; + int i = actItem; int c = mitems->count(); int n = c; while ( n-- ) { diff --git a/tools/assistant/assistant-qt3.desktop b/tools/assistant/assistant-qt3.desktop new file mode 100644 index 0000000..2934fbb --- /dev/null +++ b/tools/assistant/assistant-qt3.desktop @@ -0,0 +1,93 @@ +[Desktop Entry] +Encoding=UTF-8 +Exec=assistant-qt3 +Name=Qt3 Assistant +Name[de]=Qt3 Assistent +Name[bg]=Qt3 асистент +Name[cs]=Qt3 asistent +Name[de]=Qt3 Assistent +Name[hu]=Qt3 Asszisztens +Name[ja]=Qt3アシスタント +Name[km]=អ្នកជំនួយការ Qt3 +Name[nb]=Qt3-assistent +Name[pa]=Qt3 ਸਹਾਇਕ +Name[sv]=Qt3-assistent +Name[zh_CN]=Qt3 助手 +Name[zh_TW]=Qt3 助理 +GenericName=Document Browser +GenericName[af]=Dokument Blaaier +GenericName[az]=Sənəd Səyyahı +GenericName[bg]=Преглед на документи +GenericName[bn]=নথী ব্রাউজার +GenericName[br]=Furcher Teulioù +GenericName[bs]=Preglednik dokumenata +GenericName[ca]=Navegador de documents +GenericName[cs]=Prohlížeč dokumentace +GenericName[cy]=Porydd Dogfen +GenericName[da]=Dokumentfremviser +GenericName[de]=Dokumentbrowser +GenericName[el]=Προβολέας εγγράφων +GenericName[eo]=Dokumentorigardilo +GenericName[es]=Navegador de documentos +GenericName[et]=Dokumentatsiooni brauser +GenericName[eu]=Dokumentu Ikustailua +GenericName[fa]=مرورگر سند +GenericName[fi]=Asiakirjaselain +GenericName[fo]=Skjalakagari +GenericName[fr]=Explorateur de documentation +GenericName[gl]=Explorador de Documentos +GenericName[he]=דפדפן מסמכים +GenericName[hi]=दस्तावेज़़ ब्राउज़र +GenericName[hr]=Preglednik dokumenata +GenericName[hu]=Dokumentumböngésző +GenericName[is]=Skjalavafri +GenericName[it]=Visualizzatore di documenti +GenericName[ja]=ドキュメントブラウザ +GenericName[km]=កម្មវិធីរុករកឯកសារ +GenericName[ko]=문서 탐색기 +GenericName[lo]=ເຄື່ອງມືເລືອກເບິ່ງແຟ້ມເອກະສານ +GenericName[lt]=Dokumentų žiūriklis +GenericName[lv]=Dokumentu Pārlūks +GenericName[mn]=Баримтын хөтөч +GenericName[ms]=Pelungsur Dokumen +GenericName[mt]=Browser ta' Dokumenti +GenericName[nb]=Dokumentleser +GenericName[nds]=Dokmentkieker +GenericName[nl]=Documentbrowser +GenericName[nn]=Dokumentlesar +GenericName[nso]=Seinyakisi sa Tokomane +GenericName[pa]=ਦਸਤਾਵੇਜ਼ ਝਲਕਾਰਾ +GenericName[pl]=Przeglądarka dokumentów +GenericName[pt]=Navegador de Documentos +GenericName[pt_BR]=Navegador de Documentos +GenericName[ro]=Navigator de documente +GenericName[ru]=Программа просмотра документов +GenericName[se]=Dokumeantalogan +GenericName[sk]=Prehliadač dokumentácie +GenericName[sl]=Pregledovalnik dokumentov +GenericName[sr]=Претраживач докумената +GenericName[sr@Latn]=Pretraživač dokumenata +GenericName[ss]=Ibrawuza yelidokhumente +GenericName[sv]=Dokumentbläddrare +GenericName[ta]=ஆவண உலாவி +GenericName[tg]=Тафсири ҳуҷҷат +GenericName[th]=เครื่องมือเลือกดูแฟ้มเอกสาร +GenericName[tr]=Belge Tarayıcısı +GenericName[uk]=Навігатор документів +GenericName[uz]=Ҳужжат браузери +GenericName[ven]=Buronza ya manwalwa +GenericName[vi]=Trình duyệt tài liệu +GenericName[wa]=Foyteu di documints +GenericName[xh]=Umkhangeli Wencwadi Zoxwebhu +GenericName[xx]=xxDocument Browserxx +GenericName[zh_CN]=文档浏览器 +GenericName[zh_TW]=文件閱讀器 +GenericName[zu]=Umcingi Woshicilelo +Comment=Qt3 Helpcenter +Comment[de]= Qt3 Hilfezentrum +Comment[fr]=Centre d'aide de Qt3 +MimeType=application/x-assistant; +Icon=assistant-qt3.png +Terminal=false +Type=Application +Categories=Qt;Development;Documentation; diff --git a/tools/assistant/assistant.pro b/tools/assistant/assistant.pro index 1d8ba5c..85c5d37 100644 --- a/tools/assistant/assistant.pro +++ b/tools/assistant/assistant.pro @@ -34,11 +34,9 @@ win32:RC_FILE = assistant.rc mac:RC_FILE = assistant.icns target.path = $$bins.path -INSTALLS += target assistanttranslations.files = *.qm assistanttranslations.path = $$translations.path -INSTALLS += assistanttranslations TRANSLATIONS = assistant_de.ts \ assistant_fr.ts @@ -70,3 +68,13 @@ IMAGES = images/editcopy.png \ images/addtab.png \ images/closetab.png \ images/d_closetab.png + +desktop.path = $$share.path/applications +desktop.files = assistant-qt3.desktop + +system( cp images/appicon.png assistant-qt3.png ) + +icon.path = $$share.path/pixmaps +icon.files = assistant-qt3.png + +INSTALLS += target assistanttranslations desktop icon diff --git a/tools/designer/designer/designer-qt3.desktop b/tools/designer/designer/designer-qt3.desktop new file mode 100644 index 0000000..1ac742e --- /dev/null +++ b/tools/designer/designer/designer-qt3.desktop @@ -0,0 +1,145 @@ +[Desktop Entry] +Encoding=UTF-8 +Exec=designer-qt3 +Name=Qt3 Designer +Name[bg]=Qt3 Дизайнер +Name[br]=Ergrafer Qt3 +Name[ca]=Dissenyador Qt3 +Name[cs]=Qt3 designer +Name[de]=Qt3-Designer +Name[eo]=Qt3-Desegnilo +Name[es]=Diseñador Qt3 +Name[et]=Qt3 disainer +Name[eu]=Qt3 Diseinatzailea +Name[gl]=Deseñador de Qt3 +Name[he]=Qt3 בצעמ +Name[it]=Designer Qt3 +Name[ja]=Qt3デザイナー +Name[ko]=Qt3 디자이너 +Name[lv]=Qt3 Dizainers +Name[mk]=Qt3 дизајнер +Name[no]=Qt3-designer +Name[oc]=Dessinador Qt3 +Name[pl]=Projektant Qt3 +Name[sk]=Qt3 Dizajnér +Name[sl]=Snovalnik Qt3 +Name[ta]=Qt3 À¨¼ôÀ¡Ç÷ +Name[uk]=Дизайнер Qt3 +Name[zh_CN.GB2312]=Qt3 设计者 +Name[zh_TW.Big5]=Qt3 設計器 +GenericName=Interface Designer +GenericName[af]=Koppelvlak Ontwerper +GenericName[ar]=أداة لتصميم واجهة البرامج +GenericName[az]=Ara Üz Tərtibçisi +GenericName[bg]=Дизайнер на интерфейси +GenericName[bn]=ইন্টারফেস পরিকল্পনা +GenericName[bs]=Qt alat za dizajniranje interfejsa +GenericName[ca]=Dissenyador d'interfícies +GenericName[cs]=Návrhář rozhraní +GenericName[cy]=Dylunydd Rhyngwyneb +GenericName[da]=Grænsefladedesigner +GenericName[de]=Schnittstellen-Designer +GenericName[el]=Σχεδιαστής διασυνδέσεων +GenericName[eo]=Interfacdesegnilo +GenericName[es]=Diseñador de interfaces +GenericName[et]=Kasutajaliidese disainer +GenericName[eu]=Interfaze Diseinatzailea +GenericName[fa]=طراح رابط +GenericName[fi]=Käyttöliittymäsuunnittelija +GenericName[fo]=Nýtaramótssniðari +GenericName[fr]=Concepteur d'interface +GenericName[gl]=Deseñador de Interfaces +GenericName[he]=מעצב ממשקים +GenericName[hi]=इंटरफेस डिज़ाइनर +GenericName[hr]=Dizajner sučelja +GenericName[hu]=Felülettervező +GenericName[is]=Viðmótshönnun +GenericName[it]=Disegnatore di interfacce +GenericName[ja]=インターフェースデザイナー +GenericName[km]=កម្មវិធីរចនាចំណុចប្រទាក់ +GenericName[ko]=인터페이스 디자이너 +GenericName[lo]=ເຄື່ອງມືອອກແບບສ່ວນຕິດຕໍ່ຜູ້ໃຊ້ +GenericName[lt]=Sąsajos redaktorius +GenericName[lv]=Starsejas Dizainers +GenericName[mn]=Гадаргуун дизайнер +GenericName[ms]=Pereka Antaramuka +GenericName[mt]=Diżinjatur tal-interfaċċji +GenericName[nb]=Utforming av grensesnitt +GenericName[nl]=Interface-ontwerper +GenericName[nn]=Utforming av grensesnitt +GenericName[nso]=Mohlami wa Interface +GenericName[pa]=ਇੰਟਰਫੇਸ ਡਿਜਾਇਨਰ +GenericName[pl]=Projektowanie interfejsów +GenericName[pt]=Editor de Interfaces +GenericName[pt_BR]=Interface do Designer +GenericName[ro]=Dezvoltator de interfeţe +GenericName[ru]=Редактор интерфейса приложений Qt +GenericName[se]=Laktahábmejeaddji +GenericName[sk]=Návrh rozhrania +GenericName[sl]=Snovalnik vmesnikov +GenericName[sr]=Дизајнер интерфејса +GenericName[sr@Latn]=Dizajner interfejsa +GenericName[ss]=Umhleli wesichumanisi +GenericName[sv]=Gränssnittseditor +GenericName[ta]=முகப்புப் வடிவமைப்பாளர் +GenericName[tg]=Тароҳи робита +GenericName[th]=เครื่องมือออกแบบส่วนติดต่อผู้ใช้ +GenericName[tr]=Arayüz tasarım programı +GenericName[uk]=Дизайн інтерфейсу +GenericName[uz]=Интерфейс дизайнери +GenericName[ven]=Muvhati wa nga Phanda +GenericName[vi]=Trình thiết kế giao diện +GenericName[wa]=Dessineu d' eterfaces +GenericName[xh]=Umyili Wezojongongano +GenericName[xx]=xxInterface Designerxx +GenericName[zh_CN]=界面设计器 +GenericName[zh_TW]=界面設計師 +GenericName[zu]=Umakhi Womxhumanisi +Comment=Qt3 interface designer +Comment[az]=Qt3 axtar üz dizayn proqramı +Comment[bg]=Qt3 interface дизайнер +Comment[br]=Ergrafer etrefas Qt3 +Comment[ca]=Dissenyador d'interfícies Qt3 +Comment[cs]=Editor UI pro Qt3 +Comment[da]=Qt3 grænseflade designer +Comment[de]=Schnittstellen-Designer für Qt3 +Comment[el]=Σχεδιασμός περιβάλλοντων Qt3 +Comment[eo]=Qt3-Interfacdesegnilo +Comment[es]=Diseñador de interfaces de Qt3 +Comment[et]=Qt3 dialoogide redaktor +Comment[eu]=Qt3 interfaze diseinatzailea +Comment[fi]=Qt3:n käyttöliittymäsuunnittelija +Comment[fr]=Conception d'interfaces avec Qt3 +Comment[gl]=Editor de interfaces de Qt3 +Comment[he]=Qt3-ל םיקשממ בצעמ +Comment[hu]=Qt3 felülettervező +Comment[is]=Viðmótshönnunartól fyrir Qt3 +Comment[it]=Editor per le interfaccie Qt3 +Comment[ja]=Qt3インターフェースデザイナー +Comment[ko]=Qt3 인터페이스 디자이너 +Comment[lt]=Qt3 sąsajos redaktorius +Comment[lv]=Qt3 starsejas dizainers +Comment[mk]=Дизајнер на Qt3 дијалози +Comment[nl]=Qt3 interface-ontwerper +Comment[no]=Qt3-grensesnittdesigner +Comment[no_NY]=Redigering av Qt3-miljø +Comment[oc]=Dessinador d'interfacies Qt3 +Comment[pl]=Projektant interfejsu Qt3 +Comment[pt]=Editor de interfaces do Qt3 +Comment[pt_BR]=Designer de interface Qt3 +Comment[ro]=Dezvoltator de interfeţe Qt3 +Comment[ru]=редактор интерфейсов приложений Qt3 +Comment[sk]=Qt3 dizajnér rozhrania +Comment[sl]=Snovalnik vmesnikov za Qt3 +Comment[sr]=Dizajner Qt3 interfejsa +Comment[sv]=Editor för gränssnitt till Qt3 +Comment[ta]=Qt3 À¨¼ôÀ¡Ç÷ +Comment[tr]=Qt3 arayüz tasarım programı +Comment[uk]=Редактор інтерфейсу для Qt3 +Comment[zh_CN.GB2312]=Qt3 界面设计程序 +Comment[zh_TW.Big5]=Qt3 介面編輯器 +MimeType=application/x-designer; +Icon=designer-qt3 +Terminal=false +Type=Application +Categories=Qt;Development; diff --git a/tools/designer/designer/designer.pro b/tools/designer/designer/designer.pro index 91de514..9fe421c 100644 --- a/tools/designer/designer/designer.pro +++ b/tools/designer/designer/designer.pro @@ -429,14 +429,21 @@ hpux-acc* { TRANSLATIONS = designer_de.ts designer_fr.ts target.path=$$libs.path -INSTALLS += target templates.path=$$data.path/templates templates.files = ../templates/* -INSTALLS += templates designertranlations.files = *.qm designertranlations.path = $$translations.path -INSTALLS += designertranlations !macx-g++:PRECOMPILED_HEADER = designer_pch.h + +desktop.path = $$share.path/applications +desktop.files = designer-qt3.desktop + +system( cp images/designer_appicon.png designer-qt3.png ) + +icon.path = $$share.path/pixmaps +icon.files = designer-qt3.png + +INSTALLS += target templates designertranlations desktop icon diff --git a/tools/designer/designer/mainwindow.cpp b/tools/designer/designer/mainwindow.cpp index 1263c6b..4a786ed 100644 --- a/tools/designer/designer/mainwindow.cpp +++ b/tools/designer/designer/mainwindow.cpp @@ -1740,8 +1740,8 @@ void MainWindow::handleRMBProperties( int id, QMap<QString, int> &props, QWidget if ( oldDoWrap != doWrap ) { QString pn( tr( "Set 'wordwrap' of '%1'" ).arg( w->name() ) ); SetPropertyCommand *cmd = new SetPropertyCommand( pn, formWindow(), w, propertyEditor, - "wordwrap", QVariant( oldDoWrap, 0 ), - QVariant( doWrap, 0 ), QString::null, QString::null ); + "wordwrap", QVariant( oldDoWrap ), + QVariant( doWrap ), QString::null, QString::null ); cmd->execute(); formWindow()->commandHistory()->addCommand( cmd ); MetaDataBase::setPropertyChanged( w, "wordwrap", TRUE ); @@ -2647,8 +2647,8 @@ bool MainWindow::openEditor( QWidget *w, FormWindow *f ) if ( oldDoWrap != doWrap ) { QString pn( tr( "Set 'wordwrap' of '%1'" ).arg( w->name() ) ); SetPropertyCommand *cmd = new SetPropertyCommand( pn, formWindow(), w, propertyEditor, - "wordwrap", QVariant( oldDoWrap, 0 ), - QVariant( doWrap, 0 ), QString::null, QString::null ); + "wordwrap", QVariant( oldDoWrap ), + QVariant( doWrap ), QString::null, QString::null ); cmd->execute(); formWindow()->commandHistory()->addCommand( cmd ); MetaDataBase::setPropertyChanged( w, "wordwrap", TRUE ); diff --git a/tools/designer/designer/metadatabase.cpp b/tools/designer/designer/metadatabase.cpp index 48422b1..9aba982 100644 --- a/tools/designer/designer/metadatabase.cpp +++ b/tools/designer/designer/metadatabase.cpp @@ -64,7 +64,7 @@ class MetaDataBaseRecord public: QObject *object; QStringList changedProperties; - QMap<QString,QVariant> fakeProperties; + QStringVariantMap fakeProperties; QMap<QString, QString> propertyComments; int spacing, margin; QString resizeMode; @@ -272,14 +272,14 @@ QVariant MetaDataBase::fakeProperty( QObject * o, const QString &property) o, o->name(), o->className() ); return QVariant(); } - QMap<QString, QVariant>::Iterator it = r->fakeProperties.find( property ); + QStringVariantMap::Iterator it = r->fakeProperties.find( property ); if ( it != r->fakeProperties.end() ) return r->fakeProperties[property]; return WidgetFactory::defaultValue( o, property ); } -QMap<QString,QVariant>* MetaDataBase::fakeProperties( QObject* o ) +QStringVariantMap* MetaDataBase::fakeProperties( QObject* o ) { setupDataBase(); MetaDataBaseRecord *r = db->find( (void*)o ); diff --git a/tools/designer/designer/metadatabase.h b/tools/designer/designer/metadatabase.h index 707cc69..dc34d24 100644 --- a/tools/designer/designer/metadatabase.h +++ b/tools/designer/designer/metadatabase.h @@ -162,7 +162,7 @@ public: static void setFakeProperty( QObject *o, const QString &property, const QVariant& value ); static QVariant fakeProperty( QObject * o, const QString &property ); - static QMap<QString,QVariant>* fakeProperties( QObject* o ); + static QStringVariantMap* fakeProperties( QObject* o ); static void setSpacing( QObject *o, int spacing ); static int spacing( QObject *o ); diff --git a/tools/designer/designer/propertyeditor.cpp b/tools/designer/designer/propertyeditor.cpp index 98d299c..c1cde23 100644 --- a/tools/designer/designer/propertyeditor.cpp +++ b/tools/designer/designer/propertyeditor.cpp @@ -1103,7 +1103,7 @@ PropertyBoolItem::~PropertyBoolItem() void PropertyBoolItem::toggle() { bool b = value().toBool(); - setValue( QVariant( !b, 0 ) ); + setValue( QVariant( !b ) ); setValue(); } @@ -1158,7 +1158,7 @@ void PropertyBoolItem::setValue() return; setText( 1, combo()->currentText() ); bool b = combo()->currentItem() == 0 ? (bool)FALSE : (bool)TRUE; - PropertyItem::setValue( QVariant( b, 0 ) ); + PropertyItem::setValue( QVariant( b ) ); notifyValueChange(); } @@ -1900,13 +1900,13 @@ void PropertyFontItem::initChildren() } else if ( item->name() == tr( "Point Size" ) ) item->setValue( val.toFont().pointSize() ); else if ( item->name() == tr( "Bold" ) ) - item->setValue( QVariant( val.toFont().bold(), 0 ) ); + item->setValue( QVariant( val.toFont().bold() ) ); else if ( item->name() == tr( "Italic" ) ) - item->setValue( QVariant( val.toFont().italic(), 0 ) ); + item->setValue( QVariant( val.toFont().italic() ) ); else if ( item->name() == tr( "Underline" ) ) - item->setValue( QVariant( val.toFont().underline(), 0 ) ); + item->setValue( QVariant( val.toFont().underline() ) ); else if ( item->name() == tr( "Strikeout" ) ) - item->setValue( QVariant( val.toFont().strikeOut(), 0 ) ); + item->setValue( QVariant( val.toFont().strikeOut() ) ); } } @@ -3702,9 +3702,9 @@ void PropertyList::setPropertyValue( PropertyItem *i ) } else if ( i->name() == "wordwrap" ) { int align = editor->widget()->property( "alignment" ).toInt(); if ( align & WordBreak ) - i->setValue( QVariant( TRUE, 0 ) ); + i->setValue( QVariant( true ) ); else - i->setValue( QVariant( FALSE, 0 ) ); + i->setValue( QVariant( false ) ); } else if ( i->name() == "layoutSpacing" ) { ( (PropertyLayoutItem*)i )->setValue( MetaDataBase::spacing( WidgetFactory::containerOfWidget( (QWidget*)editor->widget() ) ) ); } else if ( i->name() == "layoutMargin" ) { diff --git a/tools/designer/designer/resource.cpp b/tools/designer/designer/resource.cpp index b6fc689..2ba2eb1 100644 --- a/tools/designer/designer/resource.cpp +++ b/tools/designer/designer/resource.cpp @@ -1501,8 +1501,8 @@ void Resource::saveObjectProperties( QObject *w, QTextStream &ts, int indent ) } if ( w->isWidgetType() && MetaDataBase::fakeProperties( w ) ) { - QMap<QString, QVariant>* fakeProperties = MetaDataBase::fakeProperties( w ); - for ( QMap<QString, QVariant>::Iterator fake = fakeProperties->begin(); + QStringVariantMap* fakeProperties = MetaDataBase::fakeProperties( w ); + for ( QStringVariantMap::Iterator fake = fakeProperties->begin(); fake != fakeProperties->end(); ++fake ) { if ( MetaDataBase::isPropertyChanged( w, fake.key() ) ) { if ( w->inherits("CustomWidget") ) { diff --git a/tools/designer/designer/widgetfactory.cpp b/tools/designer/designer/widgetfactory.cpp index 3757f5c..9ae35f4 100644 --- a/tools/designer/designer/widgetfactory.cpp +++ b/tools/designer/designer/widgetfactory.cpp @@ -1486,13 +1486,13 @@ QVariant WidgetFactory::defaultValue( QObject *w, const QString &propName ) { if ( propName == "wordwrap" ) { int v = defaultValue( w, "alignment" ).toInt(); - return QVariant( ( v & WordBreak ) == WordBreak, 0 ); + return QVariant( ( v & WordBreak ) == WordBreak ); } else if ( propName == "toolTip" || propName == "whatsThis" ) { return QVariant( QString::fromLatin1( "" ) ); } else if ( w->inherits( "CustomWidget" ) ) { return QVariant(); } else if ( propName == "frameworkCode" ) { - return QVariant( TRUE, 0 ); + return QVariant( true ); } else if ( propName == "layoutMargin" || propName == "layoutSpacing" ) { return QVariant( -1 ); } diff --git a/tools/designer/plugins/dlg/dlg2ui.cpp b/tools/designer/plugins/dlg/dlg2ui.cpp index c309eb2..6b23453 100644 --- a/tools/designer/plugins/dlg/dlg2ui.cpp +++ b/tools/designer/plugins/dlg/dlg2ui.cpp @@ -718,7 +718,7 @@ void Dlg2Ui::emitWidgetBody( const QDomElement& e, bool layouted ) if ( tagName == QString("Style") ) { if ( getTextValue(n) == QString("ReadWrite") ) emitProperty( QString("editable"), - QVariant(TRUE, 0) ); + QVariant(true) ); } } else if ( parentTagName == QString("DlgWidget") ) { if ( tagName == QString("Name") ) { @@ -891,7 +891,7 @@ QVariant Dlg2Ui::getValue( const QDomElement& e, const QString& tagName, if ( type == QString("integer") ) { return getTextValue( e ).toInt(); } else if ( type == QString("boolean") ) { - return QVariant( isTrue(getTextValue(e)), 0 ); + return QVariant( isTrue(getTextValue(e)) ); } else if ( type == QString("double") ) { return getTextValue( e ).toDouble(); } else if ( type == QString("qcstring") ) { diff --git a/tools/designer/plugins/glade/glade2ui.cpp b/tools/designer/plugins/glade/glade2ui.cpp index 39ff5e8..00ba9eb 100644 --- a/tools/designer/plugins/glade/glade2ui.cpp +++ b/tools/designer/plugins/glade/glade2ui.cpp @@ -839,7 +839,7 @@ void Glade2Ui::emitPushButton( const QString& text, const QString& name ) emitProperty( QString("name"), name.latin1() ); emitProperty( QString("text"), text ); if ( name.contains(QString("ok")) > 0 ) { - emitProperty( QString("default"), QVariant(TRUE, 0) ); + emitProperty( QString("default"), QVariant(true) ); } else if ( name.contains(QString("help")) > 0 ) { emitProperty( QString("accel"), (int) Qt::Key_F1 ); } @@ -1215,7 +1215,7 @@ void Glade2Ui::emitQListViewColumns( const QDomElement& qlistview ) } else if ( tagName == QString("class") ) { QString gtkClass = getTextValue( n ); if ( gtkClass.endsWith(QString("Tree")) ) - emitProperty( QString("rootIsDecorated"), QVariant(TRUE, 0) ); + emitProperty( QString("rootIsDecorated"), QVariant(true) ); } else if ( tagName == QString("selection_mode") ) { emitProperty( QString("selectionMode"), gtk2qtSelectionMode(getTextValue(n)) ); @@ -1815,16 +1815,16 @@ QString Glade2Ui::emitWidget( const QDomElement& widget, bool layouted, if ( !layouted && (x != 0 || y != 0 || width != 0 || height != 0) ) emitProperty( QString("geometry"), QRect(x, y, width, height) ); if ( gtkClass == QString("GtkToggleButton") ) { - emitProperty( QString("toggleButton"), QVariant(TRUE, 0) ); + emitProperty( QString("toggleButton"), QVariant(true) ); if ( active ) - emitProperty( QString("on"), QVariant(TRUE, 0) ); + emitProperty( QString("on"), QVariant(true) ); } else { if ( active ) - emitProperty( QString("checked"), QVariant(TRUE, 0) ); + emitProperty( QString("checked"), QVariant(true) ); } if ( !editable ) - emitProperty( QString("readOnly"), QVariant(TRUE, 0) ); + emitProperty( QString("readOnly"), QVariant(true) ); if ( !focusTarget.isEmpty() ) emitProperty( QString("buddy"), fixedName(focusTarget).latin1() ); @@ -1889,7 +1889,7 @@ QString Glade2Ui::emitWidget( const QDomElement& widget, bool layouted, } if ( !showText ) emitProperty( QString("percentageVisible"), - QVariant(FALSE, 0) ); + QVariant(false) ); if ( step != 1 ) emitProperty( QString("lineStep"), step ); if ( tabPos.endsWith(QString("_BOTTOM")) || @@ -1905,12 +1905,12 @@ QString Glade2Ui::emitWidget( const QDomElement& widget, bool layouted, if ( !tooltip.isEmpty() ) emitProperty( QString("toolTip"), tooltip ); if ( !valueInList ) - emitProperty( QString("editable"), QVariant(TRUE, 0) ); + emitProperty( QString("editable"), QVariant(true) ); if ( wrap && gtkClass == QString("GtkSpinButton") ) - emitProperty( QString("wrapping"), QVariant(TRUE, 0) ); + emitProperty( QString("wrapping"), QVariant(true) ); if ( gtkClass.endsWith(QString("Tree")) ) { - emitProperty( QString("rootIsDecorated"), QVariant(TRUE, 0) ); + emitProperty( QString("rootIsDecorated"), QVariant(true) ); } else if ( gtkOrientedWidget.exactMatch(gtkClass) ) { QString s = ( gtkOrientedWidget.cap(1) == QChar('H') ) ? QString( "Horizontal" ) : QString( "Vertical" ); diff --git a/tools/designer/shared/domtool.cpp b/tools/designer/shared/domtool.cpp index 51796e1..2b75dc7 100644 --- a/tools/designer/shared/domtool.cpp +++ b/tools/designer/shared/domtool.cpp @@ -199,7 +199,7 @@ QVariant DomTool::elementToVariant( const QDomElement& e, const QVariant& defVal v = QVariant( e.firstChild().toText().data().toDouble() ); } else if ( e.tagName() == "bool" ) { QString t = e.firstChild().toText().data(); - v = QVariant( t == "true" || t == "1", 0 ); + v = QVariant( t == "true" || t == "1" ); } else if ( e.tagName() == "pixmap" ) { v = QVariant( e.firstChild().toText().data() ); } else if ( e.tagName() == "iconset" ) { diff --git a/tools/designer/uic/embed.cpp b/tools/designer/uic/embed.cpp index b0ca530..444183f 100644 --- a/tools/designer/uic/embed.cpp +++ b/tools/designer/uic/embed.cpp @@ -137,7 +137,7 @@ void Uic::embed( QTextStream& out, const char* project, const QStringList& image for ( it = images.begin(); it != images.end(); ++it ) out << "** " << *it << "\n"; out << "**\n"; - out << "** Created: " << QDateTime::currentDateTime().toString() << "\n"; + out << "** Created by: The Qt user interface compiler (Qt " << QT_VERSION_STR << ")\n"; out << "**\n"; out << "** WARNING! All changes made in this file will be lost!\n"; out << "****************************************************************************/\n"; diff --git a/tools/designer/uic/form.cpp b/tools/designer/uic/form.cpp index 699e446..6ded3f3 100644 --- a/tools/designer/uic/form.cpp +++ b/tools/designer/uic/form.cpp @@ -1052,7 +1052,7 @@ void Uic::createFormImpl( const QDomElement &e ) QString label = DomTool::readAttribute( n, "title", "", comment ).toString(); out << indent << "addPage( " << page << ", QString(\"\") );" << endl; trout << indent << "setTitle( " << page << ", " << trcall( label, comment ) << " );" << endl; - QVariant def( FALSE, 0 ); + QVariant def( false ); if ( DomTool::hasAttribute( n, "backEnabled" ) ) out << indent << "setBackEnabled( " << page << ", " << mkBool( DomTool::readAttribute( n, "backEnabled", def).toBool() ) << endl; if ( DomTool::hasAttribute( n, "nextEnabled" ) ) diff --git a/tools/designer/uic/main.cpp b/tools/designer/uic/main.cpp index ace2033..60bc9dd 100644 --- a/tools/designer/uic/main.cpp +++ b/tools/designer/uic/main.cpp @@ -320,7 +320,7 @@ int main( int argc, char * argv[] ) out << "/****************************************************************************" << endl; out << "** Form "<< (impl? "implementation" : "interface") << " generated from reading ui file '" << fileName << "'" << endl; out << "**" << endl; - out << "** Created: " << QDateTime::currentDateTime().toString() << endl; + out << "** Created by: The Qt user interface compiler (Qt " << QT_VERSION_STR << ")" << endl; out << "**" << endl; out << "** WARNING! All changes made in this file will be lost!" << endl; out << "****************************************************************************/" << endl << endl; diff --git a/tools/designer/uic/object.cpp b/tools/designer/uic/object.cpp index 00eaa55..20a5400 100644 --- a/tools/designer/uic/object.cpp +++ b/tools/designer/uic/object.cpp @@ -537,7 +537,7 @@ QString Uic::setObjectProperty( const QString& objClass, const QString& obj, con if ( stdset ) v = "%1"; else - v = "QVariant( %1, 0 )"; + v = "QVariant( %1 )"; v = v.arg( mkBool( e.firstChild().toText().data() ) ); } else if ( e.tagName() == "pixmap" ) { v = e.firstChild().toText().data(); diff --git a/tools/designer/uic/uic.cpp b/tools/designer/uic/uic.cpp index b0a61d6..d8b1d25 100644 --- a/tools/designer/uic/uic.cpp +++ b/tools/designer/uic/uic.cpp @@ -263,7 +263,7 @@ bool Uic::isFrameworkCodeGenerated( const QDomElement& e ) { QDomElement n = getObjectProperty( e, "frameworkCode" ); if ( n.attribute("name") == "frameworkCode" && - !DomTool::elementToVariant( n.firstChild().toElement(), QVariant( TRUE, 0 ) ).toBool() ) + !DomTool::elementToVariant( n.firstChild().toElement(), QVariant( true ) ).toBool() ) return FALSE; return TRUE; } diff --git a/tools/designer/uilib/qwidgetfactory.cpp b/tools/designer/uilib/qwidgetfactory.cpp index b7fc6e9..5276d50 100644 --- a/tools/designer/uilib/qwidgetfactory.cpp +++ b/tools/designer/uilib/qwidgetfactory.cpp @@ -637,7 +637,7 @@ void QWidgetFactory::unpackVariant( const UibStrTable& strings, QDataStream& in, break; case QVariant::Bool: in >> bit; - value = QVariant( bit != 0, 0 ); + value = QVariant( bit != 0 ); break; case QVariant::Double: in >> value.asDouble(); diff --git a/tools/linguist/linguist/linguist-qt3.desktop b/tools/linguist/linguist/linguist-qt3.desktop new file mode 100644 index 0000000..7a2d9ea --- /dev/null +++ b/tools/linguist/linguist/linguist-qt3.desktop @@ -0,0 +1,102 @@ +[Desktop Entry] +Exec=linguist-qt3 +Name=Qt3 Linguist +Name[de]=Qt3-Linguist +Name[eo]=Qt3-Lingvisto +Name[es]=Lingüista Qt3 +Name[ko]=Qt3 언어학자 +Name[lv]=Qt3 Lingvists +Name[fr]=Qt3 Linguist +Name[hu]=Qt3 Nyelvész +Name[ja]=Qt3リンギスト +Name[km]=ភាសាវិទូ Qt3 +Name[nb]=Qt3-Linguist +Name[pa]=Qt3 ਅਨੁਵਾਦਕ +Name[pl]=Lingwista Qt3 +Name[zh_TW]=Qt3 語言專家 +GenericName=Translation Tool +GenericName[af]=Vertaling Program +GenericName[ar]=أداة للترجمة +GenericName[az]=Tərcümə Vasitəsi +GenericName[bg]=Инструмент за превод +GenericName[bn]=অনুবাদ টুল +GenericName[bs]=Alat za prevođenje +GenericName[ca]=Eina de traducció +GenericName[cs]=Překladatelský nástroj +GenericName[cy]=Erfyn Cyfieithu +GenericName[da]=Oversættelsesværktøj +GenericName[de]=Übersetzungsprogramm +GenericName[el]=Εργαλείο μεταφράσεων +GenericName[eo]=Tradukilo por Qt-programoj +GenericName[es]=Herramienta de traducción +GenericName[et]=Tõlkimise rakendus +GenericName[eu]=Itzulpenerako Tresnak +GenericName[fa]=ابزار ترجمه +GenericName[fi]=Käännöstyökalu +GenericName[fo]=Umsetingaramboð +GenericName[fr]=Outil de traduction +GenericName[gl]=Ferramenta de Traducción +GenericName[he]=כלי תרגום +GenericName[hi]=अनुवाद उपकरण +GenericName[hr]=Uslužni program za prevođenje +GenericName[hu]=Fordítássegítő +GenericName[is]=Þýðingartól +GenericName[it]=Strumento per le traduzioni +GenericName[ja]=翻訳ツール +GenericName[km]=ឧបករណ៍បកប្រែ +GenericName[ko]=번역 도구 +GenericName[lo]=ເຄື່ອງມືແປພາສາ +GenericName[lt]=Vertimo įrankis +GenericName[lv]=Tulkošanas Rīks +GenericName[mn]=Орчуулгын програм +GenericName[ms]=Perkakasan Penterjemahan +GenericName[mt]=Għodda tat-traduzzjoni +GenericName[nb]=Oversettelsesverktøy +GenericName[nl]=Vertaalprogramma +GenericName[nn]=Omsetjingsverktøy +GenericName[nso]=Sebereka sa Thlathollo +GenericName[pa]=ਅਨੁਵਾਦ ਸੰਦ +GenericName[pl]=Narzędzie dla tłumaczy +GenericName[pt]=Ferramenta de Tradução +GenericName[pt_BR]=Ferramenta de Tradução +GenericName[ro]=Utilitar de traducere +GenericName[ru]=Утилита локализации приложений +GenericName[se]=Jorgalanneavvu +GenericName[sk]=Prekladací nástroj +GenericName[sl]=Orodje za prevajanje +GenericName[sr]=Алат за превођење +GenericName[sr@Latn]=Alat za prevođenje +GenericName[ss]=Lithulusi lekuhumusha +GenericName[sv]=Översättningsverktyg +GenericName[ta]=மொழிபெயர்ப்புக் கருவி +GenericName[tg]=Тарҷумагар барои QT +GenericName[th]=เครื่องมือแปลภาษา +GenericName[tr]=Çeviri Aracı +GenericName[uk]=Засіб для перекладів +GenericName[uz]=Таржима қилиш воситаси +GenericName[ven]=Zwishumiswa zwau Dologa +GenericName[vi]=Công cụ dịch +GenericName[wa]=Usteye di ratournaedje +GenericName[xh]=Isixhobo Soguqulelo lomsebenzi kolunye ulwimi +GenericName[xx]=xxTranslation Toolxx +GenericName[zh_CN]=翻译工具 +GenericName[zh_TW]=翻譯工具 +GenericName[zu]=Ithuluzi Lokuguqulela +Comment=Tool for translating message catalogues of Qt3 based programs +Comment[da]=Redskab til at oversætte Qt3 baserede programmer +Comment[de]=Dienstprogramm zur Übersetzung von Programmen, die auf Qt3 basieren +Comment[eo]=Ilo por tradukado de mesaĝaroj de Qt3-bazitaj programoj +Comment[es]=Herramienta para la traducción de catálogos de mensajes de programas basados en Qt3 +Comment[fr]=Outil de traduction des catalogues de messages pour les programmes utilisant Qt3 +Comment[he]=Qt3 תוססובמ תוינכות לש תועדוה יגולטק םוגרתל ילכ +Comment[hu]=Segédprogram a Qt3-alapú programok üzenetfájljainak lefordításához +Comment[ko]=Qt3를 바탕으로 하는 프로그램에서 쓸 번역된 메세지 목록을 관리하는 도구 +Comment[lv]=Rīks ziņojumu katalogu tulkošanai uz Qt3 bāzētās programmās +Comment[pt]=Ferramenta para traduzir os catálogos de mensagens de programas do Qt3 +Comment[pt_BR]=Ferramenta para traduzir os catálogos de mensagens de programas do Qt3 +Comment[sv]=Verktyg för att översätta meddelandekataloger från Qt3-baserade program +MimeType=application/x-linguist; +Terminal=false +Icon=linguist-qt3 +Type=Application +Categories=Qt;Development;Translation; diff --git a/tools/linguist/linguist/linguist.pro b/tools/linguist/linguist/linguist.pro index da4d782..545d10f 100644 --- a/tools/linguist/linguist/linguist.pro +++ b/tools/linguist/linguist/linguist.pro @@ -47,15 +47,13 @@ mac { PROJECTNAME = Qt Linguist target.path=$$bins.path -INSTALLS += target linguisttranslations.files = *.qm linguisttranslations.path = $$translations.path -INSTALLS += linguisttranslations phrasebooks.path=$$data.path/phrasebooks phrasebooks.files = ../phrasebooks/* -INSTALLS += phrasebooks + FORMS = about.ui \ statistics.ui IMAGES = images/accelerator.png \ @@ -107,3 +105,13 @@ IMAGES = images/accelerator.png \ images/undo.png \ images/whatsthis.xpm INCLUDEPATH += ../shared + +desktop.path = $$share.path/applications +desktop.files = linguist-qt3.desktop + +system( cp images/appicon.png linguist-qt3.png ) + +icon.path = $$share.path/pixmaps +icon.files = linguist-qt3.png + +INSTALLS += target linguisttranslations phrasebooks desktop icon diff --git a/tools/qtconfig/qt3config.desktop b/tools/qtconfig/qt3config.desktop new file mode 100644 index 0000000..81be6f0 --- /dev/null +++ b/tools/qtconfig/qt3config.desktop @@ -0,0 +1,34 @@ +[Desktop Entry] +Encoding=UTF-8 +Exec=qtconfig-qt3 +Name=Qt3 Configuration +Name[de]=Qt3 Konfiguration +Name[bg]=Настройки на Qt3 +Name[cs]=Qt3 nastavení +Name[de]=Qt3 Konfiguration +Name[el]=Ρυθμίσεις Qt3 +Name[fi]=Qt3 asetukset +Name[fr]=Configuration de Qt3 +Name[hu]=Qt3 beállítások +Name[it]=Impostazioni Qt3 +Name[ja]=Qt3設定 +Name[km]=ការកំណត់ Qt3 +Name[nb]=Qt3-innstillinger +Name[nl]=Qt3 Instellingen +Name[pa]=Qt3 ਸਥਾਪਨ +Name[pl]=Ustawienia Qt3 +Name[pt]=Definições Qt3 +Name[pt_BR]=Configurações do Qt3 +Name[ru]=Настройки Qt3 +Name[sv]=Qt3-inställningar +Name[uk]=Параметри Qt3 +Name[zh_CN]=Qt3 设置 +Name[zh_TW]=Qt3 設定 +Comment=A graphical configuration tool for programs using Qt 3 +Comment[de]=Ein grafisches Konfigurationstool für Qt3-Programme +Comment[fr]=Un outil de configuration graphique pour les programmes utilisant Qt3 +MimeType=application/x-qtconfig; +Terminal=false +Icon=qt3config +Type=Application +Categories=Qt;Settings; diff --git a/tools/qtconfig/qtconfig.pro b/tools/qtconfig/qtconfig.pro index aaef136..b29a1f4 100644 --- a/tools/qtconfig/qtconfig.pro +++ b/tools/qtconfig/qtconfig.pro @@ -12,7 +12,17 @@ TARGET = qtconfig DESTDIR = ../../bin target.path=$$bins.path -INSTALLS += target + INCLUDEPATH += . DBFILE = qtconfig.db REQUIRES=full-config nocrosscompiler !win32* + +desktop.path = $$share.path/applications +desktop.files = qt3config.desktop + +system( cp images/appicon.png qt3config.png ) + +icon.path = $$share.path/pixmaps +icon.files = qt3config.png + +INSTALLS += target desktop icon |