summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xconfigure15
-rw-r--r--doc/src/classes.qdoc4
-rw-r--r--mkspecs/common/g++.conf2
-rw-r--r--mkspecs/common/llvm.conf2
-rw-r--r--mkspecs/common/mac-g++.conf2
-rw-r--r--mkspecs/common/mac-llvm.conf2
-rw-r--r--mkspecs/common/mac.conf2
-rw-r--r--mkspecs/cygwin-g++/qmake.conf2
-rw-r--r--mkspecs/darwin-g++/qmake.conf2
-rw-r--r--mkspecs/features/moc.prf4
-rw-r--r--mkspecs/features/symbian/symbian_building.prf10
-rw-r--r--mkspecs/features/win32/embed_manifest_dll.prf2
-rw-r--r--mkspecs/features/win32/embed_manifest_exe.prf2
-rw-r--r--mkspecs/freebsd-g++34/qmake.conf2
-rw-r--r--mkspecs/freebsd-g++40/qmake.conf2
-rw-r--r--mkspecs/freebsd-icc/qmake.conf2
-rw-r--r--mkspecs/hpux-acc-64/qmake.conf2
-rw-r--r--mkspecs/hpux-acc-o64/qmake.conf2
-rw-r--r--mkspecs/hpux-acc/qmake.conf2
-rw-r--r--mkspecs/hpux-g++-64/qmake.conf2
-rw-r--r--mkspecs/hpux-g++/qmake.conf2
-rw-r--r--mkspecs/hpuxi-acc-32/qmake.conf2
-rw-r--r--mkspecs/hpuxi-acc-64/qmake.conf2
-rw-r--r--mkspecs/hpuxi-g++-64/qmake.conf2
-rw-r--r--mkspecs/irix-cc-64/qmake.conf2
-rw-r--r--mkspecs/irix-cc/qmake.conf2
-rw-r--r--mkspecs/irix-g++-64/qmake.conf2
-rw-r--r--mkspecs/irix-g++/qmake.conf2
-rw-r--r--mkspecs/linux-ecc-64/qmake.conf2
-rw-r--r--mkspecs/linux-icc/qmake.conf2
-rw-r--r--mkspecs/linux-kcc/qmake.conf2
-rw-r--r--mkspecs/linux-lsb-g++/qmake.conf2
-rw-r--r--mkspecs/linux-pgcc/qmake.conf2
-rw-r--r--mkspecs/lynxos-g++/qmake.conf2
-rw-r--r--mkspecs/macx-icc/qmake.conf2
-rw-r--r--mkspecs/netbsd-g++/qmake.conf2
-rw-r--r--mkspecs/qws/freebsd-generic-g++/qmake.conf2
-rw-r--r--mkspecs/qws/macx-generic-g++/qmake.conf2
-rw-r--r--mkspecs/qws/solaris-generic-g++/qmake.conf2
-rw-r--r--mkspecs/sco-g++/qmake.conf2
-rw-r--r--mkspecs/solaris-cc-64/qmake.conf2
-rw-r--r--mkspecs/solaris-cc/qmake.conf2
-rw-r--r--mkspecs/solaris-g++-64/qmake.conf2
-rw-r--r--mkspecs/solaris-g++/qmake.conf2
-rw-r--r--mkspecs/symbian/linux-gcce/qmake.conf2
-rw-r--r--mkspecs/tru64-cxx/qmake.conf2
-rw-r--r--mkspecs/tru64-g++/qmake.conf2
-rw-r--r--mkspecs/unixware-cc/qmake.conf2
-rw-r--r--mkspecs/unixware-g++/qmake.conf2
-rw-r--r--mkspecs/unsupported/linux-host-g++/qmake.conf2
-rw-r--r--mkspecs/unsupported/qws/qnx-641/qmake.conf2
-rw-r--r--mkspecs/unsupported/qws/qnx-generic-g++/qmake.conf2
-rw-r--r--mkspecs/unsupported/qws/qnx-i386-g++/qmake.conf2
-rw-r--r--mkspecs/unsupported/qws/qnx-ppc-g++/qmake.conf2
-rw-r--r--mkspecs/unsupported/vxworks-ppc-dcc/qmake.conf2
-rw-r--r--mkspecs/unsupported/vxworks-simpentium-dcc/qmake.conf2
-rw-r--r--qmake/generators/unix/unixmake2.cpp2
-rw-r--r--qmake/option.cpp10
-rw-r--r--qmake/option.h1
-rw-r--r--qmake/project.cpp85
-rw-r--r--qmake/project.h13
-rw-r--r--qmake/qmake.pro4
-rw-r--r--src/3rdparty/phonon/mmf/audioplayer.cpp2
-rw-r--r--src/3rdparty/webkit/.tag2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/ChangeLog187
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri20
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro14
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/config.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/ArrayPrototype.lut.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/DatePrototype.lut.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/Grammar.cpp538
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/Grammar.h4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/JSONObject.lut.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/Lexer.lut.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/MathObject.lut.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/NumberConstructor.lut.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/RegExpConstructor.lut.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/RegExpObject.lut.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/StringPrototype.lut.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp22
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/Structure.cpp4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.h12
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/CurrentTime.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/MathExtras.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h19
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/StringExtras.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/Threading.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/VMTags.h39
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h2
-rw-r--r--src/3rdparty/webkit/VERSION7
-rw-r--r--src/3rdparty/webkit/WebCore/ChangeLog807
-rw-r--r--src/3rdparty/webkit/WebCore/WebCore.gypi2
-rw-r--r--src/3rdparty/webkit/WebCore/WebCore.pro8
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/npapi.h4
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/css/MediaQueryEvaluator.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Document.cpp73
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Document.h7
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Element.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/dom/SelectElement.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ViewportArguments.cpp120
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ViewportArguments.h74
-rw-r--r--src/3rdparty/webkit/WebCore/generated/CSSGrammar.cpp444
-rw-r--r--src/3rdparty/webkit/WebCore/generated/CSSGrammar.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/generated/CSSValueKeywords.c5
-rw-r--r--src/3rdparty/webkit/WebCore/generated/ColorData.c5
-rw-r--r--src/3rdparty/webkit/WebCore/generated/DocTypeStrings.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/generated/HTMLEntityNames.c5
-rw-r--r--src/3rdparty/webkit/WebCore/generated/XPathGrammar.cpp106
-rw-r--r--src/3rdparty/webkit/WebCore/generated/XPathGrammar.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/tokenizer.cpp2382
-rw-r--r--src/3rdparty/webkit/WebCore/history/qt/HistoryItemQt.cpp21
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLInputElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLMetaElement.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/page/ChromeClient.h11
-rw-r--r--src/3rdparty/webkit/WebCore/page/FocusController.cpp119
-rw-r--r--src/3rdparty/webkit/WebCore/page/FocusController.h5
-rw-r--r--src/3rdparty/webkit/WebCore/page/FrameView.cpp1
-rw-r--r--src/3rdparty/webkit/WebCore/page/SpatialNavigation.cpp95
-rw-r--r--src/3rdparty/webkit/WebCore/page/SpatialNavigation.h2
-rw-r--r--src/3rdparty/webkit/WebCore/page/qt/EventHandlerQt.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Arena.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/MIMETypeRegistry.h4
-rw-r--r--src/3rdparty/webkit/WebCore/platform/StaticConstructors.h4
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/FontPlatformDataQt.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp306
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/transforms/TransformationMatrix.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/MIMETypeRegistryMac.mm5
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/qt/ResourceRequestQt.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/MIMETypeRegistryQt.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/QWebPageClient.h1
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/SharedTimerQt.cpp24
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/TextStream.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/TextStream.h2
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginView.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginView.h3
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginViewNone.cpp12
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/symbian/PluginViewSymbian.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/win/PluginViewWin.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderBox.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderLayer.cpp16
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderLayer.h1
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderLayerCompositor.cpp9
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp3
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.cpp4
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp9
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp7
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp3
-rw-r--r--src/3rdparty/webkit/WebKit/qt/ChangeLog259
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp35
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.h6
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/benchmarks/loading/loading.pro2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/benchmarks/painting/painting.pro2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/hybridPixmap/widget.ui2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qgraphicswebview/qgraphicswebview.pro2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qgraphicswebview/tst_qgraphicswebview.cpp35
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebelement/qwebelement.pro2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebframe/qwebframe.pro2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp60
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebhistory/qwebhistory.pro2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebhistoryinterface/qwebhistoryinterface.pro2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebinspector/qwebinspector.pro2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebpage/qwebpage.pro2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp46
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebplugindatabase/qwebplugindatabase.pro2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebview/qwebview.pro2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebview/tst_qwebview.cpp26
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/tests.pri1
-rw-r--r--src/corelib/kernel/qeventdispatcher_symbian.cpp6
-rw-r--r--src/corelib/tools/qbytearray.cpp39
-rw-r--r--src/corelib/tools/qbytearray.h3
-rw-r--r--src/corelib/tools/qscopedpointer.cpp4
-rw-r--r--src/corelib/tools/qstring.cpp40
-rw-r--r--src/corelib/tools/qstring.h1
-rw-r--r--src/dbus/qdbusinterface.cpp2
-rw-r--r--src/declarative/graphicsitems/qdeclarativeitem.cpp5
-rw-r--r--src/gui/graphicsview/qgraphicsscene.cpp6
-rw-r--r--src/gui/graphicsview/qgraphicswidget.cpp10
-rw-r--r--src/gui/inputmethod/qcoefepinputcontext_s60.cpp2
-rw-r--r--src/gui/kernel/qapplication_s60.cpp2
-rw-r--r--src/gui/kernel/qpalette.cpp2
-rw-r--r--src/gui/kernel/qwidget_mac.mm6
-rw-r--r--src/gui/text/qfontdatabase_s60.cpp57
-rw-r--r--src/gui/text/qfontengine_s60.cpp25
-rw-r--r--src/gui/text/qfontengine_s60_p.h4
-rw-r--r--src/gui/text/qtextdocument.cpp9
-rw-r--r--src/gui/widgets/qmenu_symbian.cpp8
-rw-r--r--src/gui/widgets/qtabwidget.cpp2
-rw-r--r--src/network/access/qnetworkcookiejar.cpp3
-rw-r--r--src/xmlpatterns/type/qschematype_p.h2
-rw-r--r--tests/auto/macnativeevents/expectedeventlist.cpp43
-rw-r--r--tests/auto/macnativeevents/tst_macnativeevents.cpp23
-rw-r--r--tests/auto/qdbusinterface/tst_qdbusinterface.cpp22
-rw-r--r--tests/auto/qgraphicsview/tst_qgraphicsview.cpp26
-rw-r--r--tests/auto/qnetworkcookiejar/tst_qnetworkcookiejar.cpp15
-rw-r--r--tests/auto/qtabwidget/tst_qtabwidget.cpp9
-rw-r--r--tests/auto/selftests/tst_selftests.cpp4
-rw-r--r--tools/designer/src/lib/shared/filterwidget.cpp5
-rw-r--r--tools/designer/src/lib/shared/filterwidget_p.h1
-rw-r--r--tools/qdoc3/codeparser.cpp11
-rw-r--r--tools/qdoc3/codeparser.h2
-rw-r--r--tools/qdoc3/htmlgenerator.cpp62
-rw-r--r--tools/qdoc3/htmlgenerator.h5
-rw-r--r--tools/qdoc3/test/qt-defines.qdocconf1
-rw-r--r--tools/qdoc3/test/qt-html-templates.qdocconf1
-rw-r--r--tools/qml/qml.pro10
-rw-r--r--translations/qt_fr.ts4650
-rw-r--r--translations/qt_pl.ts270
213 files changed, 8180 insertions, 3724 deletions
diff --git a/configure b/configure
index a15f61f..6194eb5 100755
--- a/configure
+++ b/configure
@@ -4420,8 +4420,7 @@ fi
# is where the resulting variable is written to
setBootstrapVariable()
{
- variableRegExp="^$1[^_A-Z0-9]"
- getQMakeConf | grep "$variableRegExp" | ( [ -n "$2" ] && sed "$2" ; [ -z "$2" ] && cat ) | $AWK '
+ getQMakeConf | $AWK '/^('"$1"')[^_A-Z0-9]/ { print $0; }' | ( [ -n "$2" ] && sed "$2" ; [ -z "$2" ] && cat ) | $AWK '
{
varLength = index($0, "=") - 1
valStart = varLength + 2
@@ -4536,10 +4535,10 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ];
EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS \$(QMAKE_CXXFLAGS_DEBUG)"
fi
- if [ '!' -z "$RPATH_FLAGS" ] && [ '!' -z "`getQMakeConf \"$QMAKESPEC\" | grep QMAKE_RPATH | awk '{print $3;}'`" ]; then
- setBootstrapVariable QMAKE_RPATH 's,\$\$LITERAL_WHITESPACE, ,'
- for rpath in $RPATH_FLAGS; do
- EXTRA_LFLAGS="\$(QMAKE_RPATH)\"$rpath\" $EXTRA_LFLAGS"
+ if [ '!' -z "$RPATH_FLAGS" ] && [ '!' -z "`getQMakeConf \"$QMAKESPEC\" | $AWK '/QMAKE_(LFLAGS_)?RPATH/ {print $3;}'`" ]; then
+ setBootstrapVariable "QMAKE_(LFLAGS_)?RPATH" 's,\$\$LITERAL_WHITESPACE, ,;s,QMAKE_RPATH,QMAKE_LFLAGS_RPATH,'
+ for rpath in $RPATH_FLAGS; do
+ EXTRA_LFLAGS="\$(QMAKE_LFLAGS_RPATH)\"$rpath\" $EXTRA_LFLAGS"
done
fi
if [ "$PLATFORM_MAC" = "yes" ]; then
@@ -6679,10 +6678,10 @@ if [ "$PLATFORM_MAC" = "yes" ]; then
if [ "$CFG_RPATH" = "yes" ]; then
QMAKE_CONFIG="$QMAKE_CONFIG absolute_library_soname"
fi
-elif [ -z "`getQMakeConf \"$XQMAKESPEC\" | grep QMAKE_RPATH | awk '{print $3;}'`" ]; then
+elif [ -z "`getQMakeConf \"$XQMAKESPEC\" | $AWK '/QMAKE_(LFLAGS_)?RPATH/ {print $3;}'`" ]; then
if [ -n "$RPATH_FLAGS" ]; then
echo
- echo "ERROR: -R cannot be used on this platform as \$QMAKE_RPATH is"
+ echo "ERROR: -R cannot be used on this platform as \$QMAKE_LFLAGS_RPATH is"
echo " undefined."
echo
exit 1
diff --git a/doc/src/classes.qdoc b/doc/src/classes.qdoc
index 6ba31a2..1552f56 100644
--- a/doc/src/classes.qdoc
+++ b/doc/src/classes.qdoc
@@ -59,7 +59,7 @@
/*!
\page classes.html
- \title All Qt Classes (main index)
+ \title All Qt Classes
\ingroup classlists
\brief If you know the name of the class you want, find it here.
@@ -146,7 +146,7 @@
/*!
\page functions.html
- \title All Functions (main index)
+ \title All Functions
\ingroup funclists
\brief All documented Qt functions listed alphabetically with a
diff --git a/mkspecs/common/g++.conf b/mkspecs/common/g++.conf
index 25d447c..d3db24a 100644
--- a/mkspecs/common/g++.conf
+++ b/mkspecs/common/g++.conf
@@ -43,7 +43,7 @@ QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME += -Wl,-soname,
QMAKE_LFLAGS_THREAD +=
QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined
-QMAKE_RPATH = -Wl,-rpath,
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
QMAKE_PCH_OUTPUT_EXT = .gch
diff --git a/mkspecs/common/llvm.conf b/mkspecs/common/llvm.conf
index aee3904..70f52aa 100644
--- a/mkspecs/common/llvm.conf
+++ b/mkspecs/common/llvm.conf
@@ -40,7 +40,7 @@ QMAKE_LFLAGS_SHLIB += -shared
QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME += -Wl,-soname,
QMAKE_LFLAGS_THREAD +=
-QMAKE_RPATH = -Wl,-rpath,
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
QMAKE_PCH_OUTPUT_EXT = .gch
diff --git a/mkspecs/common/mac-g++.conf b/mkspecs/common/mac-g++.conf
index 1863898..446547d 100644
--- a/mkspecs/common/mac-g++.conf
+++ b/mkspecs/common/mac-g++.conf
@@ -67,7 +67,7 @@ QMAKE_LFLAGS_VERSION += -current_version$${LITERAL_WHITESPACE}
QMAKE_LFLAGS_COMPAT_VERSION += -compatibility_version$${LITERAL_WHITESPACE}
# -all_load requred to make Objective-C categories work in static builds.
QMAKE_LFLAGS_STATIC_LIB += -all_load
-QMAKE_RPATH +=
+QMAKE_LFLAGS_RPATH +=
QMAKE_PCH_OUTPUT_EXT = .gch
diff --git a/mkspecs/common/mac-llvm.conf b/mkspecs/common/mac-llvm.conf
index 55850c6..4ff088c 100644
--- a/mkspecs/common/mac-llvm.conf
+++ b/mkspecs/common/mac-llvm.conf
@@ -65,7 +65,7 @@ QMAKE_LFLAGS_PPC += -arch ppc
QMAKE_LFLAGS_X86 += -arch i386
QMAKE_LFLAGS_VERSION += -current_version$${LITERAL_WHITESPACE}
QMAKE_LFLAGS_COMPAT_VERSION += -compatibility_version$${LITERAL_WHITESPACE}
-QMAKE_RPATH +=
+QMAKE_LFLAGS_RPATH +=
QMAKE_PCH_OUTPUT_EXT = .gch
diff --git a/mkspecs/common/mac.conf b/mkspecs/common/mac.conf
index 5d88ac4..96cd239 100644
--- a/mkspecs/common/mac.conf
+++ b/mkspecs/common/mac.conf
@@ -14,7 +14,7 @@ QMAKE_INCDIR_OPENGL = /System/Library/Frameworks/OpenGL.framework/Headers \
QMAKE_FIX_RPATH = install_name_tool -id
-QMAKE_RPATH =
+QMAKE_LFLAGS_RPATH =
QMAKE_LIBS_DYNLOAD =
QMAKE_LIBS_OPENGL = -framework OpenGL -framework AGL
diff --git a/mkspecs/cygwin-g++/qmake.conf b/mkspecs/cygwin-g++/qmake.conf
index af9881b..29d0958 100644
--- a/mkspecs/cygwin-g++/qmake.conf
+++ b/mkspecs/cygwin-g++/qmake.conf
@@ -57,7 +57,7 @@ QMAKE_LFLAGS_SHLIB = -shared
QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -Wl,-soname,
QMAKE_LFLAGS_THREAD =
-QMAKE_RPATH = -Wl,-rpath,
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
QMAKE_CYGWIN_SHLIB = 1
QMAKE_CYGWIN_EXE = 1
diff --git a/mkspecs/darwin-g++/qmake.conf b/mkspecs/darwin-g++/qmake.conf
index 995679e..fc55503 100644
--- a/mkspecs/darwin-g++/qmake.conf
+++ b/mkspecs/darwin-g++/qmake.conf
@@ -69,7 +69,7 @@ QMAKE_LFLAGS_SONAME += -install_name$${LITERAL_WHITESPACE}
QMAKE_LFLAGS_VERSION = -current_version$${LITERAL_WHITESPACE}
QMAKE_LFLAGS_COMPAT_VERSION = -compatibility_version$${LITERAL_WHITESPACE}
-QMAKE_RPATH =
+QMAKE_LFLAGS_RPATH =
QMAKE_LIBS_DYNLOAD =
QMAKE_LIBS_X11 = -lXext -lX11 -lm
diff --git a/mkspecs/features/moc.prf b/mkspecs/features/moc.prf
index e806ef6..d12f5ad 100644
--- a/mkspecs/features/moc.prf
+++ b/mkspecs/features/moc.prf
@@ -12,7 +12,7 @@ isEmpty(QMAKE_EXT_CPP_MOC):QMAKE_EXT_CPP_MOC = .moc
# has too many includes. We do this to overcome a command-line limit on Win < XP
INCLUDETEMP=
WIN_INCLUDETEMP=
-win32:count($$list($$INCPATH), 40, >) {
+win32:count($$list($$INCLUDEPATH), 40, >) {
INCLUDETEMP = $$MOC_DIR/mocinclude.tmp
WIN_INCLUDETEMP=$$INCLUDETEMP
@@ -28,7 +28,7 @@ win32:count($$list($$INCPATH), 40, >) {
unset(INCFILELIST)
RET =
- for(incfile, $$list($$INCPATH)) {
+ for(incfile, $$list($$INCLUDEPATH)) {
INCFILELIST = -I$$incfile
isEmpty(RET): RET += @echo $$INCFILELIST> $$WIN_INCLUDETEMP $$EOC
else: RET += @echo $$INCFILELIST>> $$WIN_INCLUDETEMP $$EOC
diff --git a/mkspecs/features/symbian/symbian_building.prf b/mkspecs/features/symbian/symbian_building.prf
index 261cc10..802adde 100644
--- a/mkspecs/features/symbian/symbian_building.prf
+++ b/mkspecs/features/symbian/symbian_building.prf
@@ -295,13 +295,3 @@ contains(TEMPLATE, "app"):!contains(CONFIG, "no_icon") {
# Generated pkg files
QMAKE_DISTCLEAN += $${TARGET}_template.pkg
-
-# Pre 2.6.23 Linux kernels have a limit on the environment size that can be passed to
-# a forked process. We quite easily overstep this boundary when building big projects
-# on Symbian, and since we depend on running the system() command, this causes the build
-# to fail. Test here that system() can be successfully run. It is important that this
-# check happens as late as possible, otherwise it will not be caught.
-execve_sanity_test = $$system("echo testing")
-!contains(execve_sanity_test, "testing") {
- error("Running system() failed. Maybe your kernel is too old? (Linux kernels need at least version 2.6.23)")
-}
diff --git a/mkspecs/features/win32/embed_manifest_dll.prf b/mkspecs/features/win32/embed_manifest_dll.prf
index 408efd2..60a55ce 100644
--- a/mkspecs/features/win32/embed_manifest_dll.prf
+++ b/mkspecs/features/win32/embed_manifest_dll.prf
@@ -1,6 +1,6 @@
MANIFEST_DIR = $$OBJECTS_DIR
isEmpty(MANIFEST_DIR):MANIFEST_DIR = .
-!if(plugin:no_plugin_manifest):if(win32-msvc2005|win32-msvc2008|win32-msvc2010):!static:!equals(TEMPLATE_PREFIX, "vc"):equals(TEMPLATE, "lib") {
+!if(plugin:no_plugin_manifest):if(win32-msvc2005*|win32-msvc2008*|win32-msvc2010*):!static:!equals(TEMPLATE_PREFIX, "vc"):equals(TEMPLATE, "lib") {
NOPATH_TARGET = $$TARGET
NOPATH_TARGET ~= s,\\ , ,q # Remove space escaping (NOPATH_TARGET is quoted)
NOPATH_TARGET ~= s,\\,/,g # Change to single type separators
diff --git a/mkspecs/features/win32/embed_manifest_exe.prf b/mkspecs/features/win32/embed_manifest_exe.prf
index 6f63103..169134d 100644
--- a/mkspecs/features/win32/embed_manifest_exe.prf
+++ b/mkspecs/features/win32/embed_manifest_exe.prf
@@ -1,6 +1,6 @@
MANIFEST_DIR = $$OBJECTS_DIR
isEmpty(MANIFEST_DIR):MANIFEST_DIR = .
-if(win32-msvc2005|win32-msvc2008|win32-msvc2010):!equals(TEMPLATE_PREFIX, "vc"):equals(TEMPLATE, "app") {
+if(win32-msvc2005*|win32-msvc2008*|win32-msvc2010*):!equals(TEMPLATE_PREFIX, "vc"):equals(TEMPLATE, "app") {
NOPATH_TARGET = $$TARGET
NOPATH_TARGET ~= s,\\ , ,q # Remove space escaping (NOPATH_TARGET is quoted)
NOPATH_TARGET ~= s,\\,/,g # Change to single type separators
diff --git a/mkspecs/freebsd-g++34/qmake.conf b/mkspecs/freebsd-g++34/qmake.conf
index 3e6bf6a..810efab 100644
--- a/mkspecs/freebsd-g++34/qmake.conf
+++ b/mkspecs/freebsd-g++34/qmake.conf
@@ -57,7 +57,7 @@ QMAKE_LFLAGS_SHLIB = -shared
QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -Wl,-soname,
QMAKE_LFLAGS_THREAD = -pthread
-QMAKE_RPATH = -Wl,-rpath,
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD =
diff --git a/mkspecs/freebsd-g++40/qmake.conf b/mkspecs/freebsd-g++40/qmake.conf
index 43d6980..4b0ac4c 100644
--- a/mkspecs/freebsd-g++40/qmake.conf
+++ b/mkspecs/freebsd-g++40/qmake.conf
@@ -57,7 +57,7 @@ QMAKE_LFLAGS_SHLIB = -shared
QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -Wl,-soname,
QMAKE_LFLAGS_THREAD = -pthread
-QMAKE_RPATH = -Wl,-rpath,
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD =
diff --git a/mkspecs/freebsd-icc/qmake.conf b/mkspecs/freebsd-icc/qmake.conf
index c9c3140..99d6126 100644
--- a/mkspecs/freebsd-icc/qmake.conf
+++ b/mkspecs/freebsd-icc/qmake.conf
@@ -80,7 +80,7 @@ QMAKE_LFLAGS_SHLIB = -shared
QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -Qoption,ld,-soname,
QMAKE_LFLAGS_THREAD = -mt
-QMAKE_RPATH = -Qoption,ld,-rpath,
+QMAKE_LFLAGS_RPATH = -Qoption,ld,-rpath,
QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD =
diff --git a/mkspecs/hpux-acc-64/qmake.conf b/mkspecs/hpux-acc-64/qmake.conf
index b138ef8..38c8555 100644
--- a/mkspecs/hpux-acc-64/qmake.conf
+++ b/mkspecs/hpux-acc-64/qmake.conf
@@ -98,7 +98,7 @@ QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -Wl,+h,
QMAKE_LFLAGS_THREAD =
QMAKE_LFLAGS_NOUNDEF = -Wl,+noallowunsats
-QMAKE_RPATH = -Wl,+b,
+QMAKE_LFLAGS_RPATH = -Wl,+b,
QMAKE_HPUX_SHLIB = 3
QMAKE_EXTENSION_SHLIB = sl
diff --git a/mkspecs/hpux-acc-o64/qmake.conf b/mkspecs/hpux-acc-o64/qmake.conf
index b703540..630129c 100644
--- a/mkspecs/hpux-acc-o64/qmake.conf
+++ b/mkspecs/hpux-acc-o64/qmake.conf
@@ -95,7 +95,7 @@ QMAKE_LFLAGS_SHLIB = -b
QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -Wl,+h,
QMAKE_LFLAGS_NOUNDEF = -Wl,+noallowunsats
-QMAKE_RPATH = -Wl,+b,
+QMAKE_LFLAGS_RPATH = -Wl,+b,
QMAKE_HPUX_SHLIB = 2
QMAKE_EXTENSION_SHLIB = sl
diff --git a/mkspecs/hpux-acc/qmake.conf b/mkspecs/hpux-acc/qmake.conf
index 8223a07..1c732c6 100644
--- a/mkspecs/hpux-acc/qmake.conf
+++ b/mkspecs/hpux-acc/qmake.conf
@@ -77,7 +77,7 @@ QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -Wl,+h,
QMAKE_LFLAGS_THREAD =
QMAKE_LFLAGS_NOUNDEF = -Wl,+noallowunsats
-QMAKE_RPATH = -Wl,+b,
+QMAKE_LFLAGS_RPATH = -Wl,+b,
QMAKE_HPUX_SHLIB = 1
QMAKE_EXTENSION_SHLIB = sl
diff --git a/mkspecs/hpux-g++-64/qmake.conf b/mkspecs/hpux-g++-64/qmake.conf
index 734a5f7..d8b0a4a 100644
--- a/mkspecs/hpux-g++-64/qmake.conf
+++ b/mkspecs/hpux-g++-64/qmake.conf
@@ -60,7 +60,7 @@ QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -Wl,+h,
QMAKE_LFLAGS_THREAD =
QMAKE_LFLAGS_NOUNDEF = -Wl,+noallowunsats
-QMAKE_RPATH = -Wl,+b,
+QMAKE_LFLAGS_RPATH = -Wl,+b,
QMAKE_HPUX_SHLIB = 3
QMAKE_EXTENSION_SHLIB = sl
diff --git a/mkspecs/hpux-g++/qmake.conf b/mkspecs/hpux-g++/qmake.conf
index 6935ea9..312c44b 100644
--- a/mkspecs/hpux-g++/qmake.conf
+++ b/mkspecs/hpux-g++/qmake.conf
@@ -60,7 +60,7 @@ QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -Wl,+h,
QMAKE_LFLAGS_THREAD =
QMAKE_LFLAGS_NOUNDEF = -Wl,+noallowunsats
-QMAKE_RPATH = -Wl,+b,
+QMAKE_LFLAGS_RPATH = -Wl,+b,
QMAKE_HPUX_SHLIB = 1
QMAKE_EXTENSION_SHLIB = sl
diff --git a/mkspecs/hpuxi-acc-32/qmake.conf b/mkspecs/hpuxi-acc-32/qmake.conf
index 93006e5..a26cb32 100644
--- a/mkspecs/hpuxi-acc-32/qmake.conf
+++ b/mkspecs/hpuxi-acc-32/qmake.conf
@@ -54,7 +54,7 @@ QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -Wl,+h,
QMAKE_LFLAGS_NOUNDEF = -Wl,+noallowunsats
QMAKE_LFLAGS_THREAD =
-QMAKE_RPATH =
+QMAKE_LFLAGS_RPATH =
QMAKE_LIBS = -lm
QMAKE_LIBS_DYNLOAD = -ldl
diff --git a/mkspecs/hpuxi-acc-64/qmake.conf b/mkspecs/hpuxi-acc-64/qmake.conf
index 2fa1f01..3e2d59f 100644
--- a/mkspecs/hpuxi-acc-64/qmake.conf
+++ b/mkspecs/hpuxi-acc-64/qmake.conf
@@ -97,7 +97,7 @@ QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -Wl,+h,
QMAKE_LFLAGS_THREAD =
QMAKE_LFLAGS_NOUNDEF = -Wl,+noallowunsats
-QMAKE_RPATH =
+QMAKE_LFLAGS_RPATH =
QMAKE_LIBS = -lm
QMAKE_LIBS_DYNLOAD = -ldl
diff --git a/mkspecs/hpuxi-g++-64/qmake.conf b/mkspecs/hpuxi-g++-64/qmake.conf
index 05b0691..3151d85 100644
--- a/mkspecs/hpuxi-g++-64/qmake.conf
+++ b/mkspecs/hpuxi-g++-64/qmake.conf
@@ -65,7 +65,7 @@ QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -Wl,+h,
QMAKE_LFLAGS_THREAD = -lpthread
QMAKE_LFLAGS_NOUNDEF = -Wl,+noallowunsats
-QMAKE_RPATH = -Wl,+b,
+QMAKE_LFLAGS_RPATH = -Wl,+b,
QMAKE_LIBS = -lm
QMAKE_LIBS_DYNLOAD = -ldl
diff --git a/mkspecs/irix-cc-64/qmake.conf b/mkspecs/irix-cc-64/qmake.conf
index 4b651b2..b8d316e 100644
--- a/mkspecs/irix-cc-64/qmake.conf
+++ b/mkspecs/irix-cc-64/qmake.conf
@@ -88,7 +88,7 @@ QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -Wl,-soname,
QMAKE_LFLAGS_THREAD =
QMAKE_LFLAGS_NOUNDEF = -Wl,-no_unresolved
-QMAKE_RPATH = -Wl,-rpath,
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD =
diff --git a/mkspecs/irix-cc/qmake.conf b/mkspecs/irix-cc/qmake.conf
index 0070d42..2f4f03f 100644
--- a/mkspecs/irix-cc/qmake.conf
+++ b/mkspecs/irix-cc/qmake.conf
@@ -88,7 +88,7 @@ QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -Wl,-soname,
QMAKE_LFLAGS_THREAD =
QMAKE_LFLAGS_NOUNDEF = -Wl,-no_unresolved
-QMAKE_RPATH = -Wl,-rpath,
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD =
diff --git a/mkspecs/irix-g++-64/qmake.conf b/mkspecs/irix-g++-64/qmake.conf
index 56f02f1..610d92c 100644
--- a/mkspecs/irix-g++-64/qmake.conf
+++ b/mkspecs/irix-g++-64/qmake.conf
@@ -58,7 +58,7 @@ QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -Wl,-soname,
QMAKE_LFLAGS_THREAD =
QMAKE_LFLAGS_NOUNDEF = -Wl,-no_unresolved
-QMAKE_RPATH = -Wl,-rpath,
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
QMAKE_LIBS = -lC
QMAKE_LIBS_DYNLOAD =
diff --git a/mkspecs/irix-g++/qmake.conf b/mkspecs/irix-g++/qmake.conf
index c1eafdb..41841f3 100644
--- a/mkspecs/irix-g++/qmake.conf
+++ b/mkspecs/irix-g++/qmake.conf
@@ -58,7 +58,7 @@ QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -Wl,-soname,
QMAKE_LFLAGS_THREAD =
QMAKE_LFLAGS_NOUNDEF = -Wl,-no_unresolved
-QMAKE_RPATH = -Wl,-rpath,
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
QMAKE_LIBS = -lC
QMAKE_LIBS_DYNLOAD =
diff --git a/mkspecs/linux-ecc-64/qmake.conf b/mkspecs/linux-ecc-64/qmake.conf
index 21f2960..aa50b87 100644
--- a/mkspecs/linux-ecc-64/qmake.conf
+++ b/mkspecs/linux-ecc-64/qmake.conf
@@ -56,7 +56,7 @@ QMAKE_LFLAGS_SHLIB = -shared
QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -Qoption,ld,-soname,
QMAKE_LFLAGS_THREAD =
-QMAKE_RPATH = -Qoption,ld,-rpath,
+QMAKE_LFLAGS_RPATH = -Qoption,ld,-rpath,
QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD = -ldl
diff --git a/mkspecs/linux-icc/qmake.conf b/mkspecs/linux-icc/qmake.conf
index eeb24a3..3353180 100644
--- a/mkspecs/linux-icc/qmake.conf
+++ b/mkspecs/linux-icc/qmake.conf
@@ -62,7 +62,7 @@ QMAKE_LFLAGS_SHLIB = -shared
QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -Qoption,ld,-soname,
QMAKE_LFLAGS_THREAD =
-QMAKE_RPATH = -Qoption,ld,-rpath,
+QMAKE_LFLAGS_RPATH = -Qoption,ld,-rpath,
QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD = -ldl
diff --git a/mkspecs/linux-kcc/qmake.conf b/mkspecs/linux-kcc/qmake.conf
index 217572f..5c6001c 100644
--- a/mkspecs/linux-kcc/qmake.conf
+++ b/mkspecs/linux-kcc/qmake.conf
@@ -65,7 +65,7 @@ QMAKE_LFLAGS_SHLIB =
QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = --soname$$LITERAL_WHITESPACE
QMAKE_LFLAGS_THREAD = --thread_safe
-QMAKE_RPATH = -rpath$$LITERAL_WHITESPACE
+QMAKE_LFLAGS_RPATH = -rpath$$LITERAL_WHITESPACE
QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD = -ldl
diff --git a/mkspecs/linux-lsb-g++/qmake.conf b/mkspecs/linux-lsb-g++/qmake.conf
index 4b4deab..d359625 100644
--- a/mkspecs/linux-lsb-g++/qmake.conf
+++ b/mkspecs/linux-lsb-g++/qmake.conf
@@ -62,7 +62,7 @@ QMAKE_LFLAGS_SHLIB = -shared
QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -Wl,-soname,
QMAKE_LFLAGS_THREAD =
-QMAKE_RPATH = -Wl,-rpath,
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD = -ldl
diff --git a/mkspecs/linux-pgcc/qmake.conf b/mkspecs/linux-pgcc/qmake.conf
index 19af8ee..16d0023 100644
--- a/mkspecs/linux-pgcc/qmake.conf
+++ b/mkspecs/linux-pgcc/qmake.conf
@@ -56,7 +56,7 @@ QMAKE_LFLAGS_SHLIB = -shared -fpic
QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -Wl,-soname,
QMAKE_LFLAGS_THREAD =
-QMAKE_RPATH = -R
+QMAKE_LFLAGS_RPATH = -R
QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD = -ldl
diff --git a/mkspecs/lynxos-g++/qmake.conf b/mkspecs/lynxos-g++/qmake.conf
index eae3308..fc0fc43 100644
--- a/mkspecs/lynxos-g++/qmake.conf
+++ b/mkspecs/lynxos-g++/qmake.conf
@@ -59,7 +59,7 @@ QMAKE_LFLAGS_SHLIB = -shared
QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -Wl,-soname,
QMAKE_LFLAGS_THREAD =
-QMAKE_RPATH = -Wl,-rpath,
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD = -ldl
diff --git a/mkspecs/macx-icc/qmake.conf b/mkspecs/macx-icc/qmake.conf
index 00de6c4..d93ed5e 100644
--- a/mkspecs/macx-icc/qmake.conf
+++ b/mkspecs/macx-icc/qmake.conf
@@ -70,7 +70,7 @@ QMAKE_LFLAGS_SONAME = -install_name$${LITERAL_WHITESPACE}
QMAKE_LFLAGS_THREAD =
#QMAKE_LFLAGS_PPC = -arch ppc
#QMAKE_LFLAGS_X86 = -arch i386
-QMAKE_RPATH =
+QMAKE_LFLAGS_RPATH =
QMAKE_LFLAGS_VERSION = -current_version$${LITERAL_WHITESPACE}
QMAKE_LFLAGS_COMPAT_VERSION = -compatibility_version$${LITERAL_WHITESPACE}
diff --git a/mkspecs/netbsd-g++/qmake.conf b/mkspecs/netbsd-g++/qmake.conf
index 1cb449f..1d3fd2b 100644
--- a/mkspecs/netbsd-g++/qmake.conf
+++ b/mkspecs/netbsd-g++/qmake.conf
@@ -58,7 +58,7 @@ QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -Wl,-soname,
QMAKE_LFLAGS_THREAD = -pthread
QMAKE_LFLAGS_NOUNDEF = -Wl,-no_unresolved
-QMAKE_RPATH = -Wl,-rpath,
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD =
diff --git a/mkspecs/qws/freebsd-generic-g++/qmake.conf b/mkspecs/qws/freebsd-generic-g++/qmake.conf
index 6e30d4f..d50ce6b 100644
--- a/mkspecs/qws/freebsd-generic-g++/qmake.conf
+++ b/mkspecs/qws/freebsd-generic-g++/qmake.conf
@@ -56,7 +56,7 @@ QMAKE_LFLAGS_SHLIB = -shared
QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -Wl,-soname,
QMAKE_LFLAGS_THREAD = -pthread
-QMAKE_RPATH = -Wl,-rpath,
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
QMAKE_LIBS =
QMAKE_LIBS_QT = -lqte
diff --git a/mkspecs/qws/macx-generic-g++/qmake.conf b/mkspecs/qws/macx-generic-g++/qmake.conf
index f753222..9096712 100644
--- a/mkspecs/qws/macx-generic-g++/qmake.conf
+++ b/mkspecs/qws/macx-generic-g++/qmake.conf
@@ -57,7 +57,7 @@ QMAKE_LFLAGS_INCREMENTAL = -undefined suppress -flat_namespace
QMAKE_LFLAGS_PLUGIN = -bundle
QMAKE_LFLAGS_SONAME =
QMAKE_LFLAGS_THREAD =
-QMAKE_RPATH =
+QMAKE_LFLAGS_RPATH =
QMAKE_LIBS =
QMAKE_LIBS_X11 =
diff --git a/mkspecs/qws/solaris-generic-g++/qmake.conf b/mkspecs/qws/solaris-generic-g++/qmake.conf
index f5874c2..3bf7e56 100644
--- a/mkspecs/qws/solaris-generic-g++/qmake.conf
+++ b/mkspecs/qws/solaris-generic-g++/qmake.conf
@@ -57,7 +57,7 @@ QMAKE_LFLAGS_SHLIB = -shared
QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -Wl,-soname,
QMAKE_LFLAGS_THREAD =
-QMAKE_RPATH = -Wl,-rpath,
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
QMAKE_LIBS = -lsocket -lnsl -lresolv
QMAKE_LIBS_DYNLOAD = -ldl
diff --git a/mkspecs/sco-g++/qmake.conf b/mkspecs/sco-g++/qmake.conf
index 746cf2c..d4091ff 100644
--- a/mkspecs/sco-g++/qmake.conf
+++ b/mkspecs/sco-g++/qmake.conf
@@ -55,7 +55,7 @@ QMAKE_LFLAGS_DEBUG =
QMAKE_LFLAGS_SHLIB = -G
QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -h$$LITERAL_WHITESPACE
-QMAKE_RPATH =
+QMAKE_LFLAGS_RPATH =
QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD = -ldl
diff --git a/mkspecs/solaris-cc-64/qmake.conf b/mkspecs/solaris-cc-64/qmake.conf
index 3d35d62..a026756 100644
--- a/mkspecs/solaris-cc-64/qmake.conf
+++ b/mkspecs/solaris-cc-64/qmake.conf
@@ -76,7 +76,7 @@ QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -h$$LITERAL_WHITESPACE
QMAKE_LFLAGS_THREAD = -mt
QMAKE_LFLAGS_NOUNDEF = -z defs
-QMAKE_RPATH = -R
+QMAKE_LFLAGS_RPATH = -R
QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD = -ldl
diff --git a/mkspecs/solaris-cc/qmake.conf b/mkspecs/solaris-cc/qmake.conf
index 0c97620..8a8f1ac 100644
--- a/mkspecs/solaris-cc/qmake.conf
+++ b/mkspecs/solaris-cc/qmake.conf
@@ -59,7 +59,7 @@ QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -h$$LITERAL_WHITESPACE
QMAKE_LFLAGS_THREAD = -mt
QMAKE_LFLAGS_NOUNDEF = -z defs
-QMAKE_RPATH = -R
+QMAKE_LFLAGS_RPATH = -R
QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD = -ldl
diff --git a/mkspecs/solaris-g++-64/qmake.conf b/mkspecs/solaris-g++-64/qmake.conf
index 587c630..01e331c 100644
--- a/mkspecs/solaris-g++-64/qmake.conf
+++ b/mkspecs/solaris-g++-64/qmake.conf
@@ -80,7 +80,7 @@ QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -h$$LITERAL_WHITESPACE
QMAKE_LFLAGS_THREAD =
QMAKE_LFLAGS_NOUNDEF = -z defs
-QMAKE_RPATH = -Wl,-R,
+QMAKE_LFLAGS_RPATH = -Wl,-R,
QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD = -ldl
diff --git a/mkspecs/solaris-g++/qmake.conf b/mkspecs/solaris-g++/qmake.conf
index 0814980..c7f6406 100644
--- a/mkspecs/solaris-g++/qmake.conf
+++ b/mkspecs/solaris-g++/qmake.conf
@@ -63,7 +63,7 @@ QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -h$$LITERAL_WHITESPACE
QMAKE_LFLAGS_THREAD =
QMAKE_LFLAGS_NOUNDEF = -z defs
-QMAKE_RPATH = -Wl,-R,
+QMAKE_LFLAGS_RPATH = -Wl,-R,
QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD = -ldl
diff --git a/mkspecs/symbian/linux-gcce/qmake.conf b/mkspecs/symbian/linux-gcce/qmake.conf
index c75e46e..57bb56a 100644
--- a/mkspecs/symbian/linux-gcce/qmake.conf
+++ b/mkspecs/symbian/linux-gcce/qmake.conf
@@ -47,7 +47,7 @@ QMAKE_CXXFLAGS_STATIC_LIB -= -fPIC
QMAKE_LFLAGS_SONAME =
#QMAKE_LFLAGS_THREAD +=
#QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined
-QMAKE_RPATH = --rpath=
+QMAKE_LFLAGS_RPATH = --rpath=
DEFINES += __GCCE__ \
UNICODE \
diff --git a/mkspecs/tru64-cxx/qmake.conf b/mkspecs/tru64-cxx/qmake.conf
index 88021df..d2c6937 100644
--- a/mkspecs/tru64-cxx/qmake.conf
+++ b/mkspecs/tru64-cxx/qmake.conf
@@ -54,7 +54,7 @@ QMAKE_LFLAGS_SHLIB = -shared
QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_THREAD = -pthread
QMAKE_LFLAGS_SONAME = -soname$$LITERAL_WHITESPACE
-QMAKE_RPATH = -rpath$$LITERAL_WHITESPACE
+QMAKE_LFLAGS_RPATH = -rpath$$LITERAL_WHITESPACE
QMAKE_LIBS = -lm
QMAKE_LIBS_DYNLOAD =
diff --git a/mkspecs/tru64-g++/qmake.conf b/mkspecs/tru64-g++/qmake.conf
index 71e5682..f2b8e39 100644
--- a/mkspecs/tru64-g++/qmake.conf
+++ b/mkspecs/tru64-g++/qmake.conf
@@ -56,7 +56,7 @@ QMAKE_LFLAGS_SHLIB = -shared
QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_THREAD =
QMAKE_LFLAGS_SONAME = -Wl,-soname,
-QMAKE_RPATH = -Wl,-rpath,
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD =
diff --git a/mkspecs/unixware-cc/qmake.conf b/mkspecs/unixware-cc/qmake.conf
index 5fb2b2c..5f88b80 100644
--- a/mkspecs/unixware-cc/qmake.conf
+++ b/mkspecs/unixware-cc/qmake.conf
@@ -57,7 +57,7 @@ QMAKE_LFLAGS_SHLIB = -G
QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -h$$LITERAL_WHITESPACE
QMAKE_LFLAGS_THREAD = -Kthread
-QMAKE_RPATH = -R
+QMAKE_LFLAGS_RPATH = -R
QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD = -ldl
diff --git a/mkspecs/unixware-g++/qmake.conf b/mkspecs/unixware-g++/qmake.conf
index b6a438a..34d6d61 100644
--- a/mkspecs/unixware-g++/qmake.conf
+++ b/mkspecs/unixware-g++/qmake.conf
@@ -58,7 +58,7 @@ QMAKE_LFLAGS_SHLIB = -shared
QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME =
QMAKE_LFLAGS_THREAD =
-QMAKE_RPATH = -Wl,-R,
+QMAKE_LFLAGS_RPATH = -Wl,-R,
QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD = -ldl
diff --git a/mkspecs/unsupported/linux-host-g++/qmake.conf b/mkspecs/unsupported/linux-host-g++/qmake.conf
index 7b17789..38849f8 100644
--- a/mkspecs/unsupported/linux-host-g++/qmake.conf
+++ b/mkspecs/unsupported/linux-host-g++/qmake.conf
@@ -63,7 +63,7 @@ QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME += -Wl,-soname,
QMAKE_LFLAGS_THREAD +=
QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined
-QMAKE_RPATH = -Wl,-rpath,
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
QMAKE_PCH_OUTPUT_EXT = .gch
diff --git a/mkspecs/unsupported/qws/qnx-641/qmake.conf b/mkspecs/unsupported/qws/qnx-641/qmake.conf
index 12eaf1d..441f408 100644
--- a/mkspecs/unsupported/qws/qnx-641/qmake.conf
+++ b/mkspecs/unsupported/qws/qnx-641/qmake.conf
@@ -51,7 +51,7 @@ QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -Wl,-soname,
QMAKE_LFLAGS_THREAD =
QMAKE_LN_SHLIB = -cp
-QMAKE_RPATH = -Wl,-rpath,
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
QMAKE_PCH_OUTPUT_EXT = .gch
diff --git a/mkspecs/unsupported/qws/qnx-generic-g++/qmake.conf b/mkspecs/unsupported/qws/qnx-generic-g++/qmake.conf
index 62857bf..26de9b7 100644
--- a/mkspecs/unsupported/qws/qnx-generic-g++/qmake.conf
+++ b/mkspecs/unsupported/qws/qnx-generic-g++/qmake.conf
@@ -53,7 +53,7 @@ QMAKE_LFLAGS_SHLIB += -shared
QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME += -Wl,-soname,
QMAKE_LFLAGS_THREAD +=
-QMAKE_RPATH = -Wl,-rpath,
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
QMAKE_PCH_OUTPUT_EXT = .gch
diff --git a/mkspecs/unsupported/qws/qnx-i386-g++/qmake.conf b/mkspecs/unsupported/qws/qnx-i386-g++/qmake.conf
index dce60ea..b43c391 100644
--- a/mkspecs/unsupported/qws/qnx-i386-g++/qmake.conf
+++ b/mkspecs/unsupported/qws/qnx-i386-g++/qmake.conf
@@ -49,7 +49,7 @@ QMAKE_LFLAGS_SHLIB += -shared
QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME += -Wl,-soname,
QMAKE_LFLAGS_THREAD +=
-QMAKE_RPATH = -Wl,-rpath,
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
QMAKE_PCH_OUTPUT_EXT = .gch
diff --git a/mkspecs/unsupported/qws/qnx-ppc-g++/qmake.conf b/mkspecs/unsupported/qws/qnx-ppc-g++/qmake.conf
index 93d04ff..29a2952 100644
--- a/mkspecs/unsupported/qws/qnx-ppc-g++/qmake.conf
+++ b/mkspecs/unsupported/qws/qnx-ppc-g++/qmake.conf
@@ -49,7 +49,7 @@ QMAKE_LFLAGS_SHLIB += -shared
QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME += -Wl,-soname,
QMAKE_LFLAGS_THREAD +=
-QMAKE_RPATH = -Wl,-rpath,
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
QMAKE_PCH_OUTPUT_EXT = .gch
diff --git a/mkspecs/unsupported/vxworks-ppc-dcc/qmake.conf b/mkspecs/unsupported/vxworks-ppc-dcc/qmake.conf
index fc0b125..e3eb6cd 100644
--- a/mkspecs/unsupported/vxworks-ppc-dcc/qmake.conf
+++ b/mkspecs/unsupported/vxworks-ppc-dcc/qmake.conf
@@ -53,7 +53,7 @@ QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME +=
QMAKE_LFLAGS_THREAD +=
QMAKE_LFLAGS_NOUNDEF +=
-QMAKE_RPATH =
+QMAKE_LFLAGS_RPATH =
QMAKE_PCH_OUTPUT_EXT = .gch
diff --git a/mkspecs/unsupported/vxworks-simpentium-dcc/qmake.conf b/mkspecs/unsupported/vxworks-simpentium-dcc/qmake.conf
index be35172..d0aeff6 100644
--- a/mkspecs/unsupported/vxworks-simpentium-dcc/qmake.conf
+++ b/mkspecs/unsupported/vxworks-simpentium-dcc/qmake.conf
@@ -53,7 +53,7 @@ QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME +=
QMAKE_LFLAGS_THREAD +=
QMAKE_LFLAGS_NOUNDEF +=
-QMAKE_RPATH =
+QMAKE_LFLAGS_RPATH =
QMAKE_PCH_OUTPUT_EXT = .gch
diff --git a/qmake/generators/unix/unixmake2.cpp b/qmake/generators/unix/unixmake2.cpp
index 3e731a1..d16cd6b 100644
--- a/qmake/generators/unix/unixmake2.cpp
+++ b/qmake/generators/unix/unixmake2.cpp
@@ -148,7 +148,7 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t)
if(!project->isActiveConfig("staticlib")) {
t << "LINK = " << var("QMAKE_LINK") << endl;
t << "LFLAGS = " << var("QMAKE_LFLAGS") << endl;
- t << "LIBS = " << "$(SUBLIBS) " << var("QMAKE_FRAMEWORKDIR_FLAGS") << " "
+ t << "LIBS = " << "$(SUBLIBS) " << var("QMAKE_FRAMEWORKPATH_FLAGS") << " "
<< var("QMAKE_LIBDIR_FLAGS") << " " << var("QMAKE_LIBS") << " " << var("QMAKE_LIBS_PRIVATE") << endl;
}
diff --git a/qmake/option.cpp b/qmake/option.cpp
index 49030c3..13e855c 100644
--- a/qmake/option.cpp
+++ b/qmake/option.cpp
@@ -84,7 +84,7 @@ Option::QMAKE_MODE Option::qmake_mode = Option::QMAKE_GENERATE_NOTHING;
//all modes
QString Option::qmake_abslocation;
-int Option::warn_level = WarnLogic;
+int Option::warn_level = WarnLogic | WarnDeprecated;
int Option::debug_level = 0;
QFile Option::output;
QString Option::output_dir;
@@ -170,10 +170,12 @@ bool usage(const char *a0)
" file in your current working directory\n"
"\n"
"Warnings Options:\n"
- " -Wnone Turn off all warnings\n"
+ " -Wnone Turn off all warnings; specific ones may be re-enabled by\n"
+ " later -W options\n"
" -Wall Turn on all warnings\n"
" -Wparser Turn on parser warnings\n"
- " -Wlogic Turn on logic warnings\n"
+ " -Wlogic Turn on logic warnings (on by default)\n"
+ " -Wdeprecated Turn on deprecation warnings (on by default)\n"
"\n"
"Options:\n"
" * You can place any variable assignment in options and it will be *\n"
@@ -278,6 +280,8 @@ Option::parseCommandLine(int argc, char **argv, int skip)
Option::warn_level |= WarnParser;
} else if(opt == "Wlogic") {
Option::warn_level |= WarnLogic;
+ } else if(opt == "Wdeprecated") {
+ Option::warn_level |= WarnDeprecated;
} else if(opt == "Wnone") {
Option::warn_level = WarnNone;
} else if(opt == "r" || opt == "recursive") {
diff --git a/qmake/option.h b/qmake/option.h
index 9bfdaed..b09ead2 100644
--- a/qmake/option.h
+++ b/qmake/option.h
@@ -63,6 +63,7 @@ enum QMakeWarn {
WarnNone = 0x00,
WarnParser = 0x01,
WarnLogic = 0x02,
+ WarnDeprecated = 0x04,
WarnAll = 0xFF
};
void warn_msg(QMakeWarn t, const char *fmt, ...);
diff --git a/qmake/project.cpp b/qmake/project.cpp
index 3c56272..998d173 100644
--- a/qmake/project.cpp
+++ b/qmake/project.cpp
@@ -220,6 +220,11 @@ static QString varMap(const QString &x)
ret = "QMAKE_FRAMEWORKPATH";
else if(ret == "QMAKE_FRAMEWORKDIR_FLAGS")
ret = "QMAKE_FRAMEWORKPATH_FLAGS";
+ else
+ return ret;
+ warn_msg(WarnDeprecated, "%s:%d: Variable %s is deprecated; use %s instead.",
+ parser.file.toLatin1().constData(), parser.line_no,
+ x.toLatin1().constData(), ret.toLatin1().constData());
return ret;
}
@@ -278,7 +283,7 @@ static QStringList split_arg_list(QString params)
return args;
}
-static QStringList split_value_list(const QString &vals, bool do_semicolon=false)
+static QStringList split_value_list(const QString &vals)
{
QString build;
QStringList ret;
@@ -289,7 +294,6 @@ static QStringList split_value_list(const QString &vals, bool do_semicolon=false
const ushort SINGLEQUOTE = '\'';
const ushort DOUBLEQUOTE = '"';
const ushort BACKSLASH = '\\';
- const ushort SEMICOLON = ';';
ushort unicode;
const QChar *vals_data = vals.data();
@@ -309,8 +313,7 @@ static QStringList split_value_list(const QString &vals, bool do_semicolon=false
++parens;
}
- if(!parens && quote.isEmpty() && ((do_semicolon && unicode == SEMICOLON) ||
- vals_data[x] == Option::field_sep)) {
+ if(!parens && quote.isEmpty() && (vals_data[x] == Option::field_sep)) {
ret << build;
build.clear();
} else {
@@ -558,7 +561,7 @@ QStringList qmake_feature_paths(QMakeProperty *prop=0)
QString path;
int last_slash = Option::mkfile::cachefile.lastIndexOf(QDir::separator());
if(last_slash != -1)
- path = Option::fixPathToLocalOS(Option::mkfile::cachefile.left(last_slash));
+ path = Option::fixPathToLocalOS(Option::mkfile::cachefile.left(last_slash), false);
for(QStringList::Iterator concat_it = concat.begin();
concat_it != concat.end(); ++concat_it)
feature_roots << (path + (*concat_it));
@@ -614,38 +617,6 @@ QStringList qmake_mkspec_paths()
return ret;
}
-class QMakeProjectEnv
-{
- QStringList envs;
-public:
- QMakeProjectEnv() { }
- QMakeProjectEnv(QMakeProject *p) { execute(p->variables()); }
- QMakeProjectEnv(const QMap<QString, QStringList> &values) { execute(values); }
-
- void execute(QMakeProject *p) { execute(p->variables()); }
- void execute(const QMap<QString, QStringList> &values) {
-#ifdef Q_OS_UNIX
- for(QMap<QString, QStringList>::ConstIterator it = values.begin(); it != values.end(); ++it) {
- const QString var = it.key(), val = it.value().join(" ");
- if(!var.startsWith(".")) {
- const QString env_var = Option::sysenv_mod + var;
- if(!putenv(strdup(QString(env_var + "=" + val).toAscii().data())))
- envs.append(env_var);
- }
- }
-#else
- Q_UNUSED(values);
-#endif
- }
- ~QMakeProjectEnv() {
-#ifdef Q_OS_UNIX
- for(QStringList::ConstIterator it = envs.begin();it != envs.end(); ++it) {
- putenv(strdup(QString(*it + "=").toAscii().data()));
- }
-#endif
- }
-};
-
QMakeProject::~QMakeProject()
{
if(own_prop)
@@ -1155,7 +1126,7 @@ QMakeProject::parse(const QString &t, QMap<QString, QStringList> &place, int num
QStringList vallist;
{
//doVariableReplace(vals, place);
- QStringList tmp = split_value_list(vals, (var == "DEPENDPATH" || var == "INCLUDEPATH"));
+ QStringList tmp = split_value_list(vals);
for(int i = 0; i < tmp.size(); ++i)
vallist += doVariableReplaceExpand(tmp[i], place);
}
@@ -1836,7 +1807,11 @@ QMakeProject::doProjectExpand(QString func, QList<QStringList> args_list,
for(int i = 0; i < args_list.size(); ++i)
args += args_list[i].join(QString(Option::field_sep));
- ExpandFunc func_t = qmake_expandFunctions().value(func.toLower());
+ QString lfunc = func.toLower();
+ if (!lfunc.isSharedWith(func))
+ warn_msg(WarnDeprecated, "%s:%d: Using uppercased builtin functions is deprecated.",
+ parser.file.toLatin1().constData(), parser.line_no);
+ ExpandFunc func_t = qmake_expandFunctions().value(lfunc);
debug_msg(1, "Running project expand: %s(%s) [%d]",
func.toLatin1().constData(), args.join("::").toLatin1().constData(), func_t);
@@ -2090,7 +2065,6 @@ QMakeProject::doProjectExpand(QString func, QList<QStringList> args_list,
fprintf(stderr, "%s:%d system(execut) requires one argument.\n",
parser.file.toLatin1().constData(), parser.line_no);
} else {
- QMakeProjectEnv env(place);
char buff[256];
bool singleLine = true;
if(args.count() > 1)
@@ -2250,8 +2224,7 @@ QMakeProject::doProjectExpand(QString func, QList<QStringList> args_list,
fprintf(stderr, "%s:%d: size(var) requires one argument.\n",
parser.file.toLatin1().constData(), parser.line_no);
} else {
- //QString target = args[0];
- int size = values(args[0]).size();
+ int size = values(args[0], place).size();
ret += QString::number(size);
}
break; }
@@ -2377,12 +2350,9 @@ QMakeProject::doProjectTest(QString func, QList<QStringList> args_list, QMap<QSt
if(d_off == d_len-1)
test += *(d+d_off);
if(!test.isEmpty()) {
- const bool success = doProjectTest(test, place);
- test = "";
- if(or_op)
- ret = ret || success;
- else
- ret = ret && success;
+ if (or_op != ret)
+ ret = doProjectTest(test, place);
+ test.clear();
}
if(*(d+d_off) == QLatin1Char(':')) {
or_op = false;
@@ -2485,8 +2455,7 @@ QMakeProject::doProjectTest(QString func, QList<QStringList> args_list, QMap<QSt
}
}
return false; }
- case T_SYSTEM: {
- bool setup_env = true;
+ case T_SYSTEM:
if(args.count() < 1 || args.count() > 2) {
fprintf(stderr, "%s:%d: system(exec) requires one argument.\n", parser.file.toLatin1().constData(),
parser.line_no);
@@ -2494,13 +2463,11 @@ QMakeProject::doProjectTest(QString func, QList<QStringList> args_list, QMap<QSt
}
if(args.count() == 2) {
const QString sarg = args[1];
- setup_env = (sarg.toLower() == "true" || sarg.toInt());
+ if (sarg.toLower() == "true" || sarg.toInt())
+ warn_msg(WarnParser, "%s:%d: system()'s second argument is now hard-wired to false.\n",
+ parser.file.toLatin1().constData(), parser.line_no);
}
- QMakeProjectEnv env;
- if(setup_env)
- env.execute(place);
- bool ret = system(args[0].toLatin1().constData()) == 0;
- return ret; }
+ return system(args[0].toLatin1().constData()) == 0;
case T_RETURN:
if(function_blocks.isEmpty()) {
fprintf(stderr, "%s:%d unexpected return()\n",
@@ -3162,4 +3129,10 @@ QStringList &QMakeProject::values(const QString &_var, QMap<QString, QStringList
return place[var];
}
+bool QMakeProject::isEmpty(const QString &v)
+{
+ QMap<QString, QStringList>::ConstIterator it = vars.constFind(varMap(v));
+ return it == vars.constEnd() || it->isEmpty();
+}
+
QT_END_NAMESPACE
diff --git a/qmake/project.h b/qmake/project.h
index bfebed0..0c542db 100644
--- a/qmake/project.h
+++ b/qmake/project.h
@@ -150,11 +150,11 @@ public:
bool isActiveConfig(const QString &x, bool regex=false,
QMap<QString, QStringList> *place=NULL);
- bool isSet(const QString &v);
- bool isEmpty(const QString &v);
- QStringList &values(const QString &v);
- QString first(const QString &v);
- QMap<QString, QStringList> &variables();
+ bool isSet(const QString &v); // No compat mapping, no magic variables
+ bool isEmpty(const QString &v); // With compat mapping, but no magic variables
+ QStringList &values(const QString &v); // With compat mapping and magic variables
+ QString first(const QString &v); // ditto
+ QMap<QString, QStringList> &variables(); // No compat mapping and magic, obviously
bool isRecursive() const { return recursive; }
@@ -179,9 +179,6 @@ inline QString QMakeProject::configFile()
inline QStringList &QMakeProject::values(const QString &v)
{ return values(v, vars); }
-inline bool QMakeProject::isEmpty(const QString &v)
-{ return !isSet(v) || values(v).isEmpty(); }
-
inline bool QMakeProject::isSet(const QString &v)
{ return vars.contains(v); }
diff --git a/qmake/qmake.pro b/qmake/qmake.pro
index 4213253..b602afa 100644
--- a/qmake/qmake.pro
+++ b/qmake/qmake.pro
@@ -19,7 +19,7 @@ VPATH += $$QT_SOURCE_TREE/src/corelib/global \
$$QT_SOURCE_TREE/src/corelib/plugin \
$$QT_SOURCE_TREE/src/corelib/xml \
$$QT_SOURCE_TREE/src/corelib/io
-INCPATH += . \
+INCLUDEPATH += . \
generators \
generators/unix \
generators/win32 \
@@ -30,7 +30,7 @@ INCPATH += . \
$$QT_SOURCE_TREE/qmake
VPATH += $$QT_SOURCE_TREE/tools/shared
-INCPATH += $$QT_SOURCE_TREE/tools/shared
+INCLUDEPATH += $$QT_SOURCE_TREE/tools/shared
include(qmake.pri)
diff --git a/src/3rdparty/phonon/mmf/audioplayer.cpp b/src/3rdparty/phonon/mmf/audioplayer.cpp
index 77a0964..f49e898 100644
--- a/src/3rdparty/phonon/mmf/audioplayer.cpp
+++ b/src/3rdparty/phonon/mmf/audioplayer.cpp
@@ -99,7 +99,7 @@ int MMF::AudioPlayer::setDeviceVolume(int mmfVolume)
* stack by doing a runtime check of the SDK version. */
#if !defined(__SERIES60_31__)
const int err = m_player->SetVolume(mmfVolume);
- if (QSysInfo::s60Version() >= QSysInfo::SV_S60_5_0)
+ if (QSysInfo::s60Version() >= QSysInfo::SV_S60_3_2)
return err;
else
return KErrNone;
diff --git a/src/3rdparty/webkit/.tag b/src/3rdparty/webkit/.tag
index 4813e1e..c750e67 100644
--- a/src/3rdparty/webkit/.tag
+++ b/src/3rdparty/webkit/.tag
@@ -1 +1 @@
-862268aeb7150d3795d05bfc05f661bb5c598a27
+8941bee5706ef2171ed5def63834deefc7440d11
diff --git a/src/3rdparty/webkit/JavaScriptCore/ChangeLog b/src/3rdparty/webkit/JavaScriptCore/ChangeLog
index 53fde39..eb22ea0 100644
--- a/src/3rdparty/webkit/JavaScriptCore/ChangeLog
+++ b/src/3rdparty/webkit/JavaScriptCore/ChangeLog
@@ -1,3 +1,190 @@
+2010-04-28 Simon Hausmann <simon.hausmann@nokia.com>, Kent Hansen <kent.hansen@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ JSC's currentThreadStackBase is not reentrant on some platforms
+ https://bugs.webkit.org/show_bug.cgi?id=37195
+
+ This function needs to be reentrant to avoid memory corruption on platforms where
+ the implementation uses global variables.
+
+ This patch adds a mutex lock where necessary and makes the Symbian implementation
+ reentrant.
+
+ * runtime/Collector.cpp:
+ (JSC::currentThreadStackBaseMutex):
+ (JSC::currentThreadStackBase):
+
+2010-04-21 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Compile fix for Visual Studio 2010
+ https://bugs.webkit.org/show_bug.cgi?id=37867
+
+ Patch by Prasanth Ullattil <prasanth.ullattil@nokia.com>
+
+ * runtime/Structure.cpp:
+ (JSC::Structure::transitionTableAdd):
+ * wtf/MathExtras.h:
+ * wtf/Platform.h:
+
+2010-04-27 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Rename COMPILER(MSVC7) to COMPILER(MSVC7_OR_LOWER)
+
+ * config.h:
+ (JSC::Structure::transitionTableAdd):
+ * wtf/Assertions.h:
+ * wtf/Atomics.h:
+ * wtf/CurrentTime.h:
+ (WTF::getLocalTime):
+ * wtf/Platform.h:
+ * wtf/StaticConstructors.h:
+ * wtf/StringExtras.h:
+ * wtf/Vector.h:
+ (WTF::::append):
+
+2010-04-15 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Fix Mac build break.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37867
+ - Make sure JavaScriptCore's debug_and_release config follows that
+ of WebCore.
+ - Use different name for JavaScriptCore target in debug and release
+ since they might be written in the same path at the same time on
+ parallel builds
+ - Consolidate the DESTDIR determination logic in JavaScriptCore.pri
+
+ * JavaScriptCore.pri:
+ * JavaScriptCore.pro:
+
+2010-04-21 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Make sure WebKit is not compiled using C++0x.
+ https://bugs.webkit.org/show_bug.cgi?id=37867
+
+ As the rest of Qt compiles in the C++0x mode, people might start
+ compiling it in this mode. WebKit don't support this yet.
+
+ Patch by Thiago Macieira <thiago.macieira@nokia.com>
+
+ * JavaScriptCore.pro:
+
+2010-04-22 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Remove dependency of JSC to QtGui
+ https://bugs.webkit.org/show_bug.cgi?id=37867
+
+ The patch also make sure that hal.h is in the include path on Symbian.
+ The dependency to QtGui took care of that before.
+
+ Patch by Thiago Macieira <thiago.macieira@nokia.com>
+ and Rohan McGovern <rohan.mcgovern@nokia.com>
+
+ * JavaScriptCore.pri:
+ * JavaScriptCore.pro:
+
+2010-04-22 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Corrects symbols visibility for JavaScriptCore.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37867
+
+ * JavaScriptCore.pro:
+
+2010-04-27 Thomas Zander <t.zander@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix the build on Symbian on Linux using the Makefile based mkspec
+
+ * JavaScriptCore.pri: It is necessary to specify the library search path
+ when linking against JavaScriptCore.
+
+2010-04-02 Ruben Van Boxem <vanboxem.ruben@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ Mingw-w64 fixes for JavaScriptCore
+ https://bugs.webkit.org/show_bug.cgi?id=35607
+
+ * runtime/Collector.cpp: use the msvc code for mingw-w64 (but not mingw-w32)
+ (JSC::Heap::allocateBlock):
+ (JSC::Heap::freeBlockPtr):
+ (JSC::currentThreadStackBase):
+ (JSC::currentThreadStackBase):
+ * wtf/Platform.h: added COMPILER(MINGW64) check to differentiate between mingw.org and mingw-w64 functions
+
+2010-04-14 Kent Hansen <kent.hansen@nokia.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Mac OS X: Use deployment target to determine whether memory tagging should be enabled
+ https://bugs.webkit.org/show_bug.cgi?id=34888
+
+ When building on (Snow) Leopard but targeting Tiger
+ (TARGETING_TIGER defined, BUILDING_ON_TIGER not defined),
+ WebKit would crash on Tiger because the tags passed to mmap
+ caused those function calls to fail.
+
+ Conversely, when building on Tiger but targeting Leopard
+ (BUILDING_ON_TIGER defined, TARGETING_LEOPARD defined), WebKit
+ would crash on Leopard because the tags passed to vm_map and
+ vm_allocate caused those function calls to fail.
+
+ Solution: Use TARGETING_TIGER rather than BUILDING_ON_TIGER to
+ govern the tag definitions. Use the same tags for vm_map and
+ vm_allocate regardless of target, since they work on
+ both. Fall back to the mmap tags that work on Tiger (that is,
+ "no tags") if targeting Tiger, since those tags also work on
+ Leopard.
+
+ * wtf/VMTags.h:
+
+2010-04-18 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] Fix JavaScriptCore's include path for WinCE builds
+
+ https://bugs.webkit.org/show_bug.cgi?id=36751
+
+ * JavaScriptCore.pri:
+
+2010-04-19 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Build fix for WinCE.
+
+ Moved the include of the non-existing errno.h header file inside
+ platform guard macros.
+
+ * jit/ExecutableAllocatorFixedVMPool.cpp:
+
+2010-04-12 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by nobody, build fix.
+
+ [Qt] Build fix for Mac when building with build-webkit --qt
+
+ Specifying no configuration on Mac builds WebCore both in debug
+ and release. JavaScriptCore has to follow this rule as well.
+
+ * JavaScriptCore.pro:
+
2010-04-09 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
Reviewed by Simon Hausmann.
diff --git a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri
index 8aa914f..b7f6665 100644
--- a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri
+++ b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri
@@ -1,12 +1,14 @@
# JavaScriptCore - Qt4 build info
VPATH += $$PWD
-# Output in JavaScriptCore/<config>
-CONFIG(debug, debug|release): JAVASCRIPTCORE_DESTDIR = debug
-CONFIG(release, debug|release): JAVASCRIPTCORE_DESTDIR = release
-# Use different targets to prevent parallel builds file clashes on Mac
-CONFIG(debug, debug|release): JAVASCRIPTCORE_TARGET = jscored
-CONFIG(release, debug|release): JAVASCRIPTCORE_TARGET = jscore
-
+CONFIG(debug, debug|release) {
+ # Output in JavaScriptCore/<config>
+ JAVASCRIPTCORE_DESTDIR = debug
+ # Use a config-specific target to prevent parallel builds file clashes on Mac
+ JAVASCRIPTCORE_TARGET = jscored
+} else {
+ JAVASCRIPTCORE_DESTDIR = release
+ JAVASCRIPTCORE_TARGET = jscore
+}
CONFIG(standalone_package) {
isEmpty(JSC_GENERATED_SOURCES_DIR):JSC_GENERATED_SOURCES_DIR = $$PWD/generated
} else {
@@ -74,10 +76,12 @@ defineTest(addJavaScriptCoreLib) {
pathToJavaScriptCoreOutput = $$ARGS/$$JAVASCRIPTCORE_DESTDIR
win32-msvc* {
- QMAKE_LIBDIR += $$pathToJavaScriptCoreOutput
+ LIBS += -L$$pathToJavaScriptCoreOutput
LIBS += -l$$JAVASCRIPTCORE_TARGET
} else:symbian {
LIBS += -l$${JAVASCRIPTCORE_TARGET}.lib
+ # The default symbian build system does not use library paths at all. However when building with
+ # qmake's symbian makespec that uses Makefiles
QMAKE_LIBDIR += $$pathToJavaScriptCoreOutput
} else {
# Make sure jscore will be early in the list of libraries to workaround a bug in MinGW
diff --git a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro
index 280742f..8e086b3 100644
--- a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro
+++ b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro
@@ -16,10 +16,6 @@ CONFIG += depend_includepath
contains(QT_CONFIG, embedded):CONFIG += embedded
-# Add these two lines both for QTDIR_build and not because we don't include qbase.pri
-contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
-unix:contains(QT_CONFIG, reduce_relocations):CONFIG += bsymbolic_functions
-
CONFIG(QTDIR_build) {
# Make sure we compile both debug and release on mac when inside Qt.
# This line was extracted from qbase.pri instead of including the whole file
@@ -30,8 +26,16 @@ CONFIG(QTDIR_build) {
} else { # Release
OBJECTS_DIR = obj/release
}
+ # Make sure that build_all follows the build_all config in WebCore
+ mac:contains(QT_CONFIG, qt_framework):!CONFIG(webkit_no_framework):!build_pass:CONFIG += build_all
}
+# WebCore adds these config only when in a standalone build.
+# qbase.pri takes care of that when in a QTDIR_build
+# Here we add the config for both cases since we don't include qbase.pri
+contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
+unix:contains(QT_CONFIG, reduce_relocations):CONFIG += bsymbolic_functions
+
CONFIG(QTDIR_build) {
# Remove the following 2 lines if you want debug information in JavaScriptCore
CONFIG -= separate_debug_info
@@ -223,5 +227,5 @@ SOURCES += \
SOURCES += wtf/TCSystemAlloc.cpp
}
-# JavaScriptCore is not going to build with C++0x any time soon
+# Disable C++0x mode in JSC for those who enabled it in their Qt's mkspec
*-g++*:QMAKE_CXXFLAGS -= -std=c++0x -std=gnu++0x
diff --git a/src/3rdparty/webkit/JavaScriptCore/config.h b/src/3rdparty/webkit/JavaScriptCore/config.h
index d5fdfe9..acc162a 100644
--- a/src/3rdparty/webkit/JavaScriptCore/config.h
+++ b/src/3rdparty/webkit/JavaScriptCore/config.h
@@ -44,7 +44,7 @@
#define max max
#define min min
-#if !COMPILER(MSVC7) && !OS(WINCE)
+#if !COMPILER(MSVC7_OR_LOWER) && !OS(WINCE)
// We need to define this before the first #include of stdlib.h or it won't contain rand_s.
#ifndef _CRT_RAND_S
#define _CRT_RAND_S
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/ArrayPrototype.lut.h b/src/3rdparty/webkit/JavaScriptCore/generated/ArrayPrototype.lut.h
index ffe067f..88d3717 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/ArrayPrototype.lut.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/ArrayPrototype.lut.h
@@ -1,4 +1,4 @@
-// Automatically generated from runtime\ArrayPrototype.cpp using C:/dev/webkit-2.0/JavaScriptCore/create_hash_table. DO NOT EDIT!
+// Automatically generated from runtime/ArrayPrototype.cpp using /JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/DatePrototype.lut.h b/src/3rdparty/webkit/JavaScriptCore/generated/DatePrototype.lut.h
index 56acdba..0174298 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/DatePrototype.lut.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/DatePrototype.lut.h
@@ -1,4 +1,4 @@
-// Automatically generated from runtime\DatePrototype.cpp using C:/dev/webkit-2.0/JavaScriptCore/create_hash_table. DO NOT EDIT!
+// Automatically generated from runtime/DatePrototype.cpp using /JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.cpp b/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.cpp
index 50ff9cd..e62a1c4 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.cpp
@@ -76,7 +76,7 @@
/* Copy the first part of user declarations. */
/* Line 189 of yacc.c */
-#line 3 "parser\\Grammar.y"
+#line 3 "parser/Grammar.y"
/*
@@ -221,7 +221,7 @@ static inline void appendToVarDeclarationList(JSGlobalData* globalData, ParserAr
/* Line 189 of yacc.c */
-#line 225 "C:/dev/webkit-2.0/JavaScriptCore/generated\\Grammar.tab.c"
+#line 225 "/JavaScriptCore/generated/Grammar.tab.c"
/* Enabling traces. */
#ifndef YYDEBUG
@@ -321,7 +321,7 @@ typedef union YYSTYPE
{
/* Line 214 of yacc.c */
-#line 146 "parser\\Grammar.y"
+#line 146 "parser/Grammar.y"
int intValue;
double doubleValue;
@@ -356,7 +356,7 @@ typedef union YYSTYPE
/* Line 214 of yacc.c */
-#line 360 "C:/dev/webkit-2.0/JavaScriptCore/generated\\Grammar.tab.c"
+#line 360 "/JavaScriptCore/generated/Grammar.tab.c"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -380,7 +380,7 @@ typedef struct YYLTYPE
/* Copy the second part of user declarations. */
/* Line 264 of yacc.c */
-#line 178 "parser\\Grammar.y"
+#line 178 "parser/Grammar.y"
template <typename T> inline void setStatementLocation(StatementNode* statement, const T& start, const T& end)
@@ -396,7 +396,7 @@ static inline void setExceptionLocation(ThrowableExpressionData* node, unsigned
/* Line 264 of yacc.c */
-#line 400 "C:/dev/webkit-2.0/JavaScriptCore/generated\\Grammar.tab.c"
+#line 400 "/JavaScriptCore/generated/Grammar.tab.c"
#ifdef short
# undef short
@@ -2974,42 +2974,42 @@ yyreduce:
case 2:
/* Line 1455 of yacc.c */
-#line 293 "parser\\Grammar.y"
+#line 293 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NullNode(GLOBAL_DATA), 0, 1); ;}
break;
case 3:
/* Line 1455 of yacc.c */
-#line 294 "parser\\Grammar.y"
+#line 294 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BooleanNode(GLOBAL_DATA, true), 0, 1); ;}
break;
case 4:
/* Line 1455 of yacc.c */
-#line 295 "parser\\Grammar.y"
+#line 295 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BooleanNode(GLOBAL_DATA, false), 0, 1); ;}
break;
case 5:
/* Line 1455 of yacc.c */
-#line 296 "parser\\Grammar.y"
+#line 296 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeNumberNode(GLOBAL_DATA, (yyvsp[(1) - (1)].doubleValue)), 0, 1); ;}
break;
case 6:
/* Line 1455 of yacc.c */
-#line 297 "parser\\Grammar.y"
+#line 297 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) StringNode(GLOBAL_DATA, *(yyvsp[(1) - (1)].ident)), 0, 1); ;}
break;
case 7:
/* Line 1455 of yacc.c */
-#line 298 "parser\\Grammar.y"
+#line 298 "parser/Grammar.y"
{
Lexer& l = *GLOBAL_DATA->lexer;
const Identifier* pattern;
@@ -3026,7 +3026,7 @@ yyreduce:
case 8:
/* Line 1455 of yacc.c */
-#line 309 "parser\\Grammar.y"
+#line 309 "parser/Grammar.y"
{
Lexer& l = *GLOBAL_DATA->lexer;
const Identifier* pattern;
@@ -3043,35 +3043,35 @@ yyreduce:
case 9:
/* Line 1455 of yacc.c */
-#line 323 "parser\\Grammar.y"
+#line 323 "parser/Grammar.y"
{ (yyval.propertyNode) = createNodeInfo<PropertyNode*>(new (GLOBAL_DATA) PropertyNode(GLOBAL_DATA, *(yyvsp[(1) - (3)].ident), (yyvsp[(3) - (3)].expressionNode).m_node, PropertyNode::Constant), (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 10:
/* Line 1455 of yacc.c */
-#line 324 "parser\\Grammar.y"
+#line 324 "parser/Grammar.y"
{ (yyval.propertyNode) = createNodeInfo<PropertyNode*>(new (GLOBAL_DATA) PropertyNode(GLOBAL_DATA, *(yyvsp[(1) - (3)].ident), (yyvsp[(3) - (3)].expressionNode).m_node, PropertyNode::Constant), (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 11:
/* Line 1455 of yacc.c */
-#line 325 "parser\\Grammar.y"
+#line 325 "parser/Grammar.y"
{ (yyval.propertyNode) = createNodeInfo<PropertyNode*>(new (GLOBAL_DATA) PropertyNode(GLOBAL_DATA, (yyvsp[(1) - (3)].doubleValue), (yyvsp[(3) - (3)].expressionNode).m_node, PropertyNode::Constant), (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 12:
/* Line 1455 of yacc.c */
-#line 326 "parser\\Grammar.y"
+#line 326 "parser/Grammar.y"
{ (yyval.propertyNode) = createNodeInfo<PropertyNode*>(makeGetterOrSetterPropertyNode(GLOBAL_DATA, *(yyvsp[(1) - (7)].ident), *(yyvsp[(2) - (7)].ident), 0, (yyvsp[(6) - (7)].functionBodyNode), GLOBAL_DATA->lexer->sourceCode((yyvsp[(5) - (7)].intValue), (yyvsp[(7) - (7)].intValue), (yylsp[(5) - (7)]).first_line)), ClosureFeature, 0); setStatementLocation((yyvsp[(6) - (7)].functionBodyNode), (yylsp[(5) - (7)]), (yylsp[(7) - (7)])); if (!(yyval.propertyNode).m_node) YYABORT; ;}
break;
case 13:
/* Line 1455 of yacc.c */
-#line 328 "parser\\Grammar.y"
+#line 328 "parser/Grammar.y"
{
(yyval.propertyNode) = createNodeInfo<PropertyNode*>(makeGetterOrSetterPropertyNode(GLOBAL_DATA, *(yyvsp[(1) - (8)].ident), *(yyvsp[(2) - (8)].ident), (yyvsp[(4) - (8)].parameterList).m_node.head, (yyvsp[(7) - (8)].functionBodyNode), GLOBAL_DATA->lexer->sourceCode((yyvsp[(6) - (8)].intValue), (yyvsp[(8) - (8)].intValue), (yylsp[(6) - (8)]).first_line)), (yyvsp[(4) - (8)].parameterList).m_features | ClosureFeature, 0);
if ((yyvsp[(4) - (8)].parameterList).m_features & ArgumentsFeature)
@@ -3085,7 +3085,7 @@ yyreduce:
case 14:
/* Line 1455 of yacc.c */
-#line 339 "parser\\Grammar.y"
+#line 339 "parser/Grammar.y"
{ (yyval.propertyList).m_node.head = new (GLOBAL_DATA) PropertyListNode(GLOBAL_DATA, (yyvsp[(1) - (1)].propertyNode).m_node);
(yyval.propertyList).m_node.tail = (yyval.propertyList).m_node.head;
(yyval.propertyList).m_features = (yyvsp[(1) - (1)].propertyNode).m_features;
@@ -3095,7 +3095,7 @@ yyreduce:
case 15:
/* Line 1455 of yacc.c */
-#line 343 "parser\\Grammar.y"
+#line 343 "parser/Grammar.y"
{ (yyval.propertyList).m_node.head = (yyvsp[(1) - (3)].propertyList).m_node.head;
(yyval.propertyList).m_node.tail = new (GLOBAL_DATA) PropertyListNode(GLOBAL_DATA, (yyvsp[(3) - (3)].propertyNode).m_node, (yyvsp[(1) - (3)].propertyList).m_node.tail);
(yyval.propertyList).m_features = (yyvsp[(1) - (3)].propertyList).m_features | (yyvsp[(3) - (3)].propertyNode).m_features;
@@ -3105,70 +3105,70 @@ yyreduce:
case 17:
/* Line 1455 of yacc.c */
-#line 351 "parser\\Grammar.y"
+#line 351 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ObjectLiteralNode(GLOBAL_DATA), 0, 0); ;}
break;
case 18:
/* Line 1455 of yacc.c */
-#line 352 "parser\\Grammar.y"
+#line 352 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ObjectLiteralNode(GLOBAL_DATA, (yyvsp[(2) - (3)].propertyList).m_node.head), (yyvsp[(2) - (3)].propertyList).m_features, (yyvsp[(2) - (3)].propertyList).m_numConstants); ;}
break;
case 19:
/* Line 1455 of yacc.c */
-#line 354 "parser\\Grammar.y"
+#line 354 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ObjectLiteralNode(GLOBAL_DATA, (yyvsp[(2) - (4)].propertyList).m_node.head), (yyvsp[(2) - (4)].propertyList).m_features, (yyvsp[(2) - (4)].propertyList).m_numConstants); ;}
break;
case 20:
/* Line 1455 of yacc.c */
-#line 358 "parser\\Grammar.y"
+#line 358 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ThisNode(GLOBAL_DATA), ThisFeature, 0); ;}
break;
case 23:
/* Line 1455 of yacc.c */
-#line 361 "parser\\Grammar.y"
+#line 361 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ResolveNode(GLOBAL_DATA, *(yyvsp[(1) - (1)].ident), (yylsp[(1) - (1)]).first_column), (*(yyvsp[(1) - (1)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0, 0); ;}
break;
case 24:
/* Line 1455 of yacc.c */
-#line 362 "parser\\Grammar.y"
+#line 362 "parser/Grammar.y"
{ (yyval.expressionNode) = (yyvsp[(2) - (3)].expressionNode); ;}
break;
case 25:
/* Line 1455 of yacc.c */
-#line 366 "parser\\Grammar.y"
+#line 366 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ArrayNode(GLOBAL_DATA, (yyvsp[(2) - (3)].intValue)), 0, (yyvsp[(2) - (3)].intValue) ? 1 : 0); ;}
break;
case 26:
/* Line 1455 of yacc.c */
-#line 367 "parser\\Grammar.y"
+#line 367 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ArrayNode(GLOBAL_DATA, (yyvsp[(2) - (3)].elementList).m_node.head), (yyvsp[(2) - (3)].elementList).m_features, (yyvsp[(2) - (3)].elementList).m_numConstants); ;}
break;
case 27:
/* Line 1455 of yacc.c */
-#line 368 "parser\\Grammar.y"
+#line 368 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ArrayNode(GLOBAL_DATA, (yyvsp[(4) - (5)].intValue), (yyvsp[(2) - (5)].elementList).m_node.head), (yyvsp[(2) - (5)].elementList).m_features, (yyvsp[(4) - (5)].intValue) ? (yyvsp[(2) - (5)].elementList).m_numConstants + 1 : (yyvsp[(2) - (5)].elementList).m_numConstants); ;}
break;
case 28:
/* Line 1455 of yacc.c */
-#line 372 "parser\\Grammar.y"
+#line 372 "parser/Grammar.y"
{ (yyval.elementList).m_node.head = new (GLOBAL_DATA) ElementNode(GLOBAL_DATA, (yyvsp[(1) - (2)].intValue), (yyvsp[(2) - (2)].expressionNode).m_node);
(yyval.elementList).m_node.tail = (yyval.elementList).m_node.head;
(yyval.elementList).m_features = (yyvsp[(2) - (2)].expressionNode).m_features;
@@ -3178,7 +3178,7 @@ yyreduce:
case 29:
/* Line 1455 of yacc.c */
-#line 377 "parser\\Grammar.y"
+#line 377 "parser/Grammar.y"
{ (yyval.elementList).m_node.head = (yyvsp[(1) - (4)].elementList).m_node.head;
(yyval.elementList).m_node.tail = new (GLOBAL_DATA) ElementNode(GLOBAL_DATA, (yyvsp[(1) - (4)].elementList).m_node.tail, (yyvsp[(3) - (4)].intValue), (yyvsp[(4) - (4)].expressionNode).m_node);
(yyval.elementList).m_features = (yyvsp[(1) - (4)].elementList).m_features | (yyvsp[(4) - (4)].expressionNode).m_features;
@@ -3188,35 +3188,35 @@ yyreduce:
case 30:
/* Line 1455 of yacc.c */
-#line 384 "parser\\Grammar.y"
+#line 384 "parser/Grammar.y"
{ (yyval.intValue) = 0; ;}
break;
case 32:
/* Line 1455 of yacc.c */
-#line 389 "parser\\Grammar.y"
+#line 389 "parser/Grammar.y"
{ (yyval.intValue) = 1; ;}
break;
case 33:
/* Line 1455 of yacc.c */
-#line 390 "parser\\Grammar.y"
+#line 390 "parser/Grammar.y"
{ (yyval.intValue) = (yyvsp[(1) - (2)].intValue) + 1; ;}
break;
case 35:
/* Line 1455 of yacc.c */
-#line 395 "parser\\Grammar.y"
+#line 395 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>((yyvsp[(1) - (1)].funcExprNode).m_node, (yyvsp[(1) - (1)].funcExprNode).m_features, (yyvsp[(1) - (1)].funcExprNode).m_numConstants); ;}
break;
case 36:
/* Line 1455 of yacc.c */
-#line 396 "parser\\Grammar.y"
+#line 396 "parser/Grammar.y"
{ BracketAccessorNode* node = new (GLOBAL_DATA) BracketAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (4)]).first_column, (yylsp[(1) - (4)]).last_column, (yylsp[(4) - (4)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (4)].expressionNode).m_features | (yyvsp[(3) - (4)].expressionNode).m_features, (yyvsp[(1) - (4)].expressionNode).m_numConstants + (yyvsp[(3) - (4)].expressionNode).m_numConstants);
@@ -3226,7 +3226,7 @@ yyreduce:
case 37:
/* Line 1455 of yacc.c */
-#line 400 "parser\\Grammar.y"
+#line 400 "parser/Grammar.y"
{ DotAccessorNode* node = new (GLOBAL_DATA) DotAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, *(yyvsp[(3) - (3)].ident));
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants);
@@ -3236,7 +3236,7 @@ yyreduce:
case 38:
/* Line 1455 of yacc.c */
-#line 404 "parser\\Grammar.y"
+#line 404 "parser/Grammar.y"
{ NewExprNode* node = new (GLOBAL_DATA) NewExprNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].argumentsNode).m_node);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(2) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].argumentsNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].argumentsNode).m_numConstants);
@@ -3246,7 +3246,7 @@ yyreduce:
case 40:
/* Line 1455 of yacc.c */
-#line 412 "parser\\Grammar.y"
+#line 412 "parser/Grammar.y"
{ BracketAccessorNode* node = new (GLOBAL_DATA) BracketAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (4)]).first_column, (yylsp[(1) - (4)]).last_column, (yylsp[(4) - (4)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (4)].expressionNode).m_features | (yyvsp[(3) - (4)].expressionNode).m_features, (yyvsp[(1) - (4)].expressionNode).m_numConstants + (yyvsp[(3) - (4)].expressionNode).m_numConstants);
@@ -3256,7 +3256,7 @@ yyreduce:
case 41:
/* Line 1455 of yacc.c */
-#line 416 "parser\\Grammar.y"
+#line 416 "parser/Grammar.y"
{ DotAccessorNode* node = new (GLOBAL_DATA) DotAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, *(yyvsp[(3) - (3)].ident));
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants);
@@ -3266,7 +3266,7 @@ yyreduce:
case 42:
/* Line 1455 of yacc.c */
-#line 420 "parser\\Grammar.y"
+#line 420 "parser/Grammar.y"
{ NewExprNode* node = new (GLOBAL_DATA) NewExprNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].argumentsNode).m_node);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(2) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].argumentsNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].argumentsNode).m_numConstants);
@@ -3276,7 +3276,7 @@ yyreduce:
case 44:
/* Line 1455 of yacc.c */
-#line 428 "parser\\Grammar.y"
+#line 428 "parser/Grammar.y"
{ NewExprNode* node = new (GLOBAL_DATA) NewExprNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node);
setExceptionLocation(node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).last_column, (yylsp[(2) - (2)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants);
@@ -3286,7 +3286,7 @@ yyreduce:
case 46:
/* Line 1455 of yacc.c */
-#line 436 "parser\\Grammar.y"
+#line 436 "parser/Grammar.y"
{ NewExprNode* node = new (GLOBAL_DATA) NewExprNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node);
setExceptionLocation(node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).last_column, (yylsp[(2) - (2)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants);
@@ -3296,21 +3296,21 @@ yyreduce:
case 47:
/* Line 1455 of yacc.c */
-#line 443 "parser\\Grammar.y"
+#line 443 "parser/Grammar.y"
{ (yyval.expressionNode) = makeFunctionCallNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode), (yyvsp[(2) - (2)].argumentsNode), (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column); ;}
break;
case 48:
/* Line 1455 of yacc.c */
-#line 444 "parser\\Grammar.y"
+#line 444 "parser/Grammar.y"
{ (yyval.expressionNode) = makeFunctionCallNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode), (yyvsp[(2) - (2)].argumentsNode), (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column); ;}
break;
case 49:
/* Line 1455 of yacc.c */
-#line 445 "parser\\Grammar.y"
+#line 445 "parser/Grammar.y"
{ BracketAccessorNode* node = new (GLOBAL_DATA) BracketAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (4)]).first_column, (yylsp[(1) - (4)]).last_column, (yylsp[(4) - (4)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (4)].expressionNode).m_features | (yyvsp[(3) - (4)].expressionNode).m_features, (yyvsp[(1) - (4)].expressionNode).m_numConstants + (yyvsp[(3) - (4)].expressionNode).m_numConstants);
@@ -3320,7 +3320,7 @@ yyreduce:
case 50:
/* Line 1455 of yacc.c */
-#line 449 "parser\\Grammar.y"
+#line 449 "parser/Grammar.y"
{ DotAccessorNode* node = new (GLOBAL_DATA) DotAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, *(yyvsp[(3) - (3)].ident));
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants); ;}
@@ -3329,21 +3329,21 @@ yyreduce:
case 51:
/* Line 1455 of yacc.c */
-#line 455 "parser\\Grammar.y"
+#line 455 "parser/Grammar.y"
{ (yyval.expressionNode) = makeFunctionCallNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode), (yyvsp[(2) - (2)].argumentsNode), (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column); ;}
break;
case 52:
/* Line 1455 of yacc.c */
-#line 456 "parser\\Grammar.y"
+#line 456 "parser/Grammar.y"
{ (yyval.expressionNode) = makeFunctionCallNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode), (yyvsp[(2) - (2)].argumentsNode), (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column); ;}
break;
case 53:
/* Line 1455 of yacc.c */
-#line 457 "parser\\Grammar.y"
+#line 457 "parser/Grammar.y"
{ BracketAccessorNode* node = new (GLOBAL_DATA) BracketAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (4)]).first_column, (yylsp[(1) - (4)]).last_column, (yylsp[(4) - (4)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (4)].expressionNode).m_features | (yyvsp[(3) - (4)].expressionNode).m_features, (yyvsp[(1) - (4)].expressionNode).m_numConstants + (yyvsp[(3) - (4)].expressionNode).m_numConstants);
@@ -3353,7 +3353,7 @@ yyreduce:
case 54:
/* Line 1455 of yacc.c */
-#line 461 "parser\\Grammar.y"
+#line 461 "parser/Grammar.y"
{ DotAccessorNode* node = new (GLOBAL_DATA) DotAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, *(yyvsp[(3) - (3)].ident));
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants);
@@ -3363,21 +3363,21 @@ yyreduce:
case 55:
/* Line 1455 of yacc.c */
-#line 468 "parser\\Grammar.y"
+#line 468 "parser/Grammar.y"
{ (yyval.argumentsNode) = createNodeInfo<ArgumentsNode*>(new (GLOBAL_DATA) ArgumentsNode(GLOBAL_DATA), 0, 0); ;}
break;
case 56:
/* Line 1455 of yacc.c */
-#line 469 "parser\\Grammar.y"
+#line 469 "parser/Grammar.y"
{ (yyval.argumentsNode) = createNodeInfo<ArgumentsNode*>(new (GLOBAL_DATA) ArgumentsNode(GLOBAL_DATA, (yyvsp[(2) - (3)].argumentList).m_node.head), (yyvsp[(2) - (3)].argumentList).m_features, (yyvsp[(2) - (3)].argumentList).m_numConstants); ;}
break;
case 57:
/* Line 1455 of yacc.c */
-#line 473 "parser\\Grammar.y"
+#line 473 "parser/Grammar.y"
{ (yyval.argumentList).m_node.head = new (GLOBAL_DATA) ArgumentListNode(GLOBAL_DATA, (yyvsp[(1) - (1)].expressionNode).m_node);
(yyval.argumentList).m_node.tail = (yyval.argumentList).m_node.head;
(yyval.argumentList).m_features = (yyvsp[(1) - (1)].expressionNode).m_features;
@@ -3387,7 +3387,7 @@ yyreduce:
case 58:
/* Line 1455 of yacc.c */
-#line 477 "parser\\Grammar.y"
+#line 477 "parser/Grammar.y"
{ (yyval.argumentList).m_node.head = (yyvsp[(1) - (3)].argumentList).m_node.head;
(yyval.argumentList).m_node.tail = new (GLOBAL_DATA) ArgumentListNode(GLOBAL_DATA, (yyvsp[(1) - (3)].argumentList).m_node.tail, (yyvsp[(3) - (3)].expressionNode).m_node);
(yyval.argumentList).m_features = (yyvsp[(1) - (3)].argumentList).m_features | (yyvsp[(3) - (3)].expressionNode).m_features;
@@ -3397,252 +3397,252 @@ yyreduce:
case 64:
/* Line 1455 of yacc.c */
-#line 495 "parser\\Grammar.y"
+#line 495 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePostfixNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node, OpPlusPlus, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(1) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (2)].expressionNode).m_numConstants); ;}
break;
case 65:
/* Line 1455 of yacc.c */
-#line 496 "parser\\Grammar.y"
+#line 496 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePostfixNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node, OpMinusMinus, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(1) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (2)].expressionNode).m_numConstants); ;}
break;
case 67:
/* Line 1455 of yacc.c */
-#line 501 "parser\\Grammar.y"
+#line 501 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePostfixNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node, OpPlusPlus, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(1) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (2)].expressionNode).m_numConstants); ;}
break;
case 68:
/* Line 1455 of yacc.c */
-#line 502 "parser\\Grammar.y"
+#line 502 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePostfixNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node, OpMinusMinus, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(1) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (2)].expressionNode).m_numConstants); ;}
break;
case 69:
/* Line 1455 of yacc.c */
-#line 506 "parser\\Grammar.y"
+#line 506 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeDeleteNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 70:
/* Line 1455 of yacc.c */
-#line 507 "parser\\Grammar.y"
+#line 507 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) VoidNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants + 1); ;}
break;
case 71:
/* Line 1455 of yacc.c */
-#line 508 "parser\\Grammar.y"
+#line 508 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeTypeOfNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 72:
/* Line 1455 of yacc.c */
-#line 509 "parser\\Grammar.y"
+#line 509 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePrefixNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, OpPlusPlus, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 73:
/* Line 1455 of yacc.c */
-#line 510 "parser\\Grammar.y"
+#line 510 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePrefixNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, OpPlusPlus, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 74:
/* Line 1455 of yacc.c */
-#line 511 "parser\\Grammar.y"
+#line 511 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePrefixNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, OpMinusMinus, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 75:
/* Line 1455 of yacc.c */
-#line 512 "parser\\Grammar.y"
+#line 512 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePrefixNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, OpMinusMinus, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 76:
/* Line 1455 of yacc.c */
-#line 513 "parser\\Grammar.y"
+#line 513 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) UnaryPlusNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 77:
/* Line 1455 of yacc.c */
-#line 514 "parser\\Grammar.y"
+#line 514 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeNegateNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 78:
/* Line 1455 of yacc.c */
-#line 515 "parser\\Grammar.y"
+#line 515 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeBitwiseNotNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 79:
/* Line 1455 of yacc.c */
-#line 516 "parser\\Grammar.y"
+#line 516 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalNotNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 85:
/* Line 1455 of yacc.c */
-#line 530 "parser\\Grammar.y"
+#line 530 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeMultNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 86:
/* Line 1455 of yacc.c */
-#line 531 "parser\\Grammar.y"
+#line 531 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeDivNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 87:
/* Line 1455 of yacc.c */
-#line 532 "parser\\Grammar.y"
+#line 532 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ModNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 89:
/* Line 1455 of yacc.c */
-#line 538 "parser\\Grammar.y"
+#line 538 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeMultNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 90:
/* Line 1455 of yacc.c */
-#line 540 "parser\\Grammar.y"
+#line 540 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeDivNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 91:
/* Line 1455 of yacc.c */
-#line 542 "parser\\Grammar.y"
+#line 542 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ModNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 93:
/* Line 1455 of yacc.c */
-#line 547 "parser\\Grammar.y"
+#line 547 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAddNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 94:
/* Line 1455 of yacc.c */
-#line 548 "parser\\Grammar.y"
+#line 548 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeSubNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 96:
/* Line 1455 of yacc.c */
-#line 554 "parser\\Grammar.y"
+#line 554 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAddNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 97:
/* Line 1455 of yacc.c */
-#line 556 "parser\\Grammar.y"
+#line 556 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeSubNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 99:
/* Line 1455 of yacc.c */
-#line 561 "parser\\Grammar.y"
+#line 561 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeLeftShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 100:
/* Line 1455 of yacc.c */
-#line 562 "parser\\Grammar.y"
+#line 562 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeRightShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 101:
/* Line 1455 of yacc.c */
-#line 563 "parser\\Grammar.y"
+#line 563 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) UnsignedRightShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 103:
/* Line 1455 of yacc.c */
-#line 568 "parser\\Grammar.y"
+#line 568 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeLeftShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 104:
/* Line 1455 of yacc.c */
-#line 569 "parser\\Grammar.y"
+#line 569 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeRightShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 105:
/* Line 1455 of yacc.c */
-#line 570 "parser\\Grammar.y"
+#line 570 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) UnsignedRightShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 107:
/* Line 1455 of yacc.c */
-#line 575 "parser\\Grammar.y"
+#line 575 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 108:
/* Line 1455 of yacc.c */
-#line 576 "parser\\Grammar.y"
+#line 576 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 109:
/* Line 1455 of yacc.c */
-#line 577 "parser\\Grammar.y"
+#line 577 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 110:
/* Line 1455 of yacc.c */
-#line 578 "parser\\Grammar.y"
+#line 578 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 111:
/* Line 1455 of yacc.c */
-#line 579 "parser\\Grammar.y"
+#line 579 "parser/Grammar.y"
{ InstanceOfNode* node = new (GLOBAL_DATA) InstanceOfNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
@@ -3651,7 +3651,7 @@ yyreduce:
case 112:
/* Line 1455 of yacc.c */
-#line 582 "parser\\Grammar.y"
+#line 582 "parser/Grammar.y"
{ InNode* node = new (GLOBAL_DATA) InNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
@@ -3660,35 +3660,35 @@ yyreduce:
case 114:
/* Line 1455 of yacc.c */
-#line 589 "parser\\Grammar.y"
+#line 589 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 115:
/* Line 1455 of yacc.c */
-#line 590 "parser\\Grammar.y"
+#line 590 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 116:
/* Line 1455 of yacc.c */
-#line 591 "parser\\Grammar.y"
+#line 591 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 117:
/* Line 1455 of yacc.c */
-#line 592 "parser\\Grammar.y"
+#line 592 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 118:
/* Line 1455 of yacc.c */
-#line 594 "parser\\Grammar.y"
+#line 594 "parser/Grammar.y"
{ InstanceOfNode* node = new (GLOBAL_DATA) InstanceOfNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
@@ -3697,35 +3697,35 @@ yyreduce:
case 120:
/* Line 1455 of yacc.c */
-#line 601 "parser\\Grammar.y"
+#line 601 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 121:
/* Line 1455 of yacc.c */
-#line 602 "parser\\Grammar.y"
+#line 602 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 122:
/* Line 1455 of yacc.c */
-#line 603 "parser\\Grammar.y"
+#line 603 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 123:
/* Line 1455 of yacc.c */
-#line 604 "parser\\Grammar.y"
+#line 604 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 124:
/* Line 1455 of yacc.c */
-#line 606 "parser\\Grammar.y"
+#line 606 "parser/Grammar.y"
{ InstanceOfNode* node = new (GLOBAL_DATA) InstanceOfNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
@@ -3734,7 +3734,7 @@ yyreduce:
case 125:
/* Line 1455 of yacc.c */
-#line 610 "parser\\Grammar.y"
+#line 610 "parser/Grammar.y"
{ InNode* node = new (GLOBAL_DATA) InNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
@@ -3743,217 +3743,217 @@ yyreduce:
case 127:
/* Line 1455 of yacc.c */
-#line 617 "parser\\Grammar.y"
+#line 617 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) EqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 128:
/* Line 1455 of yacc.c */
-#line 618 "parser\\Grammar.y"
+#line 618 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 129:
/* Line 1455 of yacc.c */
-#line 619 "parser\\Grammar.y"
+#line 619 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) StrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 130:
/* Line 1455 of yacc.c */
-#line 620 "parser\\Grammar.y"
+#line 620 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotStrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 132:
/* Line 1455 of yacc.c */
-#line 626 "parser\\Grammar.y"
+#line 626 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) EqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 133:
/* Line 1455 of yacc.c */
-#line 628 "parser\\Grammar.y"
+#line 628 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 134:
/* Line 1455 of yacc.c */
-#line 630 "parser\\Grammar.y"
+#line 630 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) StrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 135:
/* Line 1455 of yacc.c */
-#line 632 "parser\\Grammar.y"
+#line 632 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotStrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 137:
/* Line 1455 of yacc.c */
-#line 638 "parser\\Grammar.y"
+#line 638 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) EqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 138:
/* Line 1455 of yacc.c */
-#line 639 "parser\\Grammar.y"
+#line 639 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 139:
/* Line 1455 of yacc.c */
-#line 641 "parser\\Grammar.y"
+#line 641 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) StrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 140:
/* Line 1455 of yacc.c */
-#line 643 "parser\\Grammar.y"
+#line 643 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotStrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 142:
/* Line 1455 of yacc.c */
-#line 648 "parser\\Grammar.y"
+#line 648 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitAndNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 144:
/* Line 1455 of yacc.c */
-#line 654 "parser\\Grammar.y"
+#line 654 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitAndNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 146:
/* Line 1455 of yacc.c */
-#line 659 "parser\\Grammar.y"
+#line 659 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitAndNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 148:
/* Line 1455 of yacc.c */
-#line 664 "parser\\Grammar.y"
+#line 664 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitXOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 150:
/* Line 1455 of yacc.c */
-#line 670 "parser\\Grammar.y"
+#line 670 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitXOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 152:
/* Line 1455 of yacc.c */
-#line 676 "parser\\Grammar.y"
+#line 676 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitXOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 154:
/* Line 1455 of yacc.c */
-#line 681 "parser\\Grammar.y"
+#line 681 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 156:
/* Line 1455 of yacc.c */
-#line 687 "parser\\Grammar.y"
+#line 687 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 158:
/* Line 1455 of yacc.c */
-#line 693 "parser\\Grammar.y"
+#line 693 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 160:
/* Line 1455 of yacc.c */
-#line 698 "parser\\Grammar.y"
+#line 698 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalAnd), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 162:
/* Line 1455 of yacc.c */
-#line 704 "parser\\Grammar.y"
+#line 704 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalAnd), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 164:
/* Line 1455 of yacc.c */
-#line 710 "parser\\Grammar.y"
+#line 710 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalAnd), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 166:
/* Line 1455 of yacc.c */
-#line 715 "parser\\Grammar.y"
+#line 715 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalOr), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 168:
/* Line 1455 of yacc.c */
-#line 721 "parser\\Grammar.y"
+#line 721 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalOr), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 170:
/* Line 1455 of yacc.c */
-#line 726 "parser\\Grammar.y"
+#line 726 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalOr), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 172:
/* Line 1455 of yacc.c */
-#line 732 "parser\\Grammar.y"
+#line 732 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ConditionalNode(GLOBAL_DATA, (yyvsp[(1) - (5)].expressionNode).m_node, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].expressionNode).m_node), (yyvsp[(1) - (5)].expressionNode).m_features | (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].expressionNode).m_features, (yyvsp[(1) - (5)].expressionNode).m_numConstants + (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].expressionNode).m_numConstants); ;}
break;
case 174:
/* Line 1455 of yacc.c */
-#line 738 "parser\\Grammar.y"
+#line 738 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ConditionalNode(GLOBAL_DATA, (yyvsp[(1) - (5)].expressionNode).m_node, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].expressionNode).m_node), (yyvsp[(1) - (5)].expressionNode).m_features | (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].expressionNode).m_features, (yyvsp[(1) - (5)].expressionNode).m_numConstants + (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].expressionNode).m_numConstants); ;}
break;
case 176:
/* Line 1455 of yacc.c */
-#line 744 "parser\\Grammar.y"
+#line 744 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ConditionalNode(GLOBAL_DATA, (yyvsp[(1) - (5)].expressionNode).m_node, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].expressionNode).m_node), (yyvsp[(1) - (5)].expressionNode).m_features | (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].expressionNode).m_features, (yyvsp[(1) - (5)].expressionNode).m_numConstants + (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].expressionNode).m_numConstants); ;}
break;
case 178:
/* Line 1455 of yacc.c */
-#line 750 "parser\\Grammar.y"
+#line 750 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAssignNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(2) - (3)].op), (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(1) - (3)].expressionNode).m_features & AssignFeature, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature,
(yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).first_column + 1, (yylsp[(3) - (3)]).last_column), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants);
;}
@@ -3962,7 +3962,7 @@ yyreduce:
case 180:
/* Line 1455 of yacc.c */
-#line 758 "parser\\Grammar.y"
+#line 758 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAssignNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(2) - (3)].op), (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(1) - (3)].expressionNode).m_features & AssignFeature, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature,
(yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).first_column + 1, (yylsp[(3) - (3)]).last_column), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants);
;}
@@ -3971,7 +3971,7 @@ yyreduce:
case 182:
/* Line 1455 of yacc.c */
-#line 766 "parser\\Grammar.y"
+#line 766 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAssignNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(2) - (3)].op), (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(1) - (3)].expressionNode).m_features & AssignFeature, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature,
(yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).first_column + 1, (yylsp[(3) - (3)]).last_column), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants);
;}
@@ -3980,112 +3980,112 @@ yyreduce:
case 183:
/* Line 1455 of yacc.c */
-#line 772 "parser\\Grammar.y"
+#line 772 "parser/Grammar.y"
{ (yyval.op) = OpEqual; ;}
break;
case 184:
/* Line 1455 of yacc.c */
-#line 773 "parser\\Grammar.y"
+#line 773 "parser/Grammar.y"
{ (yyval.op) = OpPlusEq; ;}
break;
case 185:
/* Line 1455 of yacc.c */
-#line 774 "parser\\Grammar.y"
+#line 774 "parser/Grammar.y"
{ (yyval.op) = OpMinusEq; ;}
break;
case 186:
/* Line 1455 of yacc.c */
-#line 775 "parser\\Grammar.y"
+#line 775 "parser/Grammar.y"
{ (yyval.op) = OpMultEq; ;}
break;
case 187:
/* Line 1455 of yacc.c */
-#line 776 "parser\\Grammar.y"
+#line 776 "parser/Grammar.y"
{ (yyval.op) = OpDivEq; ;}
break;
case 188:
/* Line 1455 of yacc.c */
-#line 777 "parser\\Grammar.y"
+#line 777 "parser/Grammar.y"
{ (yyval.op) = OpLShift; ;}
break;
case 189:
/* Line 1455 of yacc.c */
-#line 778 "parser\\Grammar.y"
+#line 778 "parser/Grammar.y"
{ (yyval.op) = OpRShift; ;}
break;
case 190:
/* Line 1455 of yacc.c */
-#line 779 "parser\\Grammar.y"
+#line 779 "parser/Grammar.y"
{ (yyval.op) = OpURShift; ;}
break;
case 191:
/* Line 1455 of yacc.c */
-#line 780 "parser\\Grammar.y"
+#line 780 "parser/Grammar.y"
{ (yyval.op) = OpAndEq; ;}
break;
case 192:
/* Line 1455 of yacc.c */
-#line 781 "parser\\Grammar.y"
+#line 781 "parser/Grammar.y"
{ (yyval.op) = OpXOrEq; ;}
break;
case 193:
/* Line 1455 of yacc.c */
-#line 782 "parser\\Grammar.y"
+#line 782 "parser/Grammar.y"
{ (yyval.op) = OpOrEq; ;}
break;
case 194:
/* Line 1455 of yacc.c */
-#line 783 "parser\\Grammar.y"
+#line 783 "parser/Grammar.y"
{ (yyval.op) = OpModEq; ;}
break;
case 196:
/* Line 1455 of yacc.c */
-#line 788 "parser\\Grammar.y"
+#line 788 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 198:
/* Line 1455 of yacc.c */
-#line 793 "parser\\Grammar.y"
+#line 793 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 200:
/* Line 1455 of yacc.c */
-#line 798 "parser\\Grammar.y"
+#line 798 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 218:
/* Line 1455 of yacc.c */
-#line 822 "parser\\Grammar.y"
+#line 822 "parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) BlockNode(GLOBAL_DATA, 0), 0, 0, 0, 0);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
break;
@@ -4093,7 +4093,7 @@ yyreduce:
case 219:
/* Line 1455 of yacc.c */
-#line 824 "parser\\Grammar.y"
+#line 824 "parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) BlockNode(GLOBAL_DATA, (yyvsp[(2) - (3)].sourceElements).m_node), (yyvsp[(2) - (3)].sourceElements).m_varDeclarations, (yyvsp[(2) - (3)].sourceElements).m_funcDeclarations, (yyvsp[(2) - (3)].sourceElements).m_features, (yyvsp[(2) - (3)].sourceElements).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
break;
@@ -4101,7 +4101,7 @@ yyreduce:
case 220:
/* Line 1455 of yacc.c */
-#line 829 "parser\\Grammar.y"
+#line 829 "parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(makeVarStatementNode(GLOBAL_DATA, (yyvsp[(2) - (3)].varDeclList).m_node), (yyvsp[(2) - (3)].varDeclList).m_varDeclarations, (yyvsp[(2) - (3)].varDeclList).m_funcDeclarations, (yyvsp[(2) - (3)].varDeclList).m_features, (yyvsp[(2) - (3)].varDeclList).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
break;
@@ -4109,7 +4109,7 @@ yyreduce:
case 221:
/* Line 1455 of yacc.c */
-#line 831 "parser\\Grammar.y"
+#line 831 "parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(makeVarStatementNode(GLOBAL_DATA, (yyvsp[(2) - (3)].varDeclList).m_node), (yyvsp[(2) - (3)].varDeclList).m_varDeclarations, (yyvsp[(2) - (3)].varDeclList).m_funcDeclarations, (yyvsp[(2) - (3)].varDeclList).m_features, (yyvsp[(2) - (3)].varDeclList).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)]));
AUTO_SEMICOLON; ;}
@@ -4118,7 +4118,7 @@ yyreduce:
case 222:
/* Line 1455 of yacc.c */
-#line 837 "parser\\Grammar.y"
+#line 837 "parser/Grammar.y"
{ (yyval.varDeclList).m_node = 0;
(yyval.varDeclList).m_varDeclarations = new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::VarStack>;
appendToVarDeclarationList(GLOBAL_DATA, (yyval.varDeclList).m_varDeclarations, *(yyvsp[(1) - (1)].ident), 0);
@@ -4131,7 +4131,7 @@ yyreduce:
case 223:
/* Line 1455 of yacc.c */
-#line 844 "parser\\Grammar.y"
+#line 844 "parser/Grammar.y"
{ AssignResolveNode* node = new (GLOBAL_DATA) AssignResolveNode(GLOBAL_DATA, *(yyvsp[(1) - (2)].ident), (yyvsp[(2) - (2)].expressionNode).m_node, (yyvsp[(2) - (2)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column);
(yyval.varDeclList).m_node = node;
@@ -4146,7 +4146,7 @@ yyreduce:
case 224:
/* Line 1455 of yacc.c */
-#line 854 "parser\\Grammar.y"
+#line 854 "parser/Grammar.y"
{ (yyval.varDeclList).m_node = (yyvsp[(1) - (3)].varDeclList).m_node;
(yyval.varDeclList).m_varDeclarations = (yyvsp[(1) - (3)].varDeclList).m_varDeclarations;
appendToVarDeclarationList(GLOBAL_DATA, (yyval.varDeclList).m_varDeclarations, *(yyvsp[(3) - (3)].ident), 0);
@@ -4159,7 +4159,7 @@ yyreduce:
case 225:
/* Line 1455 of yacc.c */
-#line 862 "parser\\Grammar.y"
+#line 862 "parser/Grammar.y"
{ AssignResolveNode* node = new (GLOBAL_DATA) AssignResolveNode(GLOBAL_DATA, *(yyvsp[(3) - (4)].ident), (yyvsp[(4) - (4)].expressionNode).m_node, (yyvsp[(4) - (4)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(3) - (4)]).first_column, (yylsp[(4) - (4)]).first_column + 1, (yylsp[(4) - (4)]).last_column);
(yyval.varDeclList).m_node = combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (4)].varDeclList).m_node, node);
@@ -4174,7 +4174,7 @@ yyreduce:
case 226:
/* Line 1455 of yacc.c */
-#line 874 "parser\\Grammar.y"
+#line 874 "parser/Grammar.y"
{ (yyval.varDeclList).m_node = 0;
(yyval.varDeclList).m_varDeclarations = new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::VarStack>;
appendToVarDeclarationList(GLOBAL_DATA, (yyval.varDeclList).m_varDeclarations, *(yyvsp[(1) - (1)].ident), 0);
@@ -4187,7 +4187,7 @@ yyreduce:
case 227:
/* Line 1455 of yacc.c */
-#line 881 "parser\\Grammar.y"
+#line 881 "parser/Grammar.y"
{ AssignResolveNode* node = new (GLOBAL_DATA) AssignResolveNode(GLOBAL_DATA, *(yyvsp[(1) - (2)].ident), (yyvsp[(2) - (2)].expressionNode).m_node, (yyvsp[(2) - (2)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column);
(yyval.varDeclList).m_node = node;
@@ -4202,7 +4202,7 @@ yyreduce:
case 228:
/* Line 1455 of yacc.c */
-#line 891 "parser\\Grammar.y"
+#line 891 "parser/Grammar.y"
{ (yyval.varDeclList).m_node = (yyvsp[(1) - (3)].varDeclList).m_node;
(yyval.varDeclList).m_varDeclarations = (yyvsp[(1) - (3)].varDeclList).m_varDeclarations;
appendToVarDeclarationList(GLOBAL_DATA, (yyval.varDeclList).m_varDeclarations, *(yyvsp[(3) - (3)].ident), 0);
@@ -4215,7 +4215,7 @@ yyreduce:
case 229:
/* Line 1455 of yacc.c */
-#line 899 "parser\\Grammar.y"
+#line 899 "parser/Grammar.y"
{ AssignResolveNode* node = new (GLOBAL_DATA) AssignResolveNode(GLOBAL_DATA, *(yyvsp[(3) - (4)].ident), (yyvsp[(4) - (4)].expressionNode).m_node, (yyvsp[(4) - (4)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(3) - (4)]).first_column, (yylsp[(4) - (4)]).first_column + 1, (yylsp[(4) - (4)]).last_column);
(yyval.varDeclList).m_node = combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (4)].varDeclList).m_node, node);
@@ -4230,7 +4230,7 @@ yyreduce:
case 230:
/* Line 1455 of yacc.c */
-#line 911 "parser\\Grammar.y"
+#line 911 "parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ConstStatementNode(GLOBAL_DATA, (yyvsp[(2) - (3)].constDeclList).m_node.head), (yyvsp[(2) - (3)].constDeclList).m_varDeclarations, (yyvsp[(2) - (3)].constDeclList).m_funcDeclarations, (yyvsp[(2) - (3)].constDeclList).m_features, (yyvsp[(2) - (3)].constDeclList).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
break;
@@ -4238,7 +4238,7 @@ yyreduce:
case 231:
/* Line 1455 of yacc.c */
-#line 914 "parser\\Grammar.y"
+#line 914 "parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ConstStatementNode(GLOBAL_DATA, (yyvsp[(2) - (3)].constDeclList).m_node.head), (yyvsp[(2) - (3)].constDeclList).m_varDeclarations, (yyvsp[(2) - (3)].constDeclList).m_funcDeclarations, (yyvsp[(2) - (3)].constDeclList).m_features, (yyvsp[(2) - (3)].constDeclList).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)])); AUTO_SEMICOLON; ;}
break;
@@ -4246,7 +4246,7 @@ yyreduce:
case 232:
/* Line 1455 of yacc.c */
-#line 919 "parser\\Grammar.y"
+#line 919 "parser/Grammar.y"
{ (yyval.constDeclList).m_node.head = (yyvsp[(1) - (1)].constDeclNode).m_node;
(yyval.constDeclList).m_node.tail = (yyval.constDeclList).m_node.head;
(yyval.constDeclList).m_varDeclarations = new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::VarStack>;
@@ -4260,7 +4260,7 @@ yyreduce:
case 233:
/* Line 1455 of yacc.c */
-#line 928 "parser\\Grammar.y"
+#line 928 "parser/Grammar.y"
{ (yyval.constDeclList).m_node.head = (yyvsp[(1) - (3)].constDeclList).m_node.head;
(yyvsp[(1) - (3)].constDeclList).m_node.tail->m_next = (yyvsp[(3) - (3)].constDeclNode).m_node;
(yyval.constDeclList).m_node.tail = (yyvsp[(3) - (3)].constDeclNode).m_node;
@@ -4274,42 +4274,42 @@ yyreduce:
case 234:
/* Line 1455 of yacc.c */
-#line 939 "parser\\Grammar.y"
+#line 939 "parser/Grammar.y"
{ (yyval.constDeclNode) = createNodeInfo<ConstDeclNode*>(new (GLOBAL_DATA) ConstDeclNode(GLOBAL_DATA, *(yyvsp[(1) - (1)].ident), 0), (*(yyvsp[(1) - (1)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0, 0); ;}
break;
case 235:
/* Line 1455 of yacc.c */
-#line 940 "parser\\Grammar.y"
+#line 940 "parser/Grammar.y"
{ (yyval.constDeclNode) = createNodeInfo<ConstDeclNode*>(new (GLOBAL_DATA) ConstDeclNode(GLOBAL_DATA, *(yyvsp[(1) - (2)].ident), (yyvsp[(2) - (2)].expressionNode).m_node), ((*(yyvsp[(1) - (2)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0) | (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 236:
/* Line 1455 of yacc.c */
-#line 944 "parser\\Grammar.y"
+#line 944 "parser/Grammar.y"
{ (yyval.expressionNode) = (yyvsp[(2) - (2)].expressionNode); ;}
break;
case 237:
/* Line 1455 of yacc.c */
-#line 948 "parser\\Grammar.y"
+#line 948 "parser/Grammar.y"
{ (yyval.expressionNode) = (yyvsp[(2) - (2)].expressionNode); ;}
break;
case 238:
/* Line 1455 of yacc.c */
-#line 952 "parser\\Grammar.y"
+#line 952 "parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) EmptyStatementNode(GLOBAL_DATA), 0, 0, 0, 0); ;}
break;
case 239:
/* Line 1455 of yacc.c */
-#line 956 "parser\\Grammar.y"
+#line 956 "parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ExprStatementNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node), 0, 0, (yyvsp[(1) - (2)].expressionNode).m_features, (yyvsp[(1) - (2)].expressionNode).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
break;
@@ -4317,7 +4317,7 @@ yyreduce:
case 240:
/* Line 1455 of yacc.c */
-#line 958 "parser\\Grammar.y"
+#line 958 "parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ExprStatementNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node), 0, 0, (yyvsp[(1) - (2)].expressionNode).m_features, (yyvsp[(1) - (2)].expressionNode).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(1) - (2)])); AUTO_SEMICOLON; ;}
break;
@@ -4325,7 +4325,7 @@ yyreduce:
case 241:
/* Line 1455 of yacc.c */
-#line 964 "parser\\Grammar.y"
+#line 964 "parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) IfNode(GLOBAL_DATA, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].statementNode).m_node), (yyvsp[(5) - (5)].statementNode).m_varDeclarations, (yyvsp[(5) - (5)].statementNode).m_funcDeclarations, (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].statementNode).m_features, (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].statementNode).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (5)]), (yylsp[(4) - (5)])); ;}
break;
@@ -4333,7 +4333,7 @@ yyreduce:
case 242:
/* Line 1455 of yacc.c */
-#line 967 "parser\\Grammar.y"
+#line 967 "parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) IfElseNode(GLOBAL_DATA, (yyvsp[(3) - (7)].expressionNode).m_node, (yyvsp[(5) - (7)].statementNode).m_node, (yyvsp[(7) - (7)].statementNode).m_node),
mergeDeclarationLists((yyvsp[(5) - (7)].statementNode).m_varDeclarations, (yyvsp[(7) - (7)].statementNode).m_varDeclarations),
mergeDeclarationLists((yyvsp[(5) - (7)].statementNode).m_funcDeclarations, (yyvsp[(7) - (7)].statementNode).m_funcDeclarations),
@@ -4345,7 +4345,7 @@ yyreduce:
case 243:
/* Line 1455 of yacc.c */
-#line 976 "parser\\Grammar.y"
+#line 976 "parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) DoWhileNode(GLOBAL_DATA, (yyvsp[(2) - (7)].statementNode).m_node, (yyvsp[(5) - (7)].expressionNode).m_node), (yyvsp[(2) - (7)].statementNode).m_varDeclarations, (yyvsp[(2) - (7)].statementNode).m_funcDeclarations, (yyvsp[(2) - (7)].statementNode).m_features | (yyvsp[(5) - (7)].expressionNode).m_features, (yyvsp[(2) - (7)].statementNode).m_numConstants + (yyvsp[(5) - (7)].expressionNode).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (7)]), (yylsp[(3) - (7)])); ;}
break;
@@ -4353,7 +4353,7 @@ yyreduce:
case 244:
/* Line 1455 of yacc.c */
-#line 978 "parser\\Grammar.y"
+#line 978 "parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) DoWhileNode(GLOBAL_DATA, (yyvsp[(2) - (7)].statementNode).m_node, (yyvsp[(5) - (7)].expressionNode).m_node), (yyvsp[(2) - (7)].statementNode).m_varDeclarations, (yyvsp[(2) - (7)].statementNode).m_funcDeclarations, (yyvsp[(2) - (7)].statementNode).m_features | (yyvsp[(5) - (7)].expressionNode).m_features, (yyvsp[(2) - (7)].statementNode).m_numConstants + (yyvsp[(5) - (7)].expressionNode).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (7)]), (yylsp[(3) - (7)])); ;}
break;
@@ -4361,7 +4361,7 @@ yyreduce:
case 245:
/* Line 1455 of yacc.c */
-#line 980 "parser\\Grammar.y"
+#line 980 "parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) WhileNode(GLOBAL_DATA, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].statementNode).m_node), (yyvsp[(5) - (5)].statementNode).m_varDeclarations, (yyvsp[(5) - (5)].statementNode).m_funcDeclarations, (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].statementNode).m_features, (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].statementNode).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (5)]), (yylsp[(4) - (5)])); ;}
break;
@@ -4369,7 +4369,7 @@ yyreduce:
case 246:
/* Line 1455 of yacc.c */
-#line 983 "parser\\Grammar.y"
+#line 983 "parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ForNode(GLOBAL_DATA, (yyvsp[(3) - (9)].expressionNode).m_node, (yyvsp[(5) - (9)].expressionNode).m_node, (yyvsp[(7) - (9)].expressionNode).m_node, (yyvsp[(9) - (9)].statementNode).m_node, false), (yyvsp[(9) - (9)].statementNode).m_varDeclarations, (yyvsp[(9) - (9)].statementNode).m_funcDeclarations,
(yyvsp[(3) - (9)].expressionNode).m_features | (yyvsp[(5) - (9)].expressionNode).m_features | (yyvsp[(7) - (9)].expressionNode).m_features | (yyvsp[(9) - (9)].statementNode).m_features,
(yyvsp[(3) - (9)].expressionNode).m_numConstants + (yyvsp[(5) - (9)].expressionNode).m_numConstants + (yyvsp[(7) - (9)].expressionNode).m_numConstants + (yyvsp[(9) - (9)].statementNode).m_numConstants);
@@ -4380,7 +4380,7 @@ yyreduce:
case 247:
/* Line 1455 of yacc.c */
-#line 989 "parser\\Grammar.y"
+#line 989 "parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ForNode(GLOBAL_DATA, (yyvsp[(4) - (10)].varDeclList).m_node, (yyvsp[(6) - (10)].expressionNode).m_node, (yyvsp[(8) - (10)].expressionNode).m_node, (yyvsp[(10) - (10)].statementNode).m_node, true),
mergeDeclarationLists((yyvsp[(4) - (10)].varDeclList).m_varDeclarations, (yyvsp[(10) - (10)].statementNode).m_varDeclarations),
mergeDeclarationLists((yyvsp[(4) - (10)].varDeclList).m_funcDeclarations, (yyvsp[(10) - (10)].statementNode).m_funcDeclarations),
@@ -4392,7 +4392,7 @@ yyreduce:
case 248:
/* Line 1455 of yacc.c */
-#line 996 "parser\\Grammar.y"
+#line 996 "parser/Grammar.y"
{
ForInNode* node = new (GLOBAL_DATA) ForInNode(GLOBAL_DATA, (yyvsp[(3) - (7)].expressionNode).m_node, (yyvsp[(5) - (7)].expressionNode).m_node, (yyvsp[(7) - (7)].statementNode).m_node);
setExceptionLocation(node, (yylsp[(3) - (7)]).first_column, (yylsp[(3) - (7)]).last_column, (yylsp[(5) - (7)]).last_column);
@@ -4406,7 +4406,7 @@ yyreduce:
case 249:
/* Line 1455 of yacc.c */
-#line 1005 "parser\\Grammar.y"
+#line 1005 "parser/Grammar.y"
{ ForInNode *forIn = new (GLOBAL_DATA) ForInNode(GLOBAL_DATA, *(yyvsp[(4) - (8)].ident), 0, (yyvsp[(6) - (8)].expressionNode).m_node, (yyvsp[(8) - (8)].statementNode).m_node, (yylsp[(5) - (8)]).first_column, (yylsp[(5) - (8)]).first_column - (yylsp[(4) - (8)]).first_column, (yylsp[(6) - (8)]).last_column - (yylsp[(5) - (8)]).first_column);
setExceptionLocation(forIn, (yylsp[(4) - (8)]).first_column, (yylsp[(5) - (8)]).first_column + 1, (yylsp[(6) - (8)]).last_column);
appendToVarDeclarationList(GLOBAL_DATA, (yyvsp[(8) - (8)].statementNode).m_varDeclarations, *(yyvsp[(4) - (8)].ident), DeclarationStacks::HasInitializer);
@@ -4417,7 +4417,7 @@ yyreduce:
case 250:
/* Line 1455 of yacc.c */
-#line 1011 "parser\\Grammar.y"
+#line 1011 "parser/Grammar.y"
{ ForInNode *forIn = new (GLOBAL_DATA) ForInNode(GLOBAL_DATA, *(yyvsp[(4) - (9)].ident), (yyvsp[(5) - (9)].expressionNode).m_node, (yyvsp[(7) - (9)].expressionNode).m_node, (yyvsp[(9) - (9)].statementNode).m_node, (yylsp[(5) - (9)]).first_column, (yylsp[(5) - (9)]).first_column - (yylsp[(4) - (9)]).first_column, (yylsp[(5) - (9)]).last_column - (yylsp[(5) - (9)]).first_column);
setExceptionLocation(forIn, (yylsp[(4) - (9)]).first_column, (yylsp[(6) - (9)]).first_column + 1, (yylsp[(7) - (9)]).last_column);
appendToVarDeclarationList(GLOBAL_DATA, (yyvsp[(9) - (9)].statementNode).m_varDeclarations, *(yyvsp[(4) - (9)].ident), DeclarationStacks::HasInitializer);
@@ -4430,21 +4430,21 @@ yyreduce:
case 251:
/* Line 1455 of yacc.c */
-#line 1021 "parser\\Grammar.y"
+#line 1021 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(0, 0, 0); ;}
break;
case 253:
/* Line 1455 of yacc.c */
-#line 1026 "parser\\Grammar.y"
+#line 1026 "parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(0, 0, 0); ;}
break;
case 255:
/* Line 1455 of yacc.c */
-#line 1031 "parser\\Grammar.y"
+#line 1031 "parser/Grammar.y"
{ ContinueNode* node = new (GLOBAL_DATA) ContinueNode(GLOBAL_DATA);
setExceptionLocation(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0);
@@ -4454,7 +4454,7 @@ yyreduce:
case 256:
/* Line 1455 of yacc.c */
-#line 1035 "parser\\Grammar.y"
+#line 1035 "parser/Grammar.y"
{ ContinueNode* node = new (GLOBAL_DATA) ContinueNode(GLOBAL_DATA);
setExceptionLocation(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0);
@@ -4464,7 +4464,7 @@ yyreduce:
case 257:
/* Line 1455 of yacc.c */
-#line 1039 "parser\\Grammar.y"
+#line 1039 "parser/Grammar.y"
{ ContinueNode* node = new (GLOBAL_DATA) ContinueNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident));
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0);
@@ -4474,7 +4474,7 @@ yyreduce:
case 258:
/* Line 1455 of yacc.c */
-#line 1043 "parser\\Grammar.y"
+#line 1043 "parser/Grammar.y"
{ ContinueNode* node = new (GLOBAL_DATA) ContinueNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident));
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0);
@@ -4484,7 +4484,7 @@ yyreduce:
case 259:
/* Line 1455 of yacc.c */
-#line 1050 "parser\\Grammar.y"
+#line 1050 "parser/Grammar.y"
{ BreakNode* node = new (GLOBAL_DATA) BreakNode(GLOBAL_DATA);
setExceptionLocation(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0); setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
@@ -4493,7 +4493,7 @@ yyreduce:
case 260:
/* Line 1455 of yacc.c */
-#line 1053 "parser\\Grammar.y"
+#line 1053 "parser/Grammar.y"
{ BreakNode* node = new (GLOBAL_DATA) BreakNode(GLOBAL_DATA);
setExceptionLocation(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) BreakNode(GLOBAL_DATA), 0, 0, 0, 0); setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(1) - (2)])); AUTO_SEMICOLON; ;}
@@ -4502,7 +4502,7 @@ yyreduce:
case 261:
/* Line 1455 of yacc.c */
-#line 1056 "parser\\Grammar.y"
+#line 1056 "parser/Grammar.y"
{ BreakNode* node = new (GLOBAL_DATA) BreakNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident));
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0); setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
@@ -4511,7 +4511,7 @@ yyreduce:
case 262:
/* Line 1455 of yacc.c */
-#line 1059 "parser\\Grammar.y"
+#line 1059 "parser/Grammar.y"
{ BreakNode* node = new (GLOBAL_DATA) BreakNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident));
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) BreakNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident)), 0, 0, 0, 0); setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)])); AUTO_SEMICOLON; ;}
@@ -4520,7 +4520,7 @@ yyreduce:
case 263:
/* Line 1455 of yacc.c */
-#line 1065 "parser\\Grammar.y"
+#line 1065 "parser/Grammar.y"
{ ReturnNode* node = new (GLOBAL_DATA) ReturnNode(GLOBAL_DATA, 0);
setExceptionLocation(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0); setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
@@ -4529,7 +4529,7 @@ yyreduce:
case 264:
/* Line 1455 of yacc.c */
-#line 1068 "parser\\Grammar.y"
+#line 1068 "parser/Grammar.y"
{ ReturnNode* node = new (GLOBAL_DATA) ReturnNode(GLOBAL_DATA, 0);
setExceptionLocation(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0); setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(1) - (2)])); AUTO_SEMICOLON; ;}
@@ -4538,7 +4538,7 @@ yyreduce:
case 265:
/* Line 1455 of yacc.c */
-#line 1071 "parser\\Grammar.y"
+#line 1071 "parser/Grammar.y"
{ ReturnNode* node = new (GLOBAL_DATA) ReturnNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, (yyvsp[(2) - (3)].expressionNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants); setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
@@ -4547,7 +4547,7 @@ yyreduce:
case 266:
/* Line 1455 of yacc.c */
-#line 1074 "parser\\Grammar.y"
+#line 1074 "parser/Grammar.y"
{ ReturnNode* node = new (GLOBAL_DATA) ReturnNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, (yyvsp[(2) - (3)].expressionNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants); setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)])); AUTO_SEMICOLON; ;}
@@ -4556,7 +4556,7 @@ yyreduce:
case 267:
/* Line 1455 of yacc.c */
-#line 1080 "parser\\Grammar.y"
+#line 1080 "parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) WithNode(GLOBAL_DATA, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].statementNode).m_node, (yylsp[(3) - (5)]).last_column, (yylsp[(3) - (5)]).last_column - (yylsp[(3) - (5)]).first_column),
(yyvsp[(5) - (5)].statementNode).m_varDeclarations, (yyvsp[(5) - (5)].statementNode).m_funcDeclarations, (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].statementNode).m_features | WithFeature, (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].statementNode).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (5)]), (yylsp[(4) - (5)])); ;}
@@ -4565,7 +4565,7 @@ yyreduce:
case 268:
/* Line 1455 of yacc.c */
-#line 1086 "parser\\Grammar.y"
+#line 1086 "parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) SwitchNode(GLOBAL_DATA, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].caseBlockNode).m_node), (yyvsp[(5) - (5)].caseBlockNode).m_varDeclarations, (yyvsp[(5) - (5)].caseBlockNode).m_funcDeclarations,
(yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].caseBlockNode).m_features, (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].caseBlockNode).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (5)]), (yylsp[(4) - (5)])); ;}
@@ -4574,14 +4574,14 @@ yyreduce:
case 269:
/* Line 1455 of yacc.c */
-#line 1092 "parser\\Grammar.y"
+#line 1092 "parser/Grammar.y"
{ (yyval.caseBlockNode) = createNodeDeclarationInfo<CaseBlockNode*>(new (GLOBAL_DATA) CaseBlockNode(GLOBAL_DATA, (yyvsp[(2) - (3)].clauseList).m_node.head, 0, 0), (yyvsp[(2) - (3)].clauseList).m_varDeclarations, (yyvsp[(2) - (3)].clauseList).m_funcDeclarations, (yyvsp[(2) - (3)].clauseList).m_features, (yyvsp[(2) - (3)].clauseList).m_numConstants); ;}
break;
case 270:
/* Line 1455 of yacc.c */
-#line 1094 "parser\\Grammar.y"
+#line 1094 "parser/Grammar.y"
{ (yyval.caseBlockNode) = createNodeDeclarationInfo<CaseBlockNode*>(new (GLOBAL_DATA) CaseBlockNode(GLOBAL_DATA, (yyvsp[(2) - (5)].clauseList).m_node.head, (yyvsp[(3) - (5)].caseClauseNode).m_node, (yyvsp[(4) - (5)].clauseList).m_node.head),
mergeDeclarationLists(mergeDeclarationLists((yyvsp[(2) - (5)].clauseList).m_varDeclarations, (yyvsp[(3) - (5)].caseClauseNode).m_varDeclarations), (yyvsp[(4) - (5)].clauseList).m_varDeclarations),
mergeDeclarationLists(mergeDeclarationLists((yyvsp[(2) - (5)].clauseList).m_funcDeclarations, (yyvsp[(3) - (5)].caseClauseNode).m_funcDeclarations), (yyvsp[(4) - (5)].clauseList).m_funcDeclarations),
@@ -4592,14 +4592,14 @@ yyreduce:
case 271:
/* Line 1455 of yacc.c */
-#line 1102 "parser\\Grammar.y"
+#line 1102 "parser/Grammar.y"
{ (yyval.clauseList).m_node.head = 0; (yyval.clauseList).m_node.tail = 0; (yyval.clauseList).m_varDeclarations = 0; (yyval.clauseList).m_funcDeclarations = 0; (yyval.clauseList).m_features = 0; (yyval.clauseList).m_numConstants = 0; ;}
break;
case 273:
/* Line 1455 of yacc.c */
-#line 1107 "parser\\Grammar.y"
+#line 1107 "parser/Grammar.y"
{ (yyval.clauseList).m_node.head = new (GLOBAL_DATA) ClauseListNode(GLOBAL_DATA, (yyvsp[(1) - (1)].caseClauseNode).m_node);
(yyval.clauseList).m_node.tail = (yyval.clauseList).m_node.head;
(yyval.clauseList).m_varDeclarations = (yyvsp[(1) - (1)].caseClauseNode).m_varDeclarations;
@@ -4611,7 +4611,7 @@ yyreduce:
case 274:
/* Line 1455 of yacc.c */
-#line 1113 "parser\\Grammar.y"
+#line 1113 "parser/Grammar.y"
{ (yyval.clauseList).m_node.head = (yyvsp[(1) - (2)].clauseList).m_node.head;
(yyval.clauseList).m_node.tail = new (GLOBAL_DATA) ClauseListNode(GLOBAL_DATA, (yyvsp[(1) - (2)].clauseList).m_node.tail, (yyvsp[(2) - (2)].caseClauseNode).m_node);
(yyval.clauseList).m_varDeclarations = mergeDeclarationLists((yyvsp[(1) - (2)].clauseList).m_varDeclarations, (yyvsp[(2) - (2)].caseClauseNode).m_varDeclarations);
@@ -4624,35 +4624,35 @@ yyreduce:
case 275:
/* Line 1455 of yacc.c */
-#line 1123 "parser\\Grammar.y"
+#line 1123 "parser/Grammar.y"
{ (yyval.caseClauseNode) = createNodeDeclarationInfo<CaseClauseNode*>(new (GLOBAL_DATA) CaseClauseNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node), 0, 0, (yyvsp[(2) - (3)].expressionNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants); ;}
break;
case 276:
/* Line 1455 of yacc.c */
-#line 1124 "parser\\Grammar.y"
+#line 1124 "parser/Grammar.y"
{ (yyval.caseClauseNode) = createNodeDeclarationInfo<CaseClauseNode*>(new (GLOBAL_DATA) CaseClauseNode(GLOBAL_DATA, (yyvsp[(2) - (4)].expressionNode).m_node, (yyvsp[(4) - (4)].sourceElements).m_node), (yyvsp[(4) - (4)].sourceElements).m_varDeclarations, (yyvsp[(4) - (4)].sourceElements).m_funcDeclarations, (yyvsp[(2) - (4)].expressionNode).m_features | (yyvsp[(4) - (4)].sourceElements).m_features, (yyvsp[(2) - (4)].expressionNode).m_numConstants + (yyvsp[(4) - (4)].sourceElements).m_numConstants); ;}
break;
case 277:
/* Line 1455 of yacc.c */
-#line 1128 "parser\\Grammar.y"
+#line 1128 "parser/Grammar.y"
{ (yyval.caseClauseNode) = createNodeDeclarationInfo<CaseClauseNode*>(new (GLOBAL_DATA) CaseClauseNode(GLOBAL_DATA, 0), 0, 0, 0, 0); ;}
break;
case 278:
/* Line 1455 of yacc.c */
-#line 1129 "parser\\Grammar.y"
+#line 1129 "parser/Grammar.y"
{ (yyval.caseClauseNode) = createNodeDeclarationInfo<CaseClauseNode*>(new (GLOBAL_DATA) CaseClauseNode(GLOBAL_DATA, 0, (yyvsp[(3) - (3)].sourceElements).m_node), (yyvsp[(3) - (3)].sourceElements).m_varDeclarations, (yyvsp[(3) - (3)].sourceElements).m_funcDeclarations, (yyvsp[(3) - (3)].sourceElements).m_features, (yyvsp[(3) - (3)].sourceElements).m_numConstants); ;}
break;
case 279:
/* Line 1455 of yacc.c */
-#line 1133 "parser\\Grammar.y"
+#line 1133 "parser/Grammar.y"
{ LabelNode* node = new (GLOBAL_DATA) LabelNode(GLOBAL_DATA, *(yyvsp[(1) - (3)].ident), (yyvsp[(3) - (3)].statementNode).m_node);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, (yyvsp[(3) - (3)].statementNode).m_varDeclarations, (yyvsp[(3) - (3)].statementNode).m_funcDeclarations, (yyvsp[(3) - (3)].statementNode).m_features, (yyvsp[(3) - (3)].statementNode).m_numConstants); ;}
@@ -4661,7 +4661,7 @@ yyreduce:
case 280:
/* Line 1455 of yacc.c */
-#line 1139 "parser\\Grammar.y"
+#line 1139 "parser/Grammar.y"
{ ThrowNode* node = new (GLOBAL_DATA) ThrowNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, (yyvsp[(2) - (3)].expressionNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants); setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)]));
@@ -4671,7 +4671,7 @@ yyreduce:
case 281:
/* Line 1455 of yacc.c */
-#line 1143 "parser\\Grammar.y"
+#line 1143 "parser/Grammar.y"
{ ThrowNode* node = new (GLOBAL_DATA) ThrowNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, (yyvsp[(2) - (3)].expressionNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants); setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)])); AUTO_SEMICOLON;
@@ -4681,7 +4681,7 @@ yyreduce:
case 282:
/* Line 1455 of yacc.c */
-#line 1150 "parser\\Grammar.y"
+#line 1150 "parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) TryNode(GLOBAL_DATA, (yyvsp[(2) - (4)].statementNode).m_node, GLOBAL_DATA->propertyNames->nullIdentifier, false, 0, (yyvsp[(4) - (4)].statementNode).m_node),
mergeDeclarationLists((yyvsp[(2) - (4)].statementNode).m_varDeclarations, (yyvsp[(4) - (4)].statementNode).m_varDeclarations),
mergeDeclarationLists((yyvsp[(2) - (4)].statementNode).m_funcDeclarations, (yyvsp[(4) - (4)].statementNode).m_funcDeclarations),
@@ -4693,7 +4693,7 @@ yyreduce:
case 283:
/* Line 1455 of yacc.c */
-#line 1156 "parser\\Grammar.y"
+#line 1156 "parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) TryNode(GLOBAL_DATA, (yyvsp[(2) - (7)].statementNode).m_node, *(yyvsp[(5) - (7)].ident), ((yyvsp[(7) - (7)].statementNode).m_features & EvalFeature) != 0, (yyvsp[(7) - (7)].statementNode).m_node, 0),
mergeDeclarationLists((yyvsp[(2) - (7)].statementNode).m_varDeclarations, (yyvsp[(7) - (7)].statementNode).m_varDeclarations),
mergeDeclarationLists((yyvsp[(2) - (7)].statementNode).m_funcDeclarations, (yyvsp[(7) - (7)].statementNode).m_funcDeclarations),
@@ -4705,7 +4705,7 @@ yyreduce:
case 284:
/* Line 1455 of yacc.c */
-#line 1163 "parser\\Grammar.y"
+#line 1163 "parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) TryNode(GLOBAL_DATA, (yyvsp[(2) - (9)].statementNode).m_node, *(yyvsp[(5) - (9)].ident), ((yyvsp[(7) - (9)].statementNode).m_features & EvalFeature) != 0, (yyvsp[(7) - (9)].statementNode).m_node, (yyvsp[(9) - (9)].statementNode).m_node),
mergeDeclarationLists(mergeDeclarationLists((yyvsp[(2) - (9)].statementNode).m_varDeclarations, (yyvsp[(7) - (9)].statementNode).m_varDeclarations), (yyvsp[(9) - (9)].statementNode).m_varDeclarations),
mergeDeclarationLists(mergeDeclarationLists((yyvsp[(2) - (9)].statementNode).m_funcDeclarations, (yyvsp[(7) - (9)].statementNode).m_funcDeclarations), (yyvsp[(9) - (9)].statementNode).m_funcDeclarations),
@@ -4717,7 +4717,7 @@ yyreduce:
case 285:
/* Line 1455 of yacc.c */
-#line 1172 "parser\\Grammar.y"
+#line 1172 "parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) DebuggerStatementNode(GLOBAL_DATA), 0, 0, 0, 0);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
break;
@@ -4725,7 +4725,7 @@ yyreduce:
case 286:
/* Line 1455 of yacc.c */
-#line 1174 "parser\\Grammar.y"
+#line 1174 "parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) DebuggerStatementNode(GLOBAL_DATA), 0, 0, 0, 0);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(1) - (2)])); AUTO_SEMICOLON; ;}
break;
@@ -4733,14 +4733,14 @@ yyreduce:
case 287:
/* Line 1455 of yacc.c */
-#line 1179 "parser\\Grammar.y"
+#line 1179 "parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) FuncDeclNode(GLOBAL_DATA, *(yyvsp[(2) - (7)].ident), (yyvsp[(6) - (7)].functionBodyNode), GLOBAL_DATA->lexer->sourceCode((yyvsp[(5) - (7)].intValue), (yyvsp[(7) - (7)].intValue), (yylsp[(5) - (7)]).first_line)), 0, new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::FunctionStack>, ((*(yyvsp[(2) - (7)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0) | ClosureFeature, 0); setStatementLocation((yyvsp[(6) - (7)].functionBodyNode), (yylsp[(5) - (7)]), (yylsp[(7) - (7)])); (yyval.statementNode).m_funcDeclarations->data.append(static_cast<FuncDeclNode*>((yyval.statementNode).m_node)->body()); ;}
break;
case 288:
/* Line 1455 of yacc.c */
-#line 1181 "parser\\Grammar.y"
+#line 1181 "parser/Grammar.y"
{
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) FuncDeclNode(GLOBAL_DATA, *(yyvsp[(2) - (8)].ident), (yyvsp[(7) - (8)].functionBodyNode), GLOBAL_DATA->lexer->sourceCode((yyvsp[(6) - (8)].intValue), (yyvsp[(8) - (8)].intValue), (yylsp[(6) - (8)]).first_line), (yyvsp[(4) - (8)].parameterList).m_node.head), 0, new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::FunctionStack>, ((*(yyvsp[(2) - (8)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0) | (yyvsp[(4) - (8)].parameterList).m_features | ClosureFeature, 0);
if ((yyvsp[(4) - (8)].parameterList).m_features & ArgumentsFeature)
@@ -4753,14 +4753,14 @@ yyreduce:
case 289:
/* Line 1455 of yacc.c */
-#line 1191 "parser\\Grammar.y"
+#line 1191 "parser/Grammar.y"
{ (yyval.funcExprNode) = createNodeInfo(new (GLOBAL_DATA) FuncExprNode(GLOBAL_DATA, GLOBAL_DATA->propertyNames->nullIdentifier, (yyvsp[(5) - (6)].functionBodyNode), GLOBAL_DATA->lexer->sourceCode((yyvsp[(4) - (6)].intValue), (yyvsp[(6) - (6)].intValue), (yylsp[(4) - (6)]).first_line)), ClosureFeature, 0); setStatementLocation((yyvsp[(5) - (6)].functionBodyNode), (yylsp[(4) - (6)]), (yylsp[(6) - (6)])); ;}
break;
case 290:
/* Line 1455 of yacc.c */
-#line 1193 "parser\\Grammar.y"
+#line 1193 "parser/Grammar.y"
{
(yyval.funcExprNode) = createNodeInfo(new (GLOBAL_DATA) FuncExprNode(GLOBAL_DATA, GLOBAL_DATA->propertyNames->nullIdentifier, (yyvsp[(6) - (7)].functionBodyNode), GLOBAL_DATA->lexer->sourceCode((yyvsp[(5) - (7)].intValue), (yyvsp[(7) - (7)].intValue), (yylsp[(5) - (7)]).first_line), (yyvsp[(3) - (7)].parameterList).m_node.head), (yyvsp[(3) - (7)].parameterList).m_features | ClosureFeature, 0);
if ((yyvsp[(3) - (7)].parameterList).m_features & ArgumentsFeature)
@@ -4772,14 +4772,14 @@ yyreduce:
case 291:
/* Line 1455 of yacc.c */
-#line 1199 "parser\\Grammar.y"
+#line 1199 "parser/Grammar.y"
{ (yyval.funcExprNode) = createNodeInfo(new (GLOBAL_DATA) FuncExprNode(GLOBAL_DATA, *(yyvsp[(2) - (7)].ident), (yyvsp[(6) - (7)].functionBodyNode), GLOBAL_DATA->lexer->sourceCode((yyvsp[(5) - (7)].intValue), (yyvsp[(7) - (7)].intValue), (yylsp[(5) - (7)]).first_line)), ClosureFeature, 0); setStatementLocation((yyvsp[(6) - (7)].functionBodyNode), (yylsp[(5) - (7)]), (yylsp[(7) - (7)])); ;}
break;
case 292:
/* Line 1455 of yacc.c */
-#line 1201 "parser\\Grammar.y"
+#line 1201 "parser/Grammar.y"
{
(yyval.funcExprNode) = createNodeInfo(new (GLOBAL_DATA) FuncExprNode(GLOBAL_DATA, *(yyvsp[(2) - (8)].ident), (yyvsp[(7) - (8)].functionBodyNode), GLOBAL_DATA->lexer->sourceCode((yyvsp[(6) - (8)].intValue), (yyvsp[(8) - (8)].intValue), (yylsp[(6) - (8)]).first_line), (yyvsp[(4) - (8)].parameterList).m_node.head), (yyvsp[(4) - (8)].parameterList).m_features | ClosureFeature, 0);
if ((yyvsp[(4) - (8)].parameterList).m_features & ArgumentsFeature)
@@ -4791,7 +4791,7 @@ yyreduce:
case 293:
/* Line 1455 of yacc.c */
-#line 1210 "parser\\Grammar.y"
+#line 1210 "parser/Grammar.y"
{ (yyval.parameterList).m_node.head = new (GLOBAL_DATA) ParameterNode(GLOBAL_DATA, *(yyvsp[(1) - (1)].ident));
(yyval.parameterList).m_features = (*(yyvsp[(1) - (1)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0;
(yyval.parameterList).m_node.tail = (yyval.parameterList).m_node.head; ;}
@@ -4800,7 +4800,7 @@ yyreduce:
case 294:
/* Line 1455 of yacc.c */
-#line 1213 "parser\\Grammar.y"
+#line 1213 "parser/Grammar.y"
{ (yyval.parameterList).m_node.head = (yyvsp[(1) - (3)].parameterList).m_node.head;
(yyval.parameterList).m_features = (yyvsp[(1) - (3)].parameterList).m_features | ((*(yyvsp[(3) - (3)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0);
(yyval.parameterList).m_node.tail = new (GLOBAL_DATA) ParameterNode(GLOBAL_DATA, (yyvsp[(1) - (3)].parameterList).m_node.tail, *(yyvsp[(3) - (3)].ident)); ;}
@@ -4809,28 +4809,28 @@ yyreduce:
case 295:
/* Line 1455 of yacc.c */
-#line 1219 "parser\\Grammar.y"
+#line 1219 "parser/Grammar.y"
{ (yyval.functionBodyNode) = FunctionBodyNode::create(GLOBAL_DATA); ;}
break;
case 296:
/* Line 1455 of yacc.c */
-#line 1220 "parser\\Grammar.y"
+#line 1220 "parser/Grammar.y"
{ (yyval.functionBodyNode) = FunctionBodyNode::create(GLOBAL_DATA); ;}
break;
case 297:
/* Line 1455 of yacc.c */
-#line 1224 "parser\\Grammar.y"
+#line 1224 "parser/Grammar.y"
{ GLOBAL_DATA->parser->didFinishParsing(new (GLOBAL_DATA) SourceElements(GLOBAL_DATA), 0, 0, NoFeatures, (yylsp[(0) - (0)]).last_line, 0); ;}
break;
case 298:
/* Line 1455 of yacc.c */
-#line 1225 "parser\\Grammar.y"
+#line 1225 "parser/Grammar.y"
{ GLOBAL_DATA->parser->didFinishParsing((yyvsp[(1) - (1)].sourceElements).m_node, (yyvsp[(1) - (1)].sourceElements).m_varDeclarations, (yyvsp[(1) - (1)].sourceElements).m_funcDeclarations, (yyvsp[(1) - (1)].sourceElements).m_features,
(yylsp[(1) - (1)]).last_line, (yyvsp[(1) - (1)].sourceElements).m_numConstants); ;}
break;
@@ -4838,7 +4838,7 @@ yyreduce:
case 299:
/* Line 1455 of yacc.c */
-#line 1230 "parser\\Grammar.y"
+#line 1230 "parser/Grammar.y"
{ (yyval.sourceElements).m_node = new (GLOBAL_DATA) SourceElements(GLOBAL_DATA);
(yyval.sourceElements).m_node->append((yyvsp[(1) - (1)].statementNode).m_node);
(yyval.sourceElements).m_varDeclarations = (yyvsp[(1) - (1)].statementNode).m_varDeclarations;
@@ -4851,7 +4851,7 @@ yyreduce:
case 300:
/* Line 1455 of yacc.c */
-#line 1237 "parser\\Grammar.y"
+#line 1237 "parser/Grammar.y"
{ (yyval.sourceElements).m_node->append((yyvsp[(2) - (2)].statementNode).m_node);
(yyval.sourceElements).m_varDeclarations = mergeDeclarationLists((yyvsp[(1) - (2)].sourceElements).m_varDeclarations, (yyvsp[(2) - (2)].statementNode).m_varDeclarations);
(yyval.sourceElements).m_funcDeclarations = mergeDeclarationLists((yyvsp[(1) - (2)].sourceElements).m_funcDeclarations, (yyvsp[(2) - (2)].statementNode).m_funcDeclarations);
@@ -4863,259 +4863,259 @@ yyreduce:
case 304:
/* Line 1455 of yacc.c */
-#line 1251 "parser\\Grammar.y"
+#line 1251 "parser/Grammar.y"
{ ;}
break;
case 305:
/* Line 1455 of yacc.c */
-#line 1252 "parser\\Grammar.y"
+#line 1252 "parser/Grammar.y"
{ ;}
break;
case 306:
/* Line 1455 of yacc.c */
-#line 1253 "parser\\Grammar.y"
+#line 1253 "parser/Grammar.y"
{ if (!GLOBAL_DATA->lexer->skipRegExp()) YYABORT; ;}
break;
case 307:
/* Line 1455 of yacc.c */
-#line 1254 "parser\\Grammar.y"
+#line 1254 "parser/Grammar.y"
{ if (!GLOBAL_DATA->lexer->skipRegExp()) YYABORT; ;}
break;
case 308:
/* Line 1455 of yacc.c */
-#line 1258 "parser\\Grammar.y"
+#line 1258 "parser/Grammar.y"
{ ;}
break;
case 309:
/* Line 1455 of yacc.c */
-#line 1259 "parser\\Grammar.y"
+#line 1259 "parser/Grammar.y"
{ ;}
break;
case 310:
/* Line 1455 of yacc.c */
-#line 1260 "parser\\Grammar.y"
+#line 1260 "parser/Grammar.y"
{ ;}
break;
case 311:
/* Line 1455 of yacc.c */
-#line 1261 "parser\\Grammar.y"
+#line 1261 "parser/Grammar.y"
{ if (*(yyvsp[(1) - (7)].ident) != "get" && *(yyvsp[(1) - (7)].ident) != "set") YYABORT; ;}
break;
case 312:
/* Line 1455 of yacc.c */
-#line 1262 "parser\\Grammar.y"
+#line 1262 "parser/Grammar.y"
{ if (*(yyvsp[(1) - (8)].ident) != "get" && *(yyvsp[(1) - (8)].ident) != "set") YYABORT; ;}
break;
case 316:
/* Line 1455 of yacc.c */
-#line 1272 "parser\\Grammar.y"
+#line 1272 "parser/Grammar.y"
{ ;}
break;
case 317:
/* Line 1455 of yacc.c */
-#line 1273 "parser\\Grammar.y"
+#line 1273 "parser/Grammar.y"
{ ;}
break;
case 318:
/* Line 1455 of yacc.c */
-#line 1275 "parser\\Grammar.y"
+#line 1275 "parser/Grammar.y"
{ ;}
break;
case 322:
/* Line 1455 of yacc.c */
-#line 1282 "parser\\Grammar.y"
+#line 1282 "parser/Grammar.y"
{ ;}
break;
case 517:
/* Line 1455 of yacc.c */
-#line 1650 "parser\\Grammar.y"
+#line 1650 "parser/Grammar.y"
{ ;}
break;
case 518:
/* Line 1455 of yacc.c */
-#line 1651 "parser\\Grammar.y"
+#line 1651 "parser/Grammar.y"
{ ;}
break;
case 520:
/* Line 1455 of yacc.c */
-#line 1656 "parser\\Grammar.y"
+#line 1656 "parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 521:
/* Line 1455 of yacc.c */
-#line 1660 "parser\\Grammar.y"
+#line 1660 "parser/Grammar.y"
{ ;}
break;
case 522:
/* Line 1455 of yacc.c */
-#line 1661 "parser\\Grammar.y"
+#line 1661 "parser/Grammar.y"
{ ;}
break;
case 525:
/* Line 1455 of yacc.c */
-#line 1667 "parser\\Grammar.y"
+#line 1667 "parser/Grammar.y"
{ ;}
break;
case 526:
/* Line 1455 of yacc.c */
-#line 1668 "parser\\Grammar.y"
+#line 1668 "parser/Grammar.y"
{ ;}
break;
case 530:
/* Line 1455 of yacc.c */
-#line 1675 "parser\\Grammar.y"
+#line 1675 "parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 533:
/* Line 1455 of yacc.c */
-#line 1684 "parser\\Grammar.y"
+#line 1684 "parser/Grammar.y"
{ ;}
break;
case 534:
/* Line 1455 of yacc.c */
-#line 1685 "parser\\Grammar.y"
+#line 1685 "parser/Grammar.y"
{ ;}
break;
case 539:
/* Line 1455 of yacc.c */
-#line 1702 "parser\\Grammar.y"
+#line 1702 "parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 555:
/* Line 1455 of yacc.c */
-#line 1733 "parser\\Grammar.y"
+#line 1733 "parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 557:
/* Line 1455 of yacc.c */
-#line 1735 "parser\\Grammar.y"
+#line 1735 "parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 559:
/* Line 1455 of yacc.c */
-#line 1740 "parser\\Grammar.y"
+#line 1740 "parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 561:
/* Line 1455 of yacc.c */
-#line 1742 "parser\\Grammar.y"
+#line 1742 "parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 563:
/* Line 1455 of yacc.c */
-#line 1747 "parser\\Grammar.y"
+#line 1747 "parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 565:
/* Line 1455 of yacc.c */
-#line 1749 "parser\\Grammar.y"
+#line 1749 "parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 568:
/* Line 1455 of yacc.c */
-#line 1761 "parser\\Grammar.y"
+#line 1761 "parser/Grammar.y"
{ ;}
break;
case 569:
/* Line 1455 of yacc.c */
-#line 1762 "parser\\Grammar.y"
+#line 1762 "parser/Grammar.y"
{ ;}
break;
case 578:
/* Line 1455 of yacc.c */
-#line 1786 "parser\\Grammar.y"
+#line 1786 "parser/Grammar.y"
{ ;}
break;
case 580:
/* Line 1455 of yacc.c */
-#line 1791 "parser\\Grammar.y"
+#line 1791 "parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 585:
/* Line 1455 of yacc.c */
-#line 1802 "parser\\Grammar.y"
+#line 1802 "parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 592:
/* Line 1455 of yacc.c */
-#line 1818 "parser\\Grammar.y"
+#line 1818 "parser/Grammar.y"
{ ;}
break;
/* Line 1455 of yacc.c */
-#line 5119 "C:/dev/webkit-2.0/JavaScriptCore/generated\\Grammar.tab.c"
+#line 5119 "/JavaScriptCore/generated/Grammar.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -5334,7 +5334,7 @@ yyreturn:
/* Line 1675 of yacc.c */
-#line 1834 "parser\\Grammar.y"
+#line 1834 "parser/Grammar.y"
#undef GLOBAL_DATA
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.h b/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.h
index 69942f7..04dfeb1 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.h
@@ -112,7 +112,7 @@ typedef union YYSTYPE
{
/* Line 1676 of yacc.c */
-#line 146 "parser\\Grammar.y"
+#line 146 "parser/Grammar.y"
int intValue;
double doubleValue;
@@ -147,7 +147,7 @@ typedef union YYSTYPE
/* Line 1676 of yacc.c */
-#line 151 "C:/dev/webkit-2.0/JavaScriptCore/generated\\Grammar.tab.h"
+#line 151 "/JavaScriptCore/generated/Grammar.tab.h"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/JSONObject.lut.h b/src/3rdparty/webkit/JavaScriptCore/generated/JSONObject.lut.h
index acfe7d2..4ec868e 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/JSONObject.lut.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/JSONObject.lut.h
@@ -1,4 +1,4 @@
-// Automatically generated from runtime\JSONObject.cpp using C:/dev/webkit-2.0/JavaScriptCore/create_hash_table. DO NOT EDIT!
+// Automatically generated from runtime/JSONObject.cpp using /JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/Lexer.lut.h b/src/3rdparty/webkit/JavaScriptCore/generated/Lexer.lut.h
index 556a6f4..c17f34d 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/Lexer.lut.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/Lexer.lut.h
@@ -1,4 +1,4 @@
-// Automatically generated from parser\Keywords.table using C:/dev/webkit-2.0/JavaScriptCore/create_hash_table. DO NOT EDIT!
+// Automatically generated from parser/Keywords.table using /JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/MathObject.lut.h b/src/3rdparty/webkit/JavaScriptCore/generated/MathObject.lut.h
index 85a1bb6..6222ef9 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/MathObject.lut.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/MathObject.lut.h
@@ -1,4 +1,4 @@
-// Automatically generated from runtime\MathObject.cpp using C:/dev/webkit-2.0/JavaScriptCore/create_hash_table. DO NOT EDIT!
+// Automatically generated from runtime/MathObject.cpp using /JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/NumberConstructor.lut.h b/src/3rdparty/webkit/JavaScriptCore/generated/NumberConstructor.lut.h
index 1cd4117..bfa6341 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/NumberConstructor.lut.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/NumberConstructor.lut.h
@@ -1,4 +1,4 @@
-// Automatically generated from runtime\NumberConstructor.cpp using C:/dev/webkit-2.0/JavaScriptCore/create_hash_table. DO NOT EDIT!
+// Automatically generated from runtime/NumberConstructor.cpp using /JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/RegExpConstructor.lut.h b/src/3rdparty/webkit/JavaScriptCore/generated/RegExpConstructor.lut.h
index 938d368..d45db01 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/RegExpConstructor.lut.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/RegExpConstructor.lut.h
@@ -1,4 +1,4 @@
-// Automatically generated from runtime\RegExpConstructor.cpp using C:/dev/webkit-2.0/JavaScriptCore/create_hash_table. DO NOT EDIT!
+// Automatically generated from runtime/RegExpConstructor.cpp using /JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/RegExpObject.lut.h b/src/3rdparty/webkit/JavaScriptCore/generated/RegExpObject.lut.h
index aadd236..8dcb7c9 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/RegExpObject.lut.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/RegExpObject.lut.h
@@ -1,4 +1,4 @@
-// Automatically generated from runtime\RegExpObject.cpp using C:/dev/webkit-2.0/JavaScriptCore/create_hash_table. DO NOT EDIT!
+// Automatically generated from runtime/RegExpObject.cpp using /JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/StringPrototype.lut.h b/src/3rdparty/webkit/JavaScriptCore/generated/StringPrototype.lut.h
index 2d08eac..6ea0803 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/StringPrototype.lut.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/StringPrototype.lut.h
@@ -1,4 +1,4 @@
-// Automatically generated from runtime\StringPrototype.cpp using C:/dev/webkit-2.0/JavaScriptCore/create_hash_table. DO NOT EDIT!
+// Automatically generated from runtime/StringPrototype.cpp using /JavaScriptCore/create_hash_table. DO NOT EDIT!
#include "Lookup.h"
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp
index 2859290..0eca610 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp
@@ -201,7 +201,7 @@ NEVER_INLINE CollectorBlock* Heap::allocateBlock()
#elif OS(WINCE)
void* address = VirtualAlloc(NULL, BLOCK_SIZE, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
#elif OS(WINDOWS)
-#if COMPILER(MINGW) && !defined(__MINGW64_VERSION_MAJOR)
+#if COMPILER(MINGW) && !COMPILER(MINGW64)
void* address = __mingw_aligned_malloc(BLOCK_SIZE, BLOCK_SIZE);
#else
void* address = _aligned_malloc(BLOCK_SIZE, BLOCK_SIZE);
@@ -292,7 +292,7 @@ NEVER_INLINE void Heap::freeBlockPtr(CollectorBlock* block)
#elif OS(WINCE)
VirtualFree(block, 0, MEM_RELEASE);
#elif OS(WINDOWS)
-#if COMPILER(MINGW) && !defined(__MINGW64_VERSION_MAJOR)
+#if COMPILER(MINGW) && !COMPILER(MINGW64)
__mingw_aligned_free(block);
#else
_aligned_free(block);
@@ -558,6 +558,8 @@ static inline void* currentThreadStackBase()
PNT_TIB64 pTib = reinterpret_cast<PNT_TIB64>(NtCurrentTeb());
return reinterpret_cast<void*>(pTib->StackBase);
#elif OS(QNX)
+ AtomicallyInitializedStatic(Mutex&, mutex = *new Mutex);
+ MutexLocker locker(mutex);
return currentThreadStackBaseQNX();
#elif OS(SOLARIS)
stack_t s;
@@ -569,19 +571,17 @@ static inline void* currentThreadStackBase()
pthread_stackseg_np(thread, &stack);
return stack.ss_sp;
#elif OS(SYMBIAN)
- static void* stackBase = 0;
- if (stackBase == 0) {
- TThreadStackInfo info;
- RThread thread;
- thread.StackInfo(info);
- stackBase = (void*)info.iBase;
- }
- return (void*)stackBase;
+ TThreadStackInfo info;
+ RThread thread;
+ thread.StackInfo(info);
+ return (void*)info.iBase;
#elif OS(HAIKU)
thread_info threadInfo;
get_thread_info(find_thread(NULL), &threadInfo);
return threadInfo.stack_end;
#elif OS(UNIX)
+ AtomicallyInitializedStatic(Mutex&, mutex = *new Mutex);
+ MutexLocker locker(mutex);
static void* stackBase = 0;
static size_t stackSize = 0;
static pthread_t stackThread;
@@ -604,6 +604,8 @@ static inline void* currentThreadStackBase()
}
return static_cast<char*>(stackBase) + stackSize;
#elif OS(WINCE)
+ AtomicallyInitializedStatic(Mutex&, mutex = *new Mutex);
+ MutexLocker locker(mutex);
if (g_stackBase)
return g_stackBase;
else {
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/Structure.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/Structure.cpp
index dab7f51..6d13f4b 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/Structure.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/Structure.cpp
@@ -168,14 +168,14 @@ inline void Structure::transitionTableAdd(const StructureTransitionTableHash::Ke
if (!specificValue) {
TransitionTable::iterator find = transitionTable()->find(key);
if (find == transitionTable()->end())
- transitionTable()->add(key, Transition(structure, (Structure*)0));
+ transitionTable()->add(key, Transition(structure, static_cast<Structure*>(0)));
else
find->second.first = structure;
} else {
// If we're adding a transition to a specific value, then there cannot be
// an existing transition
ASSERT(!transitionTable()->contains(key));
- transitionTable()->add(key, Transition((Structure*)0, structure));
+ transitionTable()->add(key, Transition(static_cast<Structure*>(0), structure));
}
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.h
index 0e02af5..8b6d09a 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.h
@@ -61,7 +61,7 @@
#define ASSERTIONS_DISABLED_DEFAULT 0
#endif
-#if COMPILER(MSVC7) || COMPILER(WINSCW)
+#if COMPILER(MSVC7_OR_LOWER) || COMPILER(WINSCW)
#define HAVE_VARIADIC_MACRO 0
#else
#define HAVE_VARIADIC_MACRO 1
@@ -213,7 +213,7 @@ while (0)
/* ASSERT_WITH_MESSAGE */
-#if COMPILER(MSVC7)
+#if COMPILER(MSVC7_OR_LOWER)
#define ASSERT_WITH_MESSAGE(assertion) ((void)0)
#elif COMPILER(WINSCW)
#define ASSERT_WITH_MESSAGE(assertion, arg...) ((void)0)
@@ -253,7 +253,7 @@ while (0)
/* FATAL */
-#if COMPILER(MSVC7)
+#if COMPILER(MSVC7_OR_LOWER)
#define FATAL() ((void)0)
#elif COMPILER(WINSCW)
#define FATAL(arg...) ((void)0)
@@ -268,7 +268,7 @@ while (0)
/* LOG_ERROR */
-#if COMPILER(MSVC7)
+#if COMPILER(MSVC7_OR_LOWER)
#define LOG_ERROR() ((void)0)
#elif COMPILER(WINSCW)
#define LOG_ERROR(arg...) ((void)0)
@@ -280,7 +280,7 @@ while (0)
/* LOG */
-#if COMPILER(MSVC7)
+#if COMPILER(MSVC7_OR_LOWER)
#define LOG() ((void)0)
#elif COMPILER(WINSCW)
#define LOG(arg...) ((void)0)
@@ -294,7 +294,7 @@ while (0)
/* LOG_VERBOSE */
-#if COMPILER(MSVC7)
+#if COMPILER(MSVC7_OR_LOWER)
#define LOG_VERBOSE(channel) ((void)0)
#elif COMPILER(WINSCW)
#define LOG_VERBOSE(channel, arg...) ((void)0)
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/CurrentTime.h b/src/3rdparty/webkit/JavaScriptCore/wtf/CurrentTime.h
index 033448f..dcb1f6c 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/CurrentTime.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/CurrentTime.h
@@ -49,7 +49,7 @@ namespace WTF {
inline void getLocalTime(const time_t* localTime, struct tm* localTM)
{
- #if COMPILER(MSVC7) || COMPILER(MINGW) || OS(WINCE)
+ #if COMPILER(MSVC7_OR_LOWER) || COMPILER(MINGW) || OS(WINCE)
*localTM = *localtime(localTime);
#elif COMPILER(MSVC)
localtime_s(localTM, localTime);
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/MathExtras.h b/src/3rdparty/webkit/JavaScriptCore/wtf/MathExtras.h
index 49d6ec3..f8bace4 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/MathExtras.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/MathExtras.h
@@ -123,7 +123,7 @@ inline double trunc(double num) { return num > 0 ? floor(num) : ceil(num); }
#if COMPILER(MSVC)
// The 64bit version of abs() is already defined in stdlib.h which comes with VC10
-#if COMPILER(MSVC9)
+#if COMPILER(MSVC9_OR_LOWER)
inline long long abs(long long num) { return _abs64(num); }
#endif
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
index 2a5a48f..96ed9bd 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
@@ -58,13 +58,14 @@
/* ==== COMPILER() - the compiler being used to build the project ==== */
/* COMPILER(MSVC) Microsoft Visual C++ */
-/* COMPILER(MSVC7) Microsoft Visual C++ v7 or lower*/
+/* COMPILER(MSVC7_OR_LOWER) Microsoft Visual C++ 2003 or lower*/
+/* COMPILER(MSVC9_OR_LOWER) Microsoft Visual C++ 2008 or lower*/
#if defined(_MSC_VER)
#define WTF_COMPILER_MSVC 1
#if _MSC_VER < 1400
-#define WTF_COMPILER_MSVC7 1
+#define WTF_COMPILER_MSVC7_OR_LOWER 1
#elif _MSC_VER < 1600
-#define WTF_COMPILER_MSVC9 1
+#define WTF_COMPILER_MSVC9_OR_LOWER 1
#endif
#endif
@@ -81,9 +82,14 @@
#endif
/* COMPILER(MINGW) - MinGW GCC */
-#if defined(MINGW) || defined(__MINGW32__)
+/* COMPILER(MINGW64) - mingw-w64 GCC - only used as additional check to exclude mingw.org specific functions */
+#if defined(__MINGW32__)
#define WTF_COMPILER_MINGW 1
-#endif
+#include <_mingw.h> /* private MinGW header */
+ #if defined(__MINGW64_VERSION_MAJOR) /* best way to check for mingw-w64 vs mingw.org */
+ #define WTF_COMPILER_MINGW64 1
+ #endif /* __MINGW64_VERSION_MAJOR */
+#endif /* __MINGW32__ */
/* COMPILER(WINSCW) - CodeWarrior for Symbian emulator */
#if defined(__WINSCW__)
@@ -921,6 +927,8 @@ on MinGW. See https://bugs.webkit.org/show_bug.cgi?id=29268 */
#elif CPU(X86) && OS(WINDOWS) && COMPILER(MINGW) && GCC_VERSION >= 40100
#define ENABLE_JIT 1
#define WTF_USE_JIT_STUB_ARGUMENT_VA_LIST 1
+#elif CPU(X86_64) && OS(WINDOWS) && COMPILER(MINGW64) && GCC_VERSION >= 40100
+ #define ENABLE_JIT 1
#elif CPU(X86) && OS(WINDOWS) && COMPILER(MSVC)
#define ENABLE_JIT 1
#define WTF_USE_JIT_STUB_ARGUMENT_REGISTER 1
@@ -995,6 +1003,7 @@ on MinGW. See https://bugs.webkit.org/show_bug.cgi?id=29268 */
#if PLATFORM(QT)
#if (CPU(X86) && OS(WINDOWS) && COMPILER(MINGW) && GCC_VERSION >= 40100) \
+ || (CPU(X86_64) && OS(WINDOWS) && COMPILER(MINGW64) && GCC_VERSION >= 40100) \
|| (CPU(X86) && OS(WINDOWS) && COMPILER(MSVC)) \
|| (CPU(X86) && OS(LINUX) && GCC_VERSION >= 40100) \
|| (CPU(X86_64) && OS(LINUX) && GCC_VERSION >= 40100) \
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/StringExtras.h b/src/3rdparty/webkit/JavaScriptCore/wtf/StringExtras.h
index b1ec09f..28e80b8 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/StringExtras.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/StringExtras.h
@@ -46,7 +46,7 @@ inline int snprintf(char* buffer, size_t count, const char* format, ...)
return result;
}
-#if COMPILER(MSVC7) || OS(WINCE)
+#if COMPILER(MSVC7_OR_LOWER) || OS(WINCE)
inline int vsnprintf(char* buffer, size_t count, const char* format, va_list args)
{
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.h
index 768aecf..50e08bd 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.h
@@ -220,7 +220,7 @@ private:
#if OS(WINDOWS)
#define WTF_USE_LOCKFREE_THREADSAFESHARED 1
-#if COMPILER(MINGW) || COMPILER(MSVC7) || OS(WINCE)
+#if COMPILER(MINGW) || COMPILER(MSVC7_OR_LOWER) || OS(WINCE)
inline int atomicIncrement(int* addend) { return InterlockedIncrement(reinterpret_cast<long*>(addend)); }
inline int atomicDecrement(int* addend) { return InterlockedDecrement(reinterpret_cast<long*>(addend)); }
#else
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/VMTags.h b/src/3rdparty/webkit/JavaScriptCore/wtf/VMTags.h
index 7ac02da..6600050 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/VMTags.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/VMTags.h
@@ -28,25 +28,48 @@
// On Mac OS X, the VM subsystem allows tagging memory requested from mmap and vm_map
// in order to aid tools that inspect system memory use.
-#if OS(DARWIN) && !defined(BUILDING_ON_TIGER)
+#if OS(DARWIN)
#include <mach/vm_statistics.h>
+#if !defined(TARGETING_TIGER)
+
#if defined(VM_MEMORY_TCMALLOC)
#define VM_TAG_FOR_TCMALLOC_MEMORY VM_MAKE_TAG(VM_MEMORY_TCMALLOC)
#else
#define VM_TAG_FOR_TCMALLOC_MEMORY VM_MAKE_TAG(53)
#endif // defined(VM_MEMORY_TCMALLOC)
-#if defined(VM_MEMORY_JAVASCRIPT_CORE) && defined(VM_MEMORY_JAVASCRIPT_JIT_REGISTER_FILE) && defined(VM_MEMORY_JAVASCRIPT_JIT_EXECUTABLE_ALLOCATOR) && defined(VM_MEMORY_JAVASCRIPT_JIT_EXECUTABLE_ALLOCATOR)
-#define VM_TAG_FOR_COLLECTOR_MEMORY VM_MAKE_TAG(VM_MEMORY_JAVASCRIPT_CORE)
-#define VM_TAG_FOR_REGISTERFILE_MEMORY VM_MAKE_TAG(VM_MEMORY_JAVASCRIPT_JIT_REGISTER_FILE)
+#if defined(VM_MEMORY_JAVASCRIPT_JIT_EXECUTABLE_ALLOCATOR)
#define VM_TAG_FOR_EXECUTABLEALLOCATOR_MEMORY VM_MAKE_TAG(VM_MEMORY_JAVASCRIPT_JIT_EXECUTABLE_ALLOCATOR)
#else
-#define VM_TAG_FOR_COLLECTOR_MEMORY VM_MAKE_TAG(63)
#define VM_TAG_FOR_EXECUTABLEALLOCATOR_MEMORY VM_MAKE_TAG(64)
+#endif // defined(VM_MEMORY_JAVASCRIPT_JIT_EXECUTABLE_ALLOCATOR)
+
+#if defined(VM_MEMORY_JAVASCRIPT_JIT_REGISTER_FILE)
+#define VM_TAG_FOR_REGISTERFILE_MEMORY VM_MAKE_TAG(VM_MEMORY_JAVASCRIPT_JIT_REGISTER_FILE)
+#else
#define VM_TAG_FOR_REGISTERFILE_MEMORY VM_MAKE_TAG(65)
-#endif // defined(VM_MEMORY_JAVASCRIPT_CORE) && defined(VM_MEMORY_JAVASCRIPT_JIT_REGISTER_FILE) && defined(VM_MEMORY_JAVASCRIPT_JIT_EXECUTABLE_ALLOCATOR) && defined(VM_MEMORY_JAVASCRIPT_JIT_EXECUTABLE_ALLOCATOR)
+#endif // defined(VM_MEMORY_JAVASCRIPT_JIT_REGISTER_FILE)
+
+#else // !defined(TARGETING_TIGER)
+
+// mmap on Tiger fails with tags that work on Leopard, so fall
+// back to Tiger-compatible tags (that also work on Leopard)
+// when targeting Tiger.
+#define VM_TAG_FOR_TCMALLOC_MEMORY -1
+#define VM_TAG_FOR_EXECUTABLEALLOCATOR_MEMORY -1
+#define VM_TAG_FOR_REGISTERFILE_MEMORY -1
+
+#endif // !defined(TARGETING_TIGER)
+
+// Tags for vm_map and vm_allocate work on both Tiger and Leopard.
+
+#if defined(VM_MEMORY_JAVASCRIPT_CORE)
+#define VM_TAG_FOR_COLLECTOR_MEMORY VM_MAKE_TAG(VM_MEMORY_JAVASCRIPT_CORE)
+#else
+#define VM_TAG_FOR_COLLECTOR_MEMORY VM_MAKE_TAG(63)
+#endif // defined(VM_MEMORY_JAVASCRIPT_CORE)
#if defined(VM_MEMORY_WEBCORE_PURGEABLE_BUFFERS)
#define VM_TAG_FOR_WEBCORE_PURGEABLE_MEMORY VM_MAKE_TAG(VM_MEMORY_WEBCORE_PURGEABLE_BUFFERS)
@@ -54,7 +77,7 @@
#define VM_TAG_FOR_WEBCORE_PURGEABLE_MEMORY VM_MAKE_TAG(69)
#endif // defined(VM_MEMORY_WEBCORE_PURGEABLE_BUFFERS)
-#else // OS(DARWIN) && !defined(BUILDING_ON_TIGER)
+#else // OS(DARWIN)
#define VM_TAG_FOR_TCMALLOC_MEMORY -1
#define VM_TAG_FOR_COLLECTOR_MEMORY -1
@@ -62,6 +85,6 @@
#define VM_TAG_FOR_REGISTERFILE_MEMORY -1
#define VM_TAG_FOR_WEBCORE_PURGEABLE_MEMORY -1
-#endif // OS(DARWIN) && !defined(BUILDING_ON_TIGER)
+#endif // OS(DARWIN)
#endif // VMTags_h
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h
index 6f55e53..e495067 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h
@@ -939,7 +939,7 @@ namespace WTF {
return;
}
-#if COMPILER(MSVC7)
+#if COMPILER(MSVC7_OR_LOWER)
// FIXME: MSVC7 generates compilation errors when trying to assign
// a pointer to a Vector of its base class (i.e. can't downcast). So far
// I've been unable to determine any logical reason for this, so I can
diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION
new file mode 100644
index 0000000..23cae67
--- /dev/null
+++ b/src/3rdparty/webkit/VERSION
@@ -0,0 +1,7 @@
+This is a snapshot of the Qt port of WebKit from
+
+ git://gitorious.org/qtwebkit/qtwebkit.git
+
+and has the sha1 checksum
+
+ 540ae4ccd25609e1bfe1673195ce126255e36774
diff --git a/src/3rdparty/webkit/WebCore/ChangeLog b/src/3rdparty/webkit/WebCore/ChangeLog
index f52872c..b8825bd 100644
--- a/src/3rdparty/webkit/WebCore/ChangeLog
+++ b/src/3rdparty/webkit/WebCore/ChangeLog
@@ -1,3 +1,810 @@
+2010-03-27 Robert Hogan <robert@webkit.org>
+
+ Reviewed by nobody, fix typo in previous commit.
+
+ Allow plugins implemented by the application, such as mimetype 'x-qt-plugin',
+ when pluginsEnabled is false
+
+ Fix parentheses typo in r56661. This happened while rebasing and was not present
+ in the reviewed patch, so committing unreviewed.
+
+ https://bugs.webkit.org/attachment.cgi?id=49515
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::requestObject):
+
+2010-03-26 Robert Hogan <robert@roberthogan.net>
+
+ Reviewed by Simon Hausmann.
+
+ Allow plugins implemented by the application, such as mimetype 'x-qt-plugin',
+ when pluginsEnabled is false.
+
+ The purpose of disabling plugins is to prevent the execution of third-party code
+ that may be untrustworthy. Qt plugins are implemented by the client rather than
+ loaded from an external source, so the client should have the opportunity to
+ consider them separately from other plugins.
+
+ Add a function MimeTypeRegistry::isApplicationPluginMIMEType() that WebKit
+ uses in conjunction with arePluginsEnabled() to determine if it should attempt
+ to load a plugin. If isApplicationPluginMIMEType() returns true, WebKit will load
+ the plugin even if arePluginsEnabled() is false.
+
+ Currently, only Qt has application-implemented plugins: these use the mimetype
+ 'x-qt-plugin' and 'x-qt-styled-widget'. This patch permits Qt clients'
+ reimplementation of QWebPage::createPlugin() to decide whether or not
+ to create a Qt plugin, even when arePluginsEnabled is false.
+
+ For all platforms apart from Qt, isApplicationPluginMIMEType() returns false.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32196
+
+ Test: plugins/application-plugin-plugins-disabled.html
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::requestObject):
+ * platform/MIMETypeRegistry.h:
+ * platform/brew/MIMETypeRegistryBrew.cpp:
+ (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
+ * platform/chromium/MIMETypeRegistryChromium.cpp:
+ (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
+ * platform/gtk/MIMETypeRegistryGtk.cpp:
+ (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
+ * platform/haiku/MIMETypeRegistryHaiku.cpp:
+ (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
+ * platform/mac/MIMETypeRegistryMac.mm:
+ (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
+ * platform/qt/MIMETypeRegistryQt.cpp:
+ (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
+ * platform/win/MIMETypeRegistryWin.cpp:
+ (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
+ * platform/wince/MIMETypeRegistryWince.cpp:
+ (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
+ * platform/wx/MimeTypeRegistryWx.cpp:
+ (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
+
+2010-04-29 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] GraphicsLayer: flicker when starting an animation before the previous one ended.
+ https://bugs.webkit.org/show_bug.cgi?id=38076
+
+ This was due to the cude in the removeAnimations functions, which called deleteLater() without stopping the
+ animation synchronously. The delay between the call to that function and the actual call to the animation's destructor
+ is when the flicker occured. We fix this by calling stop() synchronously, and making sure that the value is reverted
+ upon stop (updateState) and not upon the object's destruction.
+
+ http://staff.washington.edu/fmf/2009/03/25/iphone-3d-css-transformations/ now doesn't flicker when
+ the animation is toggled frequently.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::TransformAnimationQt::~TransformAnimationQt):
+ (WebCore::TransformAnimationQt::applyFrame):
+ (WebCore::TransformAnimationQt::updateState):
+ (WebCore::OpacityAnimationQt::~OpacityAnimationQt):
+ (WebCore::OpacityAnimationQt::updateState):
+ (WebCore::GraphicsLayerQt::removeAnimationsForProperty):
+ (WebCore::GraphicsLayerQt::removeAnimationsForKeyframes):
+
+2010-04-29 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Reverse animations don't work in some use cases
+ https://bugs.webkit.org/show_bug.cgi?id=38075
+
+ This was due to a code path special-casing reverse animations, that became obselete when we aligned our animation code
+ with the CA implementation. That special case code path is now a bug - and this patch removes it.
+
+ http://staff.washington.edu/fmf/2009/03/25/iphone-3d-css-transformations/ now runs the reverse
+ animation correctly.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::TransformAnimationQt::applyFrame):
+
+2010-04-29 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Speed up text layouting
+ https://bugs.webkit.org/show_bug.cgi?id=31719
+
+ Use QFontMetrics::width() for the text width calculation instead
+ of QTextLayout. This avoids expensive bearing calculations and the
+ line breaking code.
+
+ * platform/graphics/qt/FontQt.cpp:
+ (WebCore::Font::floatWidthForComplexText):
+
+2010-04-29 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] REGRESSION(r57638): tst_qwebframe::objectDeleted() fails
+ https://bugs.webkit.org/show_bug.cgi?id=38316
+
+ Accessing properties of a deleted objects doesn't throw an exception
+ anymore.
+
+ Continue to expose the QObject class wrapper for objects that
+ previously existed but don't exist anymore. QtClass is safe to
+ use with a deleted QObject.
+
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtInstance::getClass): Return null only if m_class
+ doesn't exist yet and there's no m_object.
+
+2010-04-28 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] GraphicsLayer: preserves-3d and backface visibility
+ https://bugs.webkit.org/show_bug.cgi?id=35312
+
+ Implement preserves-3d by maintaining the 3D transformation heirarchy inside GraphicsLayerQt, and extrapolating
+ the relative QTransform. When the extrapolation fails (un-invertible matrix) we ignore the transformation change.
+
+ WebKitSite/blog-files/3d-transforms test now work with Qt.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::GraphicsLayerQtImpl::updateTransform):
+ (WebCore::GraphicsLayerQtImpl::opaqueArea):
+ (WebCore::GraphicsLayerQtImpl::boundingRect):
+ (WebCore::GraphicsLayerQtImpl::paint):
+ (WebCore::GraphicsLayerQtImpl::flushChanges):
+
+2010-04-28 Justin McPherson <justin.mcpherson@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix detection of Qt 4.7's multimedia libraries
+
+ QtMultimedia has been split into an additional media services library, which
+ we're using. mediaservices depends on multimedia.
+
+ * WebCore.pro:
+
+2010-04-26 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Fix compilation against Qt 4.7
+
+ Some QtMultimedia things have been moved into QtMediaServices
+ https://bugs.webkit.org/show_bug.cgi?id=38111
+
+ * WebCore.pro:
+ * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
+ (WebCore::MediaPlayerPrivate::supportsType):
+ (WebCore::MediaPlayerPrivate::totalBytes):
+
+2010-04-21 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Make sure WebKit is not compiled using C++0x.
+ https://bugs.webkit.org/show_bug.cgi?id=37867
+
+ As the rest of Qt compiles in the C++0x mode, people might start
+ compiling it in this mode. WebKit don't support this yet.
+
+ Patch by Thiago Macieira <thiago.macieira@nokia.com>
+
+ * WebCore.pro:
+
+2010-04-22 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Hide the OpenGL and QtMultimedia dependencies from syncqt.
+
+ This prevents the dependent headers from being included by
+ qt/include/QtWebKit/QtWebKit
+
+ * WebCore.pro:
+
+2010-04-27 Thomas Zander <t.zander@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix linking on Symbian on Linux using the Makefile based mkspec.
+
+ Disable thumb mode due to library size limitations, just like it's done
+ for the sbs/sbsv2 based build system.
+
+ * WebCore.pro:
+
+2010-04-26 Ruben Van Boxem <vanboxem.ruben@gmail.com>
+
+ Reviewed by Adam Roben.
+
+ Fixes for Win64 compilation under gcc (mingw-w64)
+
+ * WebCore/bridge/npapi.h: for win64 compatibility, mirroring mozilla-central, see Mozilla bug 560298
+ * WebCore/platform/Arena.h: uword is used to cast from pointers here. unsigned long is 32-bit on Windows (but 64-bit on mac), and too small to hold a pointer. uintptr_t is 32-bit on 32-bit systems (mac, linux and windows) and 64-bit on all 64-bit systems
+ * WebCore/platform/graphics/transforms/TransformationMatrix.h: let mingw-w64/w32 use MSVC codepath
+ * WebCore/platform/text/TextStream.cpp: let mingw-w64 use MSVC codepath
+ * WebCore/platform/text/TextStream.h: let mingw-w64 use MSVC codepath
+ * WebCore/plugins/PluginView.cpp: fix pointer casts on WIN64 and let mingw-w64 use MSVC codepath
+ * WebCore/plugins/win/PluginViewWin.cpp: fix pointer casts on WIN64
+
+2010-01-07 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by NOBODY (OOPS!).
+
+ [RVCT] ACID3 test crash
+ https://bugs.webkit.org/show_bug.cgi?id=33280
+
+ Workaround developed by Yongjun Zhang.
+
+ * dom/Element.cpp:
+ (WebCore::Element::setAttribute):
+
+2010-04-26 Markus Goetz <Markus.Goetz@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] HTTP pipelining efficiency increase
+ https://bugs.webkit.org/show_bug.cgi?id=38062
+
+ Increase number of network requests that are fed into
+ QNetworkAccessManager.
+
+ * platform/network/qt/ResourceRequestQt.cpp:
+ (WebCore::initializeMaximumHTTPConnectionCountPerHost):
+
+2010-04-26 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Fix compilation with RVCT 4
+ https://bugs.webkit.org/show_bug.cgi?id=37727
+
+ Swap extern and declspec to fix visibility of symbol imported from QtGui.
+
+ * page/qt/EventHandlerQt.cpp:
+
+2010-04-26 Bruno Schmidt <bruno.schmidt@gmail.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Exposing an QVariantMap containing QObjectStar to Javascript
+ causes Segmentation Fault
+ https://bugs.webkit.org/show_bug.cgi?id=34729
+
+ If an QVariantMap containing QObjectStar is added to the to QtWebkit
+ Javascript, it's use causes Segmentation Fault.
+ It happens because, in the case QMetaType::QVariantMap, the "root"
+ object that is inside of a PassRefPtr is passed recursively inside a
+ loop to recover the content of the map, but the PassRefPtr semantics
+ prohibit its use inside a loop, so the "root" object mus be passed
+ using the method "PassRefPtr::get" in order to keep the current
+ reference.
+
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::convertValueToQVariant):
+ (JSC::Bindings::convertQVariantToValue): change to root.get()
+
+2010-04-22 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Fix the MSVC 64bit build.
+ https://bugs.webkit.org/show_bug.cgi?id=37980
+
+ * platform/text/TextStream.cpp:
+ * platform/text/TextStream.h:
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::platformStart):
+
+2010-04-22 Ray Rischpater <Raymond.Rischpater@Nokia.com>
+
+ Reviewed by Darin Adler.
+
+ In HTMLInputElement.cpp, shouldUseInputMethod does not return true for
+ some text input types (TELEPHONE, NUMBER, URL, and EMAIL). Addressed
+ this by changing shouldUseInputMethod to use internal methods to
+ check that the field is a text field that isn't a password field.
+
+ No new tests.
+
+ Fixes <https://bugs.webkit.org/show_bug.cgi?id=37719>
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::shouldUseInputMethod):
+
+2010-04-22 Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
+
+ Reviewed by Eric Seidel.
+
+ Fix build if NPAPI support is disabled
+ https://bugs.webkit.org/show_bug.cgi?id=36621
+
+ No new tests, this is a build fix.
+ Re-submit r58043 with fix for EFL.
+
+ * plugins/PluginViewNone.cpp:
+
+2010-03-25 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Fix build if NPAPI support is disabled
+ https://bugs.webkit.org/show_bug.cgi?id=36621
+
+ No new tests, this is a build fix.
+
+ * plugins/PluginView.cpp: Guard getValueStatic() with
+ NETSCAPE_PLUGIN_API
+ (WebCore::PluginView::getValue):
+ * plugins/PluginView.h: Guard getValue() with NETSCAPE_PLUGIN_API
+ * plugins/PluginViewNone.cpp: Guard platformGetValue() and
+ platformGetValueStatic with NETSCAPE_PLUGIN_API;
+ Guard privateBrowsingStateChanged() and setJavaScriptPaused() with
+ PLATFORM(MAC)
+
+2010-04-14 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Repaint of fixed, transformed element is broken
+ https://bugs.webkit.org/show_bug.cgi?id=37637
+
+ RenderBox::computeRectForRepaint() failed to set the 'fixed' flag correctly
+ for elements that had both fixed position and a transform. If the element has
+ a transform, 'fixed' should only remain true if the element itself is fixed
+ position.
+
+ Also cache style()->position() in a local variable for performance.
+
+ Test: fast/repaint/fixed-tranformed.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::computeRectForRepaint):
+
+2010-04-19 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Spatial Navigation: at @updateFocusCandidateIfCloser make an assignment shortcut when FocusCandidate is null
+ https://bugs.webkit.org/show_bug.cgi?id=37802
+
+ In updateFocusCandidateIfCloser method, we do all bail out checks in the begining of
+ the method body. If after those bail out checks, no "best FocusCandidate" has been taken
+ yet (i.e. focusCandidate.isNull() == true), we can safely take the current candidate,
+ and exit earlier.
+
+ No behavior change, it is just a safe assignment shortcut.
+
+ * page/FocusController.cpp:
+ (WebCore::updateFocusCandidateIfCloser):
+
+2010-04-21 No'am Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Simon Fraser.
+
+ [Qt] Fix or remove the runtime flag for accelerated compositing.
+
+ This adds a way for a chrome client to disallow layers from becoming composited,
+ even if the settings enable accelerated compositing. This is necessary for platforms
+ where different views can be applied with the same settings to the same page.
+
+ We enable an API through ChromeClient to ask the chrome-client whether or not
+ it can render composited layers, which is taken into account when the compositor
+ decides whether or not to start compositing.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37313
+
+ Pages under LayoutTests/compositing now work under QWebView, even when
+ QWebSettings::AcceleratedCompositingEnabled is on.
+
+ * page/ChromeClient.h:
+ (WebCore::ChromeClient::allowsAcceleratedCompositing):
+ * platform/qt/QWebPageClient.h:
+ (QWebPageClient::allowsAcceleratedCompositing):
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::canBeComposited):
+
+2010-04-23 No'am Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] [Performance] GraphicsLayer: constructing the layers takes too long
+ https://bugs.webkit.org/show_bug.cgi?id=36365
+
+ The issue came from using QGraphicsView's cache as is. The problem is that
+ several code-paths require re-rendering of the item, but not re-rendering
+ of the web content into the cache.
+
+ The way to solve it is by having GraphicsLayerQt manage the cache directly
+ via QPixmapCache, instead of using QGraphicsItem cache modes.
+
+ FPS measurement shows significant improvement (20FPS before, 40FPS after)
+ on several use-cases, including blog-files/leaves on a desktop environment.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
+ (WebCore::GraphicsLayerQtImpl::recache):
+ (WebCore::GraphicsLayerQtImpl::paint):
+ (WebCore::GraphicsLayerQtImpl::flushChanges):
+
+2010-04-21 Benjamin Poulain <ikipou@gmail.com>
+
+ Reviewed by Simon Fraser.
+
+ Update of fixed elements is not made correctly when the page has been scrolled
+ https://bugs.webkit.org/show_bug.cgi?id=36783
+
+ When a fixed element was updated, the old geometry was not repainted correctly
+ because the repaint rect was cached during the layout and not updated when
+ scrolling.
+
+ The rect is now updated while scrolling so the region updated correspond to the
+ region of the element on the screen.
+
+ The method RenderLayer::updateRepaintRectsAfterScroll() updates
+ the repaint rect of all fixed tree after scroll.
+
+ Tests: fast/repaint/fixed-child-move-after-scroll.html
+ fast/repaint/fixed-child-of-fixed-move-after-scroll.html
+ fast/repaint/fixed-child-of-transformed-move-after-scroll.html
+ fast/repaint/fixed-move-after-scroll.html
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::scrollPositionChanged):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateRepaintRectsAfterScroll):
+ * rendering/RenderLayer.h:
+
+2010-04-21 David Leong <david.leong@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Symbian apps crash on exit due to a bad qObject_cast.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37303
+
+ Added check for NULL to avoid the crash. Reworked to fix memory leak
+
+ * plugins/symbian/PluginViewSymbian.cpp:
+ (WebCore::PluginView::platformDestroy):
+
+2010-04-14 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Spatial Navigation: make hasOffscreenRect() to earlier return 'true' if absoluteClippedOverflowRect() gives an empty rect
+ https://bugs.webkit.org/show_bug.cgi?id=37635
+
+ absoluteClippedOverflowRect method of RenderObject does return an empty IntRect for offscreen nodes.
+ So hasOffscreenRect method (SpatialNavigation.cpp) can safily bail out earlier in such cases.
+
+ * page/SpatialNavigation.cpp:
+ (WebCore::hasOffscreenRect):
+
+2010-04-12 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Spatial Navigation: make renderRectRelativeToRootDocument method to fallback to getRect() of Element when needed
+ https://bugs.webkit.org/show_bug.cgi?id=37461
+
+ getRect() of Element can be used instead of absoluteClippedOverflowRect of RenderObject when
+ the node is currently offscreen in an scroll overflowed content.
+
+ Test: fast/events/spatial-navigation/snav-simple-content-overflow.html
+
+ * page/SpatialNavigation.cpp:
+ (WebCore::renderRectRelativeToRootDocument):
+
+2010-03-29 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Spatial Navigation: proper handle negative x or y coordinates
+ https://bugs.webkit.org/show_bug.cgi?id=36773
+
+ In Spatial Navigation logic, during rect acquisition in renderRectRelativeToRootDocument,
+ sometimes negative x() or y() values are got, and the current algorithm bails out in
+ any of such cases.
+
+ However, when a node is in a scrollable content (content overflow <div>) and
+ this scrollable container scrolled up, element gets offscreen, and gets negative values
+ for y(), for example. In such cases, they are still valid to be used in Spatial Navigation
+ logic.
+
+ Test: fast/events/spatial-navigation/snav-offscreen-content.html
+
+ * page/SpatialNavigation.cpp:
+ (WebCore::distanceDataForNode):
+ (WebCore::checkNegativeCoordsForNode):
+
+2010-04-05 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Kenneth Christiansen.
+
+ Spatial Navigation: bail out as soon as algorithm finds a focus candidate is not applicable
+ https://bugs.webkit.org/show_bug.cgi?id=37135
+
+ It happens, for example, when distanceDataForNode assigns numeric_limits<long long> to
+ current focus candidate's. It means that current candidate is not in direction, or not
+ a valid target node.
+
+ * page/FocusController.cpp:
+ (WebCore::FocusController::findFocusableNodeInDirection):
+
+2010-03-29 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Simon Fraser.
+ Patch by Antonio Gomes <tonikitoo@webkit.org>
+
+ Spatial Navigation: Initial code simplification in FocusController.cpp and SpatialNavigation.cpp
+
+ WebCore::distanceInDirection method was handling much of the logic not
+ strictly only related to the distance between nodes acquisition. This
+ method was simplified and renamed to 'WebCore::distanceDataForNode'.
+ The latter is now responsible for only getting the distance and alignment
+ data, while all assignement logic previously in distanceInDirection method
+ was moved place to updateFocusCandidateIfCloser.
+
+ Parent document distance and alignment acquisitions, in turn, have also
+ changed location: they are both got from deepFindFocusableNodeInDirection,
+ and passed in a recursive call to findFocusableNodeInDirection via the
+ candidateParent variable (optional parameter). In addition, the need for
+ the 'focusCandidateCopy' variable in deepFindFocusableNodeInDirection method
+ was removed, making the code much cleaner.
+
+ No behaviour change at this point. Mostly moving code around to the place
+ where it should live in.
+
+ * page/FocusController.cpp:
+ (WebCore::FocusController::advanceFocusDirectionally):
+ (WebCore::updateFocusCandidateIfCloser):
+ (WebCore::FocusController::findFocusableNodeInDirection):
+ (WebCore::FocusController::deepFindFocusableNodeInDirection):
+ * page/FocusController.h:
+ * page/SpatialNavigation.cpp:
+ (WebCore::distanceDataForNode):
+ (WebCore::renderRectRelativeToRootDocument):
+ * page/SpatialNavigation.h:
+
+2010-04-20 No'am Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] GraphicsLayer: support fill-modes
+ https://bugs.webkit.org/show_bug.cgi?id=36216
+ Implement the CSS-animation "fill mode" concept in GraphicsLayerQt. The concept
+ enables a key-frame animation to go to the animation's starting point before the delay,
+ and/or to stay at the animation's ending point after its ended, without reverting to the default
+ value.
+ We do that by manually setting the value to keyframe-0 before the delay if fill-mode is backwards/both,
+ and manually modifying the default value to the animated value as we animate, with fill-mode forwards/both.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::AnimationQtBase::AnimationQtBase):
+ (WebCore::TransformAnimationQt::~TransformAnimationQt):
+ (WebCore::TransformAnimationQt::applyFrame):
+ (WebCore::GraphicsLayerQt::addAnimation):
+
+2010-04-13 Eskil Blomfeldt <eblomfel@trolltech.com>, Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Use integer pixel metric QFont API to fix rounding errors in text rendering on the Mac
+ https://bugs.webkit.org/show_bug.cgi?id=36532
+
+ * platform/graphics/qt/FontQt.cpp:
+ (WebCore::Font::floatWidthForComplexText):
+ (WebCore::Font::font):
+
+2010-04-16 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Adam Treat.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36312
+
+ Adds support for the viewport meta tag. The code is largely derived in whole
+ or in part from the WebCore-528.15 source published as part of the iPhone 3.1.3
+ source code <http://www.opensource.apple.com/source/WebCore/WebCore-528.15/>.
+
+ * Android.mk: Added file ViewportArguments.cpp.
+ * GNUmakefile.am: Added files ViewportArguments.cpp and ViewportArguments.h.
+ * WebCore.gypi: Ditto.
+ * WebCore.pro: Ditto.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * dom/Document.cpp:
+ (WebCore::isSeparator): Added.
+ (WebCore::Document::processArguments): Added.
+ (WebCore::Document::processViewport): Added.
+ * dom/Document.h:
+ * dom/ViewportArguments.cpp: Added.
+ (WebCore::setViewportFeature):
+ (WebCore::viewportErrorMessageTemplate):
+ (WebCore::viewportErrorMessageLevel):
+ (WebCore::reportViewportWarning):
+ * dom/ViewportArguments.h: Added.
+ (WebCore::):
+ (WebCore::ViewportArguments::):
+ (WebCore::ViewportArguments::ViewportArguments):
+ (WebCore::ViewportArguments::hasCustomArgument):
+ * html/HTMLMetaElement.cpp:
+ (WebCore::HTMLMetaElement::process): Modified to call Document::processViewport.
+ * page/ChromeClient.h:
+ (WebCore::ChromeClient::didReceiveViewportArguments): Added.
+
+2010-04-15 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Antti Koivisto.
+
+ No default selection for <select multiple> menu lists.
+ https://bugs.webkit.org/show_bug.cgi?id=37530
+
+ Manual test: manual-tests/no-listbox-rendering.html
+
+ For menu lists, if the selection is not indicated by the html file, the first <option> will be
+ selected after loading the page or reseting the form. On the other hand listboxes may have no
+ element selected after loading the page or reseting the form.
+
+ When NO_LISTBOX_RENDERING is enabled listboxes becomes menu lists. Those <select multiple>
+ that did not have selected elements, now being menu lists, will have the first <option>
+ selected. That is the behavior difference that this patch corrects.
+
+ When NO_LISTBOX_RENDERING is enabled usesMenuList() always returns true then usesMenuList() cannot
+ be used to decide about initial selection of the elements. This patch replaces (usesMenuLists())
+ by (!multiple && size <= 1) where initial selection is considered.
+
+ * dom/SelectElement.cpp:
+ (WebCore::SelectElement::recalcListItems):
+ (WebCore::SelectElement::reset):
+ * manual-tests/no-listbox-rendering.html: Added.
+
+2010-04-19 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Destroy SharedTimerQt before destruction of QCoreApplication.
+
+ To avoid unsafe situations caused by running WebCore code (through firing timers) when destruction of QCoreApplication
+ has been started, we should explicitly destroy the SharedTimerQt instance on application exit.
+ We can achieve that through installing a self-destroying slot for the QCoreApplication::aboutToQuit() signal
+ into the SharedTimerQt instance.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36832
+
+ No functional change so no new tests.
+
+ * platform/qt/SharedTimerQt.cpp:
+ (WebCore::SharedTimerQt::SharedTimerQt):
+ (WebCore::SharedTimerQt::destroy):
+ (WebCore::SharedTimerQt::inst):
+
+2010-04-16 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Make GraphicsLayerQt always use ItemCoordinateCache, and remove ItemUsesExtendedStyleOption.
+ This aligns our implementation with the Safari implementation - layers are always uploaded
+ to textures in item units, and WebCore is responsible for the heuristics.
+
+ [Qt] GraphicsLayer: performance optimizations
+ https://bugs.webkit.org/show_bug.cgi?id=35393
+
+ No new tests. Still no FPS benchmarks available (on any platform)
+ but animations are noticably better.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
+ (WebCore::GraphicsLayerQtImpl::paint):
+ (WebCore::GraphicsLayerQtImpl::flushChanges):
+ (WebCore::TransformAnimationQt::updateState):
+
+2010-04-16 Antonio Gomes <tonikitoo@webkit.org>
+
+ Unreviewed QtWebKit (with Qt 4.7) build fix.
+
+ Bug 37683 moved code from FontQt.cpp to FontPlatformDataQt.cpp but did not
+ renamed the variable used.
+
+ * platform/graphics/qt/FontPlatformDataQt.cpp:
+ (WebCore::FontPlatformData::FontPlatformData):
+
+2010-04-16 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] WebCore::Font::font() causes a QFont detach
+ https://bugs.webkit.org/show_bug.cgi?id=37683
+
+ Moved the setStyleStrategy call to FontPlatformData
+ to avoid the detach.
+
+ Thanks to Holger for spotting this.
+
+ * platform/graphics/qt/FontPlatformDataQt.cpp:
+ (WebCore::FontPlatformData::FontPlatformData):
+ * platform/graphics/qt/FontQt.cpp:
+ (WebCore::Font::font):
+
+2010-04-16 No'am Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt]QtLauncher crash on page with CSS 3D transform
+ https://bugs.webkit.org/show_bug.cgi?id=36859
+
+ Added a neccessary null-pointer check, lack of which created the crash circumstances.
+
+ Tested by http://css-vfx.googlecode.com/svn/trunk/snowstack/snowstack.html
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::GraphicsLayerQtImpl::flushChanges):
+
+2010-04-18 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] Fix JavaScriptCore's include path for WinCE builds
+
+ https://bugs.webkit.org/show_bug.cgi?id=36751
+
+ * WebCore.pro:
+
+2010-04-19 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix compilation against namespaced Qt.
+
+ * platform/graphics/GraphicsLayer.h:
+ * platform/graphics/Tile.h:
+ * platform/graphics/qt/MediaPlayerPrivateQt.h:
+ * platform/network/qt/NetworkStateNotifierPrivate.h:
+
+2010-04-14 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Changing view mode names due to specification changes
+ https://bugs.webkit.org/show_bug.cgi?id=37615
+
+ test: fast/media/media-feature-wgt-view-mode.html
+
+ specification: http://dev.w3.org/2006/waf/widgets-vmmf/
+
+ * css/MediaQueryEvaluator.cpp:
+ (WebCore::view_modeMediaFeatureEval):
+ * page/ChromeClient.h:
+ (WebCore::ChromeClient::isWindowed):
+ (WebCore::ChromeClient::isMaximized):
+ (WebCore::ChromeClient::isMinimized):
+
+2010-04-15 Bruno Schmidt <bruno.schmidt@gmail.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Null QObjects properties cause Segmentation Fault
+ https://bugs.webkit.org/show_bug.cgi?id=34730
+
+ QObjects exported to the QWebkit javascript with properties that are
+ a null "QObject*" cause Segmentation Fault.
+
+ If an QObject is added to the javascript context and it contains
+ properties of the type QObject* with NULL value, calling the property
+ causes Segmentation Fault.
+ So now the code below properly checks for null pointers:
+
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtInstance::getClass): may return NULL
+ (JSC::Bindings::QtInstance::getMethod): may return jsNull()
+ (JSC::Bindings::QtInstance::stringValue): may return jsNull()
+ (JSC::Bindings::QtInstance::booleanValue): may return false
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::convertValueToQVariant):
+ (JSC::Bindings::convertQVariantToValue): May return jsNull on QObjectStar
+
2010-04-09 Kenneth Rohde Christiansen <kenneth@webkit.org>
Reviewed by Simon Fraser.
diff --git a/src/3rdparty/webkit/WebCore/WebCore.gypi b/src/3rdparty/webkit/WebCore/WebCore.gypi
index 9746b46..caa79f2 100644
--- a/src/3rdparty/webkit/WebCore/WebCore.gypi
+++ b/src/3rdparty/webkit/WebCore/WebCore.gypi
@@ -1226,6 +1226,8 @@
'dom/UIEvent.h',
'dom/UIEventWithKeyState.cpp',
'dom/UIEventWithKeyState.h',
+ 'dom/ViewportArguments.cpp',
+ 'dom/ViewportArguments.h',
'dom/WebKitAnimationEvent.cpp',
'dom/WebKitAnimationEvent.h',
'dom/WebKitTransitionEvent.cpp',
diff --git a/src/3rdparty/webkit/WebCore/WebCore.pro b/src/3rdparty/webkit/WebCore/WebCore.pro
index 3dfe803..2a64982 100644
--- a/src/3rdparty/webkit/WebCore/WebCore.pro
+++ b/src/3rdparty/webkit/WebCore/WebCore.pro
@@ -35,13 +35,13 @@ symbian: {
# Move RW-section base address to start from 0xE00000 instead of the toolchain default 0x400000.
QMAKE_LFLAGS.ARMCC += --rw-base 0xE00000
MMP_RULES += ALWAYS_BUILD_AS_ARM
- } else {
+ } else {
QMAKE_CFLAGS -= --thumb
QMAKE_CXXFLAGS -= --thumb
}
+ CONFIG(release, debug|release): QMAKE_CXXFLAGS.ARMCC += -OTime -O3
}
-
isEmpty(OUTPUT_DIR): OUTPUT_DIR = ..
include($$PWD/../WebKit.pri)
@@ -530,6 +530,7 @@ SOURCES += \
dom/TreeWalker.cpp \
dom/UIEvent.cpp \
dom/UIEventWithKeyState.cpp \
+ dom/ViewportArguments.cpp \
dom/WebKitAnimationEvent.cpp \
dom/WebKitTransitionEvent.cpp \
dom/WheelEvent.cpp \
@@ -1241,6 +1242,7 @@ HEADERS += \
dom/TreeWalker.h \
dom/UIEvent.h \
dom/UIEventWithKeyState.h \
+ dom/ViewportArguments.h \
dom/WebKitAnimationEvent.h \
dom/WebKitTransitionEvent.h \
dom/WheelEvent.h \
@@ -2949,5 +2951,5 @@ symbian {
}
}
-# WebKit doesn't compile in C++0x mode
+# Disable C++0x mode in WebCore for those who enabled it in their Qt's mkspec
*-g++*:QMAKE_CXXFLAGS -= -std=c++0x -std=gnu++0x
diff --git a/src/3rdparty/webkit/WebCore/bridge/npapi.h b/src/3rdparty/webkit/WebCore/bridge/npapi.h
index 4a8492e..533fcba 100644
--- a/src/3rdparty/webkit/WebCore/bridge/npapi.h
+++ b/src/3rdparty/webkit/WebCore/bridge/npapi.h
@@ -590,8 +590,8 @@ typedef QEvent NPEvent;
typedef struct _NPEvent
{
uint16 event;
- uint32 wParam;
- uint32 lParam;
+ uintptr_t wParam;
+ uintptr_t lParam;
} NPEvent;
#elif defined (XP_UNIX)
typedef XEvent NPEvent;
diff --git a/src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.cpp b/src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.cpp
index dc6df14..f6f368b 100644
--- a/src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.cpp
@@ -171,8 +171,11 @@ QtInstance* QtInstance::getInstance(JSObject* object)
Class* QtInstance::getClass() const
{
- if (!m_class)
+ if (!m_class) {
+ if (!m_object)
+ return 0;
m_class = QtClass::classForObject(m_object);
+ }
return m_class;
}
@@ -238,7 +241,9 @@ void QtInstance::getPropertyNames(ExecState* exec, PropertyNameArray& array)
JSValue QtInstance::getMethod(ExecState* exec, const Identifier& propertyName)
{
- MethodList methodList = getClass()->methodsNamed(propertyName, this);
+ if (!getClass())
+ return jsNull();
+ MethodList methodList = m_class->methodsNamed(propertyName, this);
return new (exec) RuntimeMethod(exec, propertyName, methodList);
}
@@ -259,12 +264,15 @@ JSValue QtInstance::defaultValue(ExecState* exec, PreferredPrimitiveType hint) c
JSValue QtInstance::stringValue(ExecState* exec) const
{
+ QObject* obj = getObject();
+ if (!obj)
+ return jsNull();
+
// Hmm.. see if there is a toString defined
QByteArray buf;
bool useDefault = true;
getClass();
- QObject* obj = getObject();
- if (m_class && obj) {
+ if (m_class) {
// Cheat and don't use the full name resolution
int index = obj->metaObject()->indexOfMethod("toString()");
if (index >= 0) {
@@ -309,7 +317,7 @@ JSValue QtInstance::numberValue(ExecState* exec) const
JSValue QtInstance::booleanValue() const
{
// ECMA 9.2
- return jsBoolean(true);
+ return jsBoolean(getObject());
}
JSValue QtInstance::valueOf(ExecState* exec) const
diff --git a/src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp b/src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp
index 3bd5190..1775815 100644
--- a/src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp
@@ -332,7 +332,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type
break;
}
- case QMetaType::QVariantMap:
+ case QMetaType::QVariantMap:
if (type == Object || type == Array || type == RTArray) {
// Enumerate the contents of the object
PropertyNameArray properties(exec);
@@ -871,6 +871,8 @@ JSValue convertQVariantToValue(ExecState* exec, PassRefPtr<RootObject> root, con
if (type == QMetaType::QObjectStar || type == QMetaType::QWidgetStar) {
QObject* obj = variant.value<QObject*>();
+ if (!obj)
+ return jsNull();
return QtInstance::getQtInstance(obj, root, QScriptEngine::QtOwnership)->createRuntimeObject(exec);
}
@@ -895,7 +897,7 @@ JSValue convertQVariantToValue(ExecState* exec, PassRefPtr<RootObject> root, con
QVariantMap::const_iterator i = map.constBegin();
while (i != map.constEnd()) {
QString s = i.key();
- JSValue val = convertQVariantToValue(exec, root, i.value());
+ JSValue val = convertQVariantToValue(exec, root.get(), i.value());
if (val) {
PutPropertySlot slot;
ret->put(exec, Identifier(exec, (const UChar *)s.constData(), s.length()), val, slot);
diff --git a/src/3rdparty/webkit/WebCore/css/MediaQueryEvaluator.cpp b/src/3rdparty/webkit/WebCore/css/MediaQueryEvaluator.cpp
index 4fda075..ded40b5 100644
--- a/src/3rdparty/webkit/WebCore/css/MediaQueryEvaluator.cpp
+++ b/src/3rdparty/webkit/WebCore/css/MediaQueryEvaluator.cpp
@@ -501,14 +501,16 @@ static bool view_modeMediaFeatureEval(CSSValue* value, RenderStyle*, Frame* fram
if (value) {
String mode = static_cast<CSSPrimitiveValue*>(value)->getStringValue();
if (ChromeClient* client = frame->page()->chrome()->client()) {
- if (mode == "mini" && client->isDocked())
+ if (mode == "windowed" && client->isWindowed())
return true;
if (mode == "floating" && client->isFloating())
return true;
- if (mode == "application" && client->isApplication())
- return true;
if (mode == "fullscreen" && client->isFullscreen())
return true;
+ if (mode == "maximized" && client->isMaximized())
+ return true;
+ if (mode == "minimized" && client->isMinimized())
+ return true;
return false;
}
}
diff --git a/src/3rdparty/webkit/WebCore/dom/Document.cpp b/src/3rdparty/webkit/WebCore/dom/Document.cpp
index aedba0d..545819d 100644
--- a/src/3rdparty/webkit/WebCore/dom/Document.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/Document.cpp
@@ -127,6 +127,7 @@
#include "TreeWalker.h"
#include "UIEvent.h"
#include "UserContentURLPattern.h"
+#include "ViewportArguments.h"
#include "WebKitAnimationEvent.h"
#include "WebKitTransitionEvent.h"
#include "WheelEvent.h"
@@ -2282,6 +2283,78 @@ void Document::processHttpEquiv(const String& equiv, const String& content)
}
}
+// Though isspace() considers \t and \v to be whitespace, Win IE doesn't.
+static bool isSeparator(UChar c)
+{
+ return c == ' ' || c == '\t' || c == '\n' || c == '\r' || c == '=' || c == ',' || c == '\0';
+}
+
+void Document::processArguments(const String& features, void* data, ArgumentsCallback callback)
+{
+ // Tread lightly in this code -- it was specifically designed to mimic Win IE's parsing behavior.
+ int keyBegin, keyEnd;
+ int valueBegin, valueEnd;
+
+ int i = 0;
+ int length = features.length();
+ String buffer = features.lower();
+ while (i < length) {
+ // skip to first non-separator, but don't skip past the end of the string
+ while (isSeparator(buffer[i])) {
+ if (i >= length)
+ break;
+ i++;
+ }
+ keyBegin = i;
+
+ // skip to first separator
+ while (!isSeparator(buffer[i]))
+ i++;
+ keyEnd = i;
+
+ // skip to first '=', but don't skip past a ',' or the end of the string
+ while (buffer[i] != '=') {
+ if (buffer[i] == ',' || i >= length)
+ break;
+ i++;
+ }
+
+ // skip to first non-separator, but don't skip past a ',' or the end of the string
+ while (isSeparator(buffer[i])) {
+ if (buffer[i] == ',' || i >= length)
+ break;
+ i++;
+ }
+ valueBegin = i;
+
+ // skip to first separator
+ while (!isSeparator(buffer[i]))
+ i++;
+ valueEnd = i;
+
+ ASSERT(i <= length);
+
+ String keyString = buffer.substring(keyBegin, keyEnd - keyBegin);
+ String valueString = buffer.substring(valueBegin, valueEnd - valueBegin);
+ callback(keyString, valueString, this, data);
+ }
+}
+
+void Document::processViewport(const String& features)
+{
+ ASSERT(!features.isNull());
+
+ Frame* frame = this->frame();
+ if (!frame)
+ return;
+
+ ViewportArguments arguments;
+ processArguments(features, (void*)&arguments, &setViewportFeature);
+
+ if (frame->page())
+ frame->page()->chrome()->client()->didReceiveViewportArguments(frame, arguments);
+}
+
MouseEventWithHitTestResults Document::prepareMouseEvent(const HitTestRequest& request, const IntPoint& documentPoint, const PlatformMouseEvent& event)
{
ASSERT(!renderer() || renderer()->isRenderView());
diff --git a/src/3rdparty/webkit/WebCore/dom/Document.h b/src/3rdparty/webkit/WebCore/dom/Document.h
index cc3e559..44cdf0d 100644
--- a/src/3rdparty/webkit/WebCore/dom/Document.h
+++ b/src/3rdparty/webkit/WebCore/dom/Document.h
@@ -698,7 +698,8 @@ public:
* @param content The header value (value of the meta tag's "content" attribute)
*/
void processHttpEquiv(const String& equiv, const String& content);
-
+ void processViewport(const String& features);
+
// Returns the owning element in the parent document.
// Returns 0 if this is the top level document.
Element* ownerElement() const;
@@ -972,6 +973,10 @@ protected:
void clearXMLVersion() { m_xmlVersion = String(); }
private:
+
+ typedef void (*ArgumentsCallback)(const String& keyString, const String& valueString, Document*, void* data);
+ void processArguments(const String& features, void* data, ArgumentsCallback);
+
virtual bool isDocument() const { return true; }
virtual void removedLastRef();
virtual void determineParseMode() { }
diff --git a/src/3rdparty/webkit/WebCore/dom/Element.cpp b/src/3rdparty/webkit/WebCore/dom/Element.cpp
index 8711110..6bd512d 100644
--- a/src/3rdparty/webkit/WebCore/dom/Element.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/Element.cpp
@@ -561,7 +561,11 @@ void Element::setAttribute(const AtomicString& name, const AtomicString& value,
return;
}
+#if COMPILER(RVCT)
+ const AtomicString localName = shouldIgnoreAttributeCase(this) ? name.lower() : name;
+#else
const AtomicString& localName = shouldIgnoreAttributeCase(this) ? name.lower() : name;
+#endif
// allocate attributemap if necessary
Attribute* old = attributes(false)->getAttributeItem(localName, false);
diff --git a/src/3rdparty/webkit/WebCore/dom/SelectElement.cpp b/src/3rdparty/webkit/WebCore/dom/SelectElement.cpp
index e900245..4af90c9 100644
--- a/src/3rdparty/webkit/WebCore/dom/SelectElement.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/SelectElement.cpp
@@ -270,11 +270,11 @@ void SelectElement::recalcListItems(SelectElementData& data, const Element* elem
if (OptionElement* optionElement = toOptionElement(current)) {
listItems.append(current);
- if (updateSelectedStates) {
- if (!foundSelected && (data.usesMenuList() || (!data.multiple() && optionElement->selected()))) {
+ if (updateSelectedStates && !data.multiple()) {
+ if (!foundSelected && (data.size() <= 1 || optionElement->selected())) {
foundSelected = optionElement;
foundSelected->setSelectedState(true);
- } else if (foundSelected && !data.multiple() && optionElement->selected()) {
+ } else if (foundSelected && optionElement->selected()) {
foundSelected->setSelectedState(false);
foundSelected = optionElement;
}
@@ -499,7 +499,7 @@ void SelectElement::reset(SelectElementData& data, Element* element)
firstOption = optionElement;
}
- if (!selectedOption && firstOption && data.usesMenuList())
+ if (!selectedOption && firstOption && !data.multiple() && data.size() <= 1)
firstOption->setSelectedState(true);
setOptionsChangedOnRenderer(data, element);
diff --git a/src/3rdparty/webkit/WebCore/dom/ViewportArguments.cpp b/src/3rdparty/webkit/WebCore/dom/ViewportArguments.cpp
new file mode 100644
index 0000000..d585896
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/dom/ViewportArguments.cpp
@@ -0,0 +1,120 @@
+/*
+ * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
+ * (C) 1999 Antti Koivisto (koivisto@kde.org)
+ * (C) 2001 Dirk Mueller (mueller@kde.org)
+ * (C) 2006 Alexey Proskuryakov (ap@webkit.org)
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "config.h"
+#include "ViewportArguments.h"
+
+#include "Chrome.h"
+#include "Console.h"
+#include "DOMWindow.h"
+#include "Document.h"
+#include "Frame.h"
+#include "Page.h"
+#include "PlatformString.h"
+#include "Tokenizer.h"
+
+namespace WebCore {
+
+void setViewportFeature(const String& keyString, const String& valueString, Document* document, void* data)
+{
+ ViewportArguments* arguments = static_cast<ViewportArguments*>(data);
+ float value = ViewportArguments::ValueUndefined;
+ bool didUseConstants = false;
+
+ if (equalIgnoringCase(valueString, "yes"))
+ value = 1;
+ else if (equalIgnoringCase(valueString, "device-width")) {
+ didUseConstants = true;
+ if (document->page())
+ value = document->page()->chrome()->windowRect().width();
+ } else if (equalIgnoringCase(valueString, "device-height")) {
+ didUseConstants = true;
+ if (document->page())
+ value = document->page()->chrome()->windowRect().height();
+ } else if (equalIgnoringCase(valueString, "default")) // This allows us to distinguish the omission of a key from asking for the default value.
+ value = -2;
+ else if (valueString.length()) // listing a key with no value is shorthand for key=default
+ value = valueString.toFloat();
+
+ if (keyString == "initial-scale")
+ arguments->initialScale = value;
+ else if (keyString == "minimum-scale")
+ arguments->minimumScale = value;
+ else if (keyString == "maximum-scale") {
+ arguments->maximumScale = value;
+ if (value > 10.0)
+ reportViewportWarning(document, MaximumScaleTooLargeError, keyString);
+ } else if (keyString == "user-scalable")
+ arguments->userScalable = value;
+ else if (keyString == "width") {
+ if (document->page() && value == document->page()->chrome()->windowRect().width() && !didUseConstants)
+ reportViewportWarning(document, DeviceWidthShouldBeUsedWarning, keyString);
+ else if (document->page() && value == document->page()->chrome()->windowRect().height() && !didUseConstants)
+ reportViewportWarning(document, DeviceHeightShouldBeUsedWarning, keyString);
+
+ arguments->width = value;
+ } else if (keyString == "height") {
+ if (document->page() && value == document->page()->chrome()->windowRect().width() && !didUseConstants)
+ reportViewportWarning(document, DeviceWidthShouldBeUsedWarning, keyString);
+ else if (document->page() && value == document->page()->chrome()->windowRect().height() && !didUseConstants)
+ reportViewportWarning(document, DeviceHeightShouldBeUsedWarning, keyString);
+
+ arguments->height = value;
+ } else
+ reportViewportWarning(document, UnrecognizedViewportArgumentError, keyString);
+}
+
+static const char* viewportErrorMessageTemplate(ViewportErrorCode errorCode)
+{
+ static const char* const errors[] = {
+ "Viewport width or height set to physical device width, try using \"device-width\" constant instead for future compatibility.",
+ "Viewport height or height set to physical device height, try using \"device-height\" constant instead for future compatibility.",
+ "Viewport argument \"%replacement\" not recognized. Content ignored.",
+ "Viewport maximum-scale cannot be larger than 10.0. The maximum-scale will be set to 10.0."
+ };
+
+ return errors[errorCode];
+}
+
+static MessageLevel viewportErrorMessageLevel(ViewportErrorCode errorCode)
+{
+ return errorCode == UnrecognizedViewportArgumentError || errorCode == MaximumScaleTooLargeError ? ErrorMessageLevel : TipMessageLevel;
+}
+
+void reportViewportWarning(Document* document, ViewportErrorCode errorCode, const String& replacement)
+{
+ Tokenizer* tokenizer = document->tokenizer();
+
+ Frame* frame = document->frame();
+ if (!frame)
+ return;
+
+ String message = viewportErrorMessageTemplate(errorCode);
+ message.replace("%replacement", replacement);
+
+ frame->domWindow()->console()->addMessage(HTMLMessageSource, LogMessageType, viewportErrorMessageLevel(errorCode), message, tokenizer ? tokenizer->lineNumber() + 1 : 0, document->url().string());
+}
+
+} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/dom/ViewportArguments.h b/src/3rdparty/webkit/WebCore/dom/ViewportArguments.h
new file mode 100644
index 0000000..29eec8e
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/dom/ViewportArguments.h
@@ -0,0 +1,74 @@
+/*
+ * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
+ * (C) 1999 Antti Koivisto (koivisto@kde.org)
+ * (C) 2001 Dirk Mueller (mueller@kde.org)
+ * (C) 2006 Alexey Proskuryakov (ap@webkit.org)
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef ViewportArguments_h
+#define ViewportArguments_h
+
+namespace WebCore {
+
+class Document;
+class String;
+
+enum ViewportErrorCode {
+ DeviceWidthShouldBeUsedWarning,
+ DeviceHeightShouldBeUsedWarning,
+ UnrecognizedViewportArgumentError,
+ MaximumScaleTooLargeError
+};
+
+struct ViewportArguments {
+
+ enum { ValueUndefined = -1 };
+
+ ViewportArguments()
+ : initialScale(ValueUndefined)
+ , minimumScale(ValueUndefined)
+ , maximumScale(ValueUndefined)
+ , width(ValueUndefined)
+ , height(ValueUndefined)
+ , userScalable(ValueUndefined)
+ {
+ }
+
+ float initialScale;
+ float minimumScale;
+ float maximumScale;
+ float width;
+ float height;
+
+ float userScalable;
+
+ bool hasCustomArgument() const
+ {
+ return initialScale != ValueUndefined || minimumScale != ValueUndefined || maximumScale != ValueUndefined || width != ValueUndefined || height != ValueUndefined || userScalable != ValueUndefined;
+ }
+};
+
+void setViewportFeature(const String& keyString, const String& valueString, Document*, void* data);
+void reportViewportWarning(Document*, ViewportErrorCode, const String& replacement);
+
+} // namespace WebCore
+
+#endif // ViewportArguments_h
diff --git a/src/3rdparty/webkit/WebCore/generated/CSSGrammar.cpp b/src/3rdparty/webkit/WebCore/generated/CSSGrammar.cpp
index de39328..9f3db9d 100644
--- a/src/3rdparty/webkit/WebCore/generated/CSSGrammar.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/CSSGrammar.cpp
@@ -76,7 +76,7 @@
/* Copy the first part of user declarations. */
/* Line 189 of yacc.c */
-#line 1 "css\\CSSGrammar.y"
+#line 1 "css/CSSGrammar.y"
/*
@@ -137,7 +137,7 @@ using namespace HTMLNames;
/* Line 189 of yacc.c */
-#line 141 "C:/dev/webkit-2.0/WebCore/generated/CSSGrammar.tab.c"
+#line 141 "/WebCore/generated/CSSGrammar.tab.c"
/* Enabling traces. */
#ifndef YYDEBUG
@@ -238,7 +238,7 @@ typedef union YYSTYPE
{
/* Line 214 of yacc.c */
-#line 62 "css\\CSSGrammar.y"
+#line 62 "css/CSSGrammar.y"
bool boolean;
char character;
@@ -265,7 +265,7 @@ typedef union YYSTYPE
/* Line 214 of yacc.c */
-#line 269 "C:/dev/webkit-2.0/WebCore/generated/CSSGrammar.tab.c"
+#line 269 "/WebCore/generated/CSSGrammar.tab.c"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -276,7 +276,7 @@ typedef union YYSTYPE
/* Copy the second part of user declarations. */
/* Line 264 of yacc.c */
-#line 86 "css\\CSSGrammar.y"
+#line 86 "css/CSSGrammar.y"
static inline int cssyyerror(const char*)
@@ -292,7 +292,7 @@ static int cssyylex(YYSTYPE* yylval, void* parser)
/* Line 264 of yacc.c */
-#line 296 "C:/dev/webkit-2.0/WebCore/generated/CSSGrammar.tab.c"
+#line 296 "/WebCore/generated/CSSGrammar.tab.c"
#ifdef short
# undef short
@@ -2170,7 +2170,7 @@ yyreduce:
case 10:
/* Line 1455 of yacc.c */
-#line 280 "css\\CSSGrammar.y"
+#line 280 "css/CSSGrammar.y"
{
static_cast<CSSParser*>(parser)->m_rule = (yyvsp[(4) - (6)].rule);
;}
@@ -2179,7 +2179,7 @@ yyreduce:
case 11:
/* Line 1455 of yacc.c */
-#line 286 "css\\CSSGrammar.y"
+#line 286 "css/CSSGrammar.y"
{
static_cast<CSSParser*>(parser)->m_keyframe = (yyvsp[(4) - (6)].keyframeRule);
;}
@@ -2188,7 +2188,7 @@ yyreduce:
case 12:
/* Line 1455 of yacc.c */
-#line 292 "css\\CSSGrammar.y"
+#line 292 "css/CSSGrammar.y"
{
/* can be empty */
;}
@@ -2197,7 +2197,7 @@ yyreduce:
case 13:
/* Line 1455 of yacc.c */
-#line 298 "css\\CSSGrammar.y"
+#line 298 "css/CSSGrammar.y"
{
/* can be empty */
;}
@@ -2206,7 +2206,7 @@ yyreduce:
case 14:
/* Line 1455 of yacc.c */
-#line 304 "css\\CSSGrammar.y"
+#line 304 "css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
if ((yyvsp[(4) - (5)].valueList)) {
@@ -2223,7 +2223,7 @@ yyreduce:
case 15:
/* Line 1455 of yacc.c */
-#line 318 "css\\CSSGrammar.y"
+#line 318 "css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
p->m_mediaQuery = p->sinkFloatingMediaQuery((yyvsp[(4) - (5)].mediaQuery));
@@ -2233,7 +2233,7 @@ yyreduce:
case 16:
/* Line 1455 of yacc.c */
-#line 325 "css\\CSSGrammar.y"
+#line 325 "css/CSSGrammar.y"
{
if ((yyvsp[(4) - (5)].selectorList)) {
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -2246,7 +2246,7 @@ yyreduce:
case 23:
/* Line 1455 of yacc.c */
-#line 347 "css\\CSSGrammar.y"
+#line 347 "css/CSSGrammar.y"
{
;}
break;
@@ -2254,7 +2254,7 @@ yyreduce:
case 26:
/* Line 1455 of yacc.c */
-#line 357 "css\\CSSGrammar.y"
+#line 357 "css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.rule) = static_cast<CSSParser*>(parser)->createCharsetRule((yyvsp[(3) - (5)].string));
@@ -2266,7 +2266,7 @@ yyreduce:
case 27:
/* Line 1455 of yacc.c */
-#line 363 "css\\CSSGrammar.y"
+#line 363 "css/CSSGrammar.y"
{
;}
break;
@@ -2274,7 +2274,7 @@ yyreduce:
case 28:
/* Line 1455 of yacc.c */
-#line 365 "css\\CSSGrammar.y"
+#line 365 "css/CSSGrammar.y"
{
;}
break;
@@ -2282,7 +2282,7 @@ yyreduce:
case 30:
/* Line 1455 of yacc.c */
-#line 371 "css\\CSSGrammar.y"
+#line 371 "css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
if ((yyvsp[(2) - (3)].rule) && p->m_styleSheet)
@@ -2293,7 +2293,7 @@ yyreduce:
case 39:
/* Line 1455 of yacc.c */
-#line 390 "css\\CSSGrammar.y"
+#line 390 "css/CSSGrammar.y"
{
static_cast<CSSParser*>(parser)->m_hadSyntacticallyValidCSSRule = true;
;}
@@ -2302,14 +2302,14 @@ yyreduce:
case 42:
/* Line 1455 of yacc.c */
-#line 398 "css\\CSSGrammar.y"
+#line 398 "css/CSSGrammar.y"
{ (yyval.ruleList) = 0; ;}
break;
case 43:
/* Line 1455 of yacc.c */
-#line 399 "css\\CSSGrammar.y"
+#line 399 "css/CSSGrammar.y"
{
(yyval.ruleList) = (yyvsp[(1) - (3)].ruleList);
if ((yyvsp[(2) - (3)].rule)) {
@@ -2323,7 +2323,7 @@ yyreduce:
case 55:
/* Line 1455 of yacc.c */
-#line 428 "css\\CSSGrammar.y"
+#line 428 "css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createImportRule((yyvsp[(3) - (6)].string), (yyvsp[(5) - (6)].mediaList));
;}
@@ -2332,7 +2332,7 @@ yyreduce:
case 56:
/* Line 1455 of yacc.c */
-#line 431 "css\\CSSGrammar.y"
+#line 431 "css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
@@ -2341,7 +2341,7 @@ yyreduce:
case 57:
/* Line 1455 of yacc.c */
-#line 434 "css\\CSSGrammar.y"
+#line 434 "css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
@@ -2350,7 +2350,7 @@ yyreduce:
case 58:
/* Line 1455 of yacc.c */
-#line 437 "css\\CSSGrammar.y"
+#line 437 "css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
@@ -2359,7 +2359,7 @@ yyreduce:
case 59:
/* Line 1455 of yacc.c */
-#line 443 "css\\CSSGrammar.y"
+#line 443 "css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createVariablesRule((yyvsp[(3) - (7)].mediaList), true);
;}
@@ -2368,7 +2368,7 @@ yyreduce:
case 60:
/* Line 1455 of yacc.c */
-#line 447 "css\\CSSGrammar.y"
+#line 447 "css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createVariablesRule((yyvsp[(3) - (7)].mediaList), false);
;}
@@ -2377,7 +2377,7 @@ yyreduce:
case 61:
/* Line 1455 of yacc.c */
-#line 453 "css\\CSSGrammar.y"
+#line 453 "css/CSSGrammar.y"
{
(yyval.mediaList) = static_cast<CSSParser*>(parser)->createMediaList();
;}
@@ -2386,7 +2386,7 @@ yyreduce:
case 62:
/* Line 1455 of yacc.c */
-#line 457 "css\\CSSGrammar.y"
+#line 457 "css/CSSGrammar.y"
{
(yyval.mediaList) = (yyvsp[(3) - (3)].mediaList);
;}
@@ -2395,7 +2395,7 @@ yyreduce:
case 63:
/* Line 1455 of yacc.c */
-#line 463 "css\\CSSGrammar.y"
+#line 463 "css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (1)].boolean);
;}
@@ -2404,7 +2404,7 @@ yyreduce:
case 64:
/* Line 1455 of yacc.c */
-#line 466 "css\\CSSGrammar.y"
+#line 466 "css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (2)].boolean);
if ((yyvsp[(2) - (2)].boolean))
@@ -2415,7 +2415,7 @@ yyreduce:
case 65:
/* Line 1455 of yacc.c */
-#line 471 "css\\CSSGrammar.y"
+#line 471 "css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (1)].boolean);
;}
@@ -2424,7 +2424,7 @@ yyreduce:
case 66:
/* Line 1455 of yacc.c */
-#line 474 "css\\CSSGrammar.y"
+#line 474 "css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
@@ -2433,7 +2433,7 @@ yyreduce:
case 67:
/* Line 1455 of yacc.c */
-#line 477 "css\\CSSGrammar.y"
+#line 477 "css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
@@ -2442,7 +2442,7 @@ yyreduce:
case 68:
/* Line 1455 of yacc.c */
-#line 480 "css\\CSSGrammar.y"
+#line 480 "css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (2)].boolean);
;}
@@ -2451,7 +2451,7 @@ yyreduce:
case 69:
/* Line 1455 of yacc.c */
-#line 486 "css\\CSSGrammar.y"
+#line 486 "css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (3)].boolean);
;}
@@ -2460,7 +2460,7 @@ yyreduce:
case 70:
/* Line 1455 of yacc.c */
-#line 489 "css\\CSSGrammar.y"
+#line 489 "css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
@@ -2469,7 +2469,7 @@ yyreduce:
case 71:
/* Line 1455 of yacc.c */
-#line 492 "css\\CSSGrammar.y"
+#line 492 "css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
@@ -2478,7 +2478,7 @@ yyreduce:
case 72:
/* Line 1455 of yacc.c */
-#line 495 "css\\CSSGrammar.y"
+#line 495 "css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
@@ -2487,7 +2487,7 @@ yyreduce:
case 73:
/* Line 1455 of yacc.c */
-#line 498 "css\\CSSGrammar.y"
+#line 498 "css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (4)].boolean);
if ((yyvsp[(2) - (4)].boolean))
@@ -2498,7 +2498,7 @@ yyreduce:
case 74:
/* Line 1455 of yacc.c */
-#line 503 "css\\CSSGrammar.y"
+#line 503 "css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (4)].boolean);
;}
@@ -2507,7 +2507,7 @@ yyreduce:
case 75:
/* Line 1455 of yacc.c */
-#line 506 "css\\CSSGrammar.y"
+#line 506 "css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (6)].boolean);
;}
@@ -2516,7 +2516,7 @@ yyreduce:
case 76:
/* Line 1455 of yacc.c */
-#line 512 "css\\CSSGrammar.y"
+#line 512 "css/CSSGrammar.y"
{
(yyval.boolean) = static_cast<CSSParser*>(parser)->addVariable((yyvsp[(1) - (4)].string), (yyvsp[(4) - (4)].valueList));
;}
@@ -2525,7 +2525,7 @@ yyreduce:
case 77:
/* Line 1455 of yacc.c */
-#line 516 "css\\CSSGrammar.y"
+#line 516 "css/CSSGrammar.y"
{
(yyval.boolean) = static_cast<CSSParser*>(parser)->addVariableDeclarationBlock((yyvsp[(1) - (7)].string));
;}
@@ -2534,7 +2534,7 @@ yyreduce:
case 78:
/* Line 1455 of yacc.c */
-#line 520 "css\\CSSGrammar.y"
+#line 520 "css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
@@ -2543,7 +2543,7 @@ yyreduce:
case 79:
/* Line 1455 of yacc.c */
-#line 524 "css\\CSSGrammar.y"
+#line 524 "css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
@@ -2552,7 +2552,7 @@ yyreduce:
case 80:
/* Line 1455 of yacc.c */
-#line 528 "css\\CSSGrammar.y"
+#line 528 "css/CSSGrammar.y"
{
/* @variables { varname: } Just reduce away this variable with no value. */
(yyval.boolean) = false;
@@ -2562,7 +2562,7 @@ yyreduce:
case 81:
/* Line 1455 of yacc.c */
-#line 533 "css\\CSSGrammar.y"
+#line 533 "css/CSSGrammar.y"
{
/* if we come across rules with invalid values like this case: @variables { varname: *; }, just discard the property/value pair */
(yyval.boolean) = false;
@@ -2572,7 +2572,7 @@ yyreduce:
case 82:
/* Line 1455 of yacc.c */
-#line 540 "css\\CSSGrammar.y"
+#line 540 "css/CSSGrammar.y"
{
(yyval.string) = (yyvsp[(1) - (2)].string);
;}
@@ -2581,7 +2581,7 @@ yyreduce:
case 83:
/* Line 1455 of yacc.c */
-#line 546 "css\\CSSGrammar.y"
+#line 546 "css/CSSGrammar.y"
{
static_cast<CSSParser*>(parser)->addNamespace((yyvsp[(3) - (6)].string), (yyvsp[(4) - (6)].string));
(yyval.rule) = 0;
@@ -2591,7 +2591,7 @@ yyreduce:
case 84:
/* Line 1455 of yacc.c */
-#line 550 "css\\CSSGrammar.y"
+#line 550 "css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
@@ -2600,7 +2600,7 @@ yyreduce:
case 85:
/* Line 1455 of yacc.c */
-#line 553 "css\\CSSGrammar.y"
+#line 553 "css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
@@ -2609,7 +2609,7 @@ yyreduce:
case 86:
/* Line 1455 of yacc.c */
-#line 556 "css\\CSSGrammar.y"
+#line 556 "css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
@@ -2618,21 +2618,21 @@ yyreduce:
case 87:
/* Line 1455 of yacc.c */
-#line 562 "css\\CSSGrammar.y"
+#line 562 "css/CSSGrammar.y"
{ (yyval.string).characters = 0; ;}
break;
case 88:
/* Line 1455 of yacc.c */
-#line 563 "css\\CSSGrammar.y"
+#line 563 "css/CSSGrammar.y"
{ (yyval.string) = (yyvsp[(1) - (2)].string); ;}
break;
case 91:
/* Line 1455 of yacc.c */
-#line 572 "css\\CSSGrammar.y"
+#line 572 "css/CSSGrammar.y"
{
(yyval.string) = (yyvsp[(1) - (2)].string);
;}
@@ -2641,7 +2641,7 @@ yyreduce:
case 92:
/* Line 1455 of yacc.c */
-#line 578 "css\\CSSGrammar.y"
+#line 578 "css/CSSGrammar.y"
{
(yyval.valueList) = 0;
;}
@@ -2650,7 +2650,7 @@ yyreduce:
case 93:
/* Line 1455 of yacc.c */
-#line 581 "css\\CSSGrammar.y"
+#line 581 "css/CSSGrammar.y"
{
(yyval.valueList) = (yyvsp[(3) - (4)].valueList);
;}
@@ -2659,7 +2659,7 @@ yyreduce:
case 94:
/* Line 1455 of yacc.c */
-#line 587 "css\\CSSGrammar.y"
+#line 587 "css/CSSGrammar.y"
{
(yyvsp[(3) - (7)].string).lower();
(yyval.mediaQueryExp) = static_cast<CSSParser*>(parser)->createFloatingMediaQueryExp((yyvsp[(3) - (7)].string), (yyvsp[(5) - (7)].valueList));
@@ -2669,7 +2669,7 @@ yyreduce:
case 95:
/* Line 1455 of yacc.c */
-#line 594 "css\\CSSGrammar.y"
+#line 594 "css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.mediaQueryExpList) = p->createFloatingMediaQueryExpList();
@@ -2680,7 +2680,7 @@ yyreduce:
case 96:
/* Line 1455 of yacc.c */
-#line 599 "css\\CSSGrammar.y"
+#line 599 "css/CSSGrammar.y"
{
(yyval.mediaQueryExpList) = (yyvsp[(1) - (5)].mediaQueryExpList);
(yyval.mediaQueryExpList)->append(static_cast<CSSParser*>(parser)->sinkFloatingMediaQueryExp((yyvsp[(5) - (5)].mediaQueryExp)));
@@ -2690,7 +2690,7 @@ yyreduce:
case 97:
/* Line 1455 of yacc.c */
-#line 606 "css\\CSSGrammar.y"
+#line 606 "css/CSSGrammar.y"
{
(yyval.mediaQueryExpList) = static_cast<CSSParser*>(parser)->createFloatingMediaQueryExpList();
;}
@@ -2699,7 +2699,7 @@ yyreduce:
case 98:
/* Line 1455 of yacc.c */
-#line 609 "css\\CSSGrammar.y"
+#line 609 "css/CSSGrammar.y"
{
(yyval.mediaQueryExpList) = (yyvsp[(3) - (3)].mediaQueryExpList);
;}
@@ -2708,7 +2708,7 @@ yyreduce:
case 99:
/* Line 1455 of yacc.c */
-#line 615 "css\\CSSGrammar.y"
+#line 615 "css/CSSGrammar.y"
{
(yyval.mediaQueryRestrictor) = MediaQuery::None;
;}
@@ -2717,7 +2717,7 @@ yyreduce:
case 100:
/* Line 1455 of yacc.c */
-#line 618 "css\\CSSGrammar.y"
+#line 618 "css/CSSGrammar.y"
{
(yyval.mediaQueryRestrictor) = MediaQuery::Only;
;}
@@ -2726,7 +2726,7 @@ yyreduce:
case 101:
/* Line 1455 of yacc.c */
-#line 621 "css\\CSSGrammar.y"
+#line 621 "css/CSSGrammar.y"
{
(yyval.mediaQueryRestrictor) = MediaQuery::Not;
;}
@@ -2735,7 +2735,7 @@ yyreduce:
case 102:
/* Line 1455 of yacc.c */
-#line 627 "css\\CSSGrammar.y"
+#line 627 "css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.mediaQuery) = p->createFloatingMediaQuery(p->sinkFloatingMediaQueryExpList((yyvsp[(1) - (1)].mediaQueryExpList)));
@@ -2745,7 +2745,7 @@ yyreduce:
case 103:
/* Line 1455 of yacc.c */
-#line 632 "css\\CSSGrammar.y"
+#line 632 "css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyvsp[(3) - (4)].string).lower();
@@ -2756,7 +2756,7 @@ yyreduce:
case 104:
/* Line 1455 of yacc.c */
-#line 640 "css\\CSSGrammar.y"
+#line 640 "css/CSSGrammar.y"
{
(yyval.mediaList) = static_cast<CSSParser*>(parser)->createMediaList();
;}
@@ -2765,7 +2765,7 @@ yyreduce:
case 106:
/* Line 1455 of yacc.c */
-#line 647 "css\\CSSGrammar.y"
+#line 647 "css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.mediaList) = p->createMediaList();
@@ -2776,7 +2776,7 @@ yyreduce:
case 107:
/* Line 1455 of yacc.c */
-#line 652 "css\\CSSGrammar.y"
+#line 652 "css/CSSGrammar.y"
{
(yyval.mediaList) = (yyvsp[(1) - (4)].mediaList);
if ((yyval.mediaList))
@@ -2787,7 +2787,7 @@ yyreduce:
case 108:
/* Line 1455 of yacc.c */
-#line 657 "css\\CSSGrammar.y"
+#line 657 "css/CSSGrammar.y"
{
(yyval.mediaList) = 0;
;}
@@ -2796,7 +2796,7 @@ yyreduce:
case 109:
/* Line 1455 of yacc.c */
-#line 663 "css\\CSSGrammar.y"
+#line 663 "css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createMediaRule((yyvsp[(3) - (7)].mediaList), (yyvsp[(6) - (7)].ruleList));
;}
@@ -2805,7 +2805,7 @@ yyreduce:
case 110:
/* Line 1455 of yacc.c */
-#line 666 "css\\CSSGrammar.y"
+#line 666 "css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createMediaRule(0, (yyvsp[(5) - (6)].ruleList));
;}
@@ -2814,7 +2814,7 @@ yyreduce:
case 111:
/* Line 1455 of yacc.c */
-#line 672 "css\\CSSGrammar.y"
+#line 672 "css/CSSGrammar.y"
{
(yyval.string) = (yyvsp[(1) - (2)].string);
;}
@@ -2823,7 +2823,7 @@ yyreduce:
case 112:
/* Line 1455 of yacc.c */
-#line 678 "css\\CSSGrammar.y"
+#line 678 "css/CSSGrammar.y"
{
(yyval.rule) = (yyvsp[(7) - (8)].keyframesRule);
(yyvsp[(7) - (8)].keyframesRule)->setNameInternal((yyvsp[(3) - (8)].string));
@@ -2833,14 +2833,14 @@ yyreduce:
case 115:
/* Line 1455 of yacc.c */
-#line 690 "css\\CSSGrammar.y"
+#line 690 "css/CSSGrammar.y"
{ (yyval.keyframesRule) = static_cast<CSSParser*>(parser)->createKeyframesRule(); ;}
break;
case 116:
/* Line 1455 of yacc.c */
-#line 691 "css\\CSSGrammar.y"
+#line 691 "css/CSSGrammar.y"
{
(yyval.keyframesRule) = (yyvsp[(1) - (3)].keyframesRule);
if ((yyvsp[(2) - (3)].keyframeRule))
@@ -2851,7 +2851,7 @@ yyreduce:
case 117:
/* Line 1455 of yacc.c */
-#line 699 "css\\CSSGrammar.y"
+#line 699 "css/CSSGrammar.y"
{
(yyval.keyframeRule) = static_cast<CSSParser*>(parser)->createKeyframeRule((yyvsp[(1) - (6)].valueList));
;}
@@ -2860,7 +2860,7 @@ yyreduce:
case 118:
/* Line 1455 of yacc.c */
-#line 705 "css\\CSSGrammar.y"
+#line 705 "css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.valueList) = p->createFloatingValueList();
@@ -2871,7 +2871,7 @@ yyreduce:
case 119:
/* Line 1455 of yacc.c */
-#line 710 "css\\CSSGrammar.y"
+#line 710 "css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.valueList) = (yyvsp[(1) - (5)].valueList);
@@ -2883,14 +2883,14 @@ yyreduce:
case 120:
/* Line 1455 of yacc.c */
-#line 719 "css\\CSSGrammar.y"
+#line 719 "css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).isInt = false; (yyval.value).fValue = (yyvsp[(1) - (1)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_NUMBER; ;}
break;
case 121:
/* Line 1455 of yacc.c */
-#line 720 "css\\CSSGrammar.y"
+#line 720 "css/CSSGrammar.y"
{
(yyval.value).id = 0; (yyval.value).isInt = false; (yyval.value).unit = CSSPrimitiveValue::CSS_NUMBER;
CSSParserString& str = (yyvsp[(1) - (1)].string);
@@ -2906,7 +2906,7 @@ yyreduce:
case 122:
/* Line 1455 of yacc.c */
-#line 744 "css\\CSSGrammar.y"
+#line 744 "css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
@@ -2915,7 +2915,7 @@ yyreduce:
case 123:
/* Line 1455 of yacc.c */
-#line 747 "css\\CSSGrammar.y"
+#line 747 "css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
@@ -2924,7 +2924,7 @@ yyreduce:
case 124:
/* Line 1455 of yacc.c */
-#line 754 "css\\CSSGrammar.y"
+#line 754 "css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createFontFaceRule();
;}
@@ -2933,7 +2933,7 @@ yyreduce:
case 125:
/* Line 1455 of yacc.c */
-#line 757 "css\\CSSGrammar.y"
+#line 757 "css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
@@ -2942,7 +2942,7 @@ yyreduce:
case 126:
/* Line 1455 of yacc.c */
-#line 760 "css\\CSSGrammar.y"
+#line 760 "css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
@@ -2951,56 +2951,56 @@ yyreduce:
case 127:
/* Line 1455 of yacc.c */
-#line 766 "css\\CSSGrammar.y"
+#line 766 "css/CSSGrammar.y"
{ (yyval.relation) = CSSSelector::DirectAdjacent; ;}
break;
case 128:
/* Line 1455 of yacc.c */
-#line 767 "css\\CSSGrammar.y"
+#line 767 "css/CSSGrammar.y"
{ (yyval.relation) = CSSSelector::IndirectAdjacent; ;}
break;
case 129:
/* Line 1455 of yacc.c */
-#line 768 "css\\CSSGrammar.y"
+#line 768 "css/CSSGrammar.y"
{ (yyval.relation) = CSSSelector::Child; ;}
break;
case 130:
/* Line 1455 of yacc.c */
-#line 772 "css\\CSSGrammar.y"
+#line 772 "css/CSSGrammar.y"
{ (yyval.integer) = (yyvsp[(1) - (1)].integer); ;}
break;
case 131:
/* Line 1455 of yacc.c */
-#line 773 "css\\CSSGrammar.y"
+#line 773 "css/CSSGrammar.y"
{ (yyval.integer) = 1; ;}
break;
case 132:
/* Line 1455 of yacc.c */
-#line 777 "css\\CSSGrammar.y"
+#line 777 "css/CSSGrammar.y"
{ (yyval.integer) = -1; ;}
break;
case 133:
/* Line 1455 of yacc.c */
-#line 778 "css\\CSSGrammar.y"
+#line 778 "css/CSSGrammar.y"
{ (yyval.integer) = 1; ;}
break;
case 134:
/* Line 1455 of yacc.c */
-#line 782 "css\\CSSGrammar.y"
+#line 782 "css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createStyleRule((yyvsp[(1) - (5)].selectorList));
;}
@@ -3009,7 +3009,7 @@ yyreduce:
case 135:
/* Line 1455 of yacc.c */
-#line 788 "css\\CSSGrammar.y"
+#line 788 "css/CSSGrammar.y"
{
if ((yyvsp[(1) - (1)].selector)) {
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -3025,7 +3025,7 @@ yyreduce:
case 136:
/* Line 1455 of yacc.c */
-#line 798 "css\\CSSGrammar.y"
+#line 798 "css/CSSGrammar.y"
{
if ((yyvsp[(1) - (4)].selectorList) && (yyvsp[(4) - (4)].selector)) {
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -3040,7 +3040,7 @@ yyreduce:
case 137:
/* Line 1455 of yacc.c */
-#line 807 "css\\CSSGrammar.y"
+#line 807 "css/CSSGrammar.y"
{
(yyval.selectorList) = 0;
;}
@@ -3049,7 +3049,7 @@ yyreduce:
case 138:
/* Line 1455 of yacc.c */
-#line 813 "css\\CSSGrammar.y"
+#line 813 "css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(1) - (2)].selector);
;}
@@ -3058,7 +3058,7 @@ yyreduce:
case 139:
/* Line 1455 of yacc.c */
-#line 819 "css\\CSSGrammar.y"
+#line 819 "css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(1) - (1)].selector);
;}
@@ -3067,7 +3067,7 @@ yyreduce:
case 140:
/* Line 1455 of yacc.c */
-#line 823 "css\\CSSGrammar.y"
+#line 823 "css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(1) - (1)].selector);
;}
@@ -3076,7 +3076,7 @@ yyreduce:
case 141:
/* Line 1455 of yacc.c */
-#line 827 "css\\CSSGrammar.y"
+#line 827 "css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(2) - (2)].selector);
if (!(yyvsp[(1) - (2)].selector))
@@ -3097,7 +3097,7 @@ yyreduce:
case 142:
/* Line 1455 of yacc.c */
-#line 842 "css\\CSSGrammar.y"
+#line 842 "css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(3) - (3)].selector);
if (!(yyvsp[(1) - (3)].selector))
@@ -3123,7 +3123,7 @@ yyreduce:
case 143:
/* Line 1455 of yacc.c */
-#line 862 "css\\CSSGrammar.y"
+#line 862 "css/CSSGrammar.y"
{
(yyval.selector) = 0;
;}
@@ -3132,28 +3132,28 @@ yyreduce:
case 144:
/* Line 1455 of yacc.c */
-#line 868 "css\\CSSGrammar.y"
+#line 868 "css/CSSGrammar.y"
{ (yyval.string).characters = 0; (yyval.string).length = 0; ;}
break;
case 145:
/* Line 1455 of yacc.c */
-#line 869 "css\\CSSGrammar.y"
+#line 869 "css/CSSGrammar.y"
{ static UChar star = '*'; (yyval.string).characters = &star; (yyval.string).length = 1; ;}
break;
case 146:
/* Line 1455 of yacc.c */
-#line 870 "css\\CSSGrammar.y"
+#line 870 "css/CSSGrammar.y"
{ (yyval.string) = (yyvsp[(1) - (2)].string); ;}
break;
case 147:
/* Line 1455 of yacc.c */
-#line 874 "css\\CSSGrammar.y"
+#line 874 "css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.selector) = p->createFloatingSelector();
@@ -3164,7 +3164,7 @@ yyreduce:
case 148:
/* Line 1455 of yacc.c */
-#line 879 "css\\CSSGrammar.y"
+#line 879 "css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(2) - (2)].selector);
if ((yyval.selector)) {
@@ -3177,7 +3177,7 @@ yyreduce:
case 149:
/* Line 1455 of yacc.c */
-#line 886 "css\\CSSGrammar.y"
+#line 886 "css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(1) - (1)].selector);
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -3189,7 +3189,7 @@ yyreduce:
case 150:
/* Line 1455 of yacc.c */
-#line 892 "css\\CSSGrammar.y"
+#line 892 "css/CSSGrammar.y"
{
AtomicString namespacePrefix = (yyvsp[(1) - (2)].string);
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -3205,7 +3205,7 @@ yyreduce:
case 151:
/* Line 1455 of yacc.c */
-#line 902 "css\\CSSGrammar.y"
+#line 902 "css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(3) - (3)].selector);
if ((yyval.selector)) {
@@ -3223,7 +3223,7 @@ yyreduce:
case 152:
/* Line 1455 of yacc.c */
-#line 914 "css\\CSSGrammar.y"
+#line 914 "css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(2) - (2)].selector);
if ((yyval.selector)) {
@@ -3239,7 +3239,7 @@ yyreduce:
case 153:
/* Line 1455 of yacc.c */
-#line 927 "css\\CSSGrammar.y"
+#line 927 "css/CSSGrammar.y"
{
CSSParserString& str = (yyvsp[(1) - (1)].string);
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -3253,7 +3253,7 @@ yyreduce:
case 154:
/* Line 1455 of yacc.c */
-#line 935 "css\\CSSGrammar.y"
+#line 935 "css/CSSGrammar.y"
{
static UChar star = '*';
(yyval.string).characters = &star;
@@ -3264,7 +3264,7 @@ yyreduce:
case 155:
/* Line 1455 of yacc.c */
-#line 943 "css\\CSSGrammar.y"
+#line 943 "css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(1) - (1)].selector);
;}
@@ -3273,7 +3273,7 @@ yyreduce:
case 156:
/* Line 1455 of yacc.c */
-#line 946 "css\\CSSGrammar.y"
+#line 946 "css/CSSGrammar.y"
{
if (!(yyvsp[(2) - (2)].selector))
(yyval.selector) = 0;
@@ -3292,7 +3292,7 @@ yyreduce:
case 157:
/* Line 1455 of yacc.c */
-#line 959 "css\\CSSGrammar.y"
+#line 959 "css/CSSGrammar.y"
{
(yyval.selector) = 0;
;}
@@ -3301,7 +3301,7 @@ yyreduce:
case 158:
/* Line 1455 of yacc.c */
-#line 965 "css\\CSSGrammar.y"
+#line 965 "css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.selector) = p->createFloatingSelector();
@@ -3315,7 +3315,7 @@ yyreduce:
case 159:
/* Line 1455 of yacc.c */
-#line 973 "css\\CSSGrammar.y"
+#line 973 "css/CSSGrammar.y"
{
if ((yyvsp[(1) - (1)].string).characters[0] >= '0' && (yyvsp[(1) - (1)].string).characters[0] <= '9') {
(yyval.selector) = 0;
@@ -3333,7 +3333,7 @@ yyreduce:
case 163:
/* Line 1455 of yacc.c */
-#line 991 "css\\CSSGrammar.y"
+#line 991 "css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.selector) = p->createFloatingSelector();
@@ -3347,7 +3347,7 @@ yyreduce:
case 164:
/* Line 1455 of yacc.c */
-#line 1002 "css\\CSSGrammar.y"
+#line 1002 "css/CSSGrammar.y"
{
CSSParserString& str = (yyvsp[(1) - (2)].string);
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -3361,7 +3361,7 @@ yyreduce:
case 165:
/* Line 1455 of yacc.c */
-#line 1013 "css\\CSSGrammar.y"
+#line 1013 "css/CSSGrammar.y"
{
(yyval.selector) = static_cast<CSSParser*>(parser)->createFloatingSelector();
(yyval.selector)->setAttribute(QualifiedName(nullAtom, (yyvsp[(3) - (4)].string), nullAtom));
@@ -3372,7 +3372,7 @@ yyreduce:
case 166:
/* Line 1455 of yacc.c */
-#line 1018 "css\\CSSGrammar.y"
+#line 1018 "css/CSSGrammar.y"
{
(yyval.selector) = static_cast<CSSParser*>(parser)->createFloatingSelector();
(yyval.selector)->setAttribute(QualifiedName(nullAtom, (yyvsp[(3) - (8)].string), nullAtom));
@@ -3384,7 +3384,7 @@ yyreduce:
case 167:
/* Line 1455 of yacc.c */
-#line 1024 "css\\CSSGrammar.y"
+#line 1024 "css/CSSGrammar.y"
{
AtomicString namespacePrefix = (yyvsp[(3) - (5)].string);
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -3398,7 +3398,7 @@ yyreduce:
case 168:
/* Line 1455 of yacc.c */
-#line 1032 "css\\CSSGrammar.y"
+#line 1032 "css/CSSGrammar.y"
{
AtomicString namespacePrefix = (yyvsp[(3) - (9)].string);
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -3413,7 +3413,7 @@ yyreduce:
case 169:
/* Line 1455 of yacc.c */
-#line 1044 "css\\CSSGrammar.y"
+#line 1044 "css/CSSGrammar.y"
{
(yyval.integer) = CSSSelector::Exact;
;}
@@ -3422,7 +3422,7 @@ yyreduce:
case 170:
/* Line 1455 of yacc.c */
-#line 1047 "css\\CSSGrammar.y"
+#line 1047 "css/CSSGrammar.y"
{
(yyval.integer) = CSSSelector::List;
;}
@@ -3431,7 +3431,7 @@ yyreduce:
case 171:
/* Line 1455 of yacc.c */
-#line 1050 "css\\CSSGrammar.y"
+#line 1050 "css/CSSGrammar.y"
{
(yyval.integer) = CSSSelector::Hyphen;
;}
@@ -3440,7 +3440,7 @@ yyreduce:
case 172:
/* Line 1455 of yacc.c */
-#line 1053 "css\\CSSGrammar.y"
+#line 1053 "css/CSSGrammar.y"
{
(yyval.integer) = CSSSelector::Begin;
;}
@@ -3449,7 +3449,7 @@ yyreduce:
case 173:
/* Line 1455 of yacc.c */
-#line 1056 "css\\CSSGrammar.y"
+#line 1056 "css/CSSGrammar.y"
{
(yyval.integer) = CSSSelector::End;
;}
@@ -3458,7 +3458,7 @@ yyreduce:
case 174:
/* Line 1455 of yacc.c */
-#line 1059 "css\\CSSGrammar.y"
+#line 1059 "css/CSSGrammar.y"
{
(yyval.integer) = CSSSelector::Contain;
;}
@@ -3467,7 +3467,7 @@ yyreduce:
case 177:
/* Line 1455 of yacc.c */
-#line 1070 "css\\CSSGrammar.y"
+#line 1070 "css/CSSGrammar.y"
{
(yyval.selector) = static_cast<CSSParser*>(parser)->createFloatingSelector();
(yyval.selector)->m_match = CSSSelector::PseudoClass;
@@ -3503,7 +3503,7 @@ yyreduce:
case 178:
/* Line 1455 of yacc.c */
-#line 1100 "css\\CSSGrammar.y"
+#line 1100 "css/CSSGrammar.y"
{
(yyval.selector) = static_cast<CSSParser*>(parser)->createFloatingSelector();
(yyval.selector)->m_match = CSSSelector::PseudoElement;
@@ -3528,7 +3528,7 @@ yyreduce:
case 179:
/* Line 1455 of yacc.c */
-#line 1120 "css\\CSSGrammar.y"
+#line 1120 "css/CSSGrammar.y"
{
CSSParser *p = static_cast<CSSParser*>(parser);
(yyval.selector) = p->createFloatingSelector();
@@ -3551,7 +3551,7 @@ yyreduce:
case 180:
/* Line 1455 of yacc.c */
-#line 1138 "css\\CSSGrammar.y"
+#line 1138 "css/CSSGrammar.y"
{
CSSParser *p = static_cast<CSSParser*>(parser);
(yyval.selector) = p->createFloatingSelector();
@@ -3574,7 +3574,7 @@ yyreduce:
case 181:
/* Line 1455 of yacc.c */
-#line 1156 "css\\CSSGrammar.y"
+#line 1156 "css/CSSGrammar.y"
{
CSSParser *p = static_cast<CSSParser*>(parser);
(yyval.selector) = p->createFloatingSelector();
@@ -3598,7 +3598,7 @@ yyreduce:
case 182:
/* Line 1455 of yacc.c */
-#line 1175 "css\\CSSGrammar.y"
+#line 1175 "css/CSSGrammar.y"
{
if (!(yyvsp[(4) - (6)].selector) || (yyvsp[(4) - (6)].selector)->simpleSelector() || (yyvsp[(4) - (6)].selector)->tagHistory() || (yyvsp[(4) - (6)].selector)->matchesPseudoElement())
(yyval.selector) = 0;
@@ -3616,7 +3616,7 @@ yyreduce:
case 183:
/* Line 1455 of yacc.c */
-#line 1190 "css\\CSSGrammar.y"
+#line 1190 "css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (1)].boolean);
;}
@@ -3625,7 +3625,7 @@ yyreduce:
case 184:
/* Line 1455 of yacc.c */
-#line 1193 "css\\CSSGrammar.y"
+#line 1193 "css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (2)].boolean);
if ( (yyvsp[(2) - (2)].boolean) )
@@ -3636,7 +3636,7 @@ yyreduce:
case 185:
/* Line 1455 of yacc.c */
-#line 1198 "css\\CSSGrammar.y"
+#line 1198 "css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (1)].boolean);
;}
@@ -3645,7 +3645,7 @@ yyreduce:
case 186:
/* Line 1455 of yacc.c */
-#line 1201 "css\\CSSGrammar.y"
+#line 1201 "css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
@@ -3654,7 +3654,7 @@ yyreduce:
case 187:
/* Line 1455 of yacc.c */
-#line 1204 "css\\CSSGrammar.y"
+#line 1204 "css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
@@ -3663,7 +3663,7 @@ yyreduce:
case 188:
/* Line 1455 of yacc.c */
-#line 1207 "css\\CSSGrammar.y"
+#line 1207 "css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (2)].boolean);
;}
@@ -3672,7 +3672,7 @@ yyreduce:
case 189:
/* Line 1455 of yacc.c */
-#line 1210 "css\\CSSGrammar.y"
+#line 1210 "css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (2)].boolean);
;}
@@ -3681,7 +3681,7 @@ yyreduce:
case 190:
/* Line 1455 of yacc.c */
-#line 1216 "css\\CSSGrammar.y"
+#line 1216 "css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (3)].boolean);
;}
@@ -3690,7 +3690,7 @@ yyreduce:
case 191:
/* Line 1455 of yacc.c */
-#line 1219 "css\\CSSGrammar.y"
+#line 1219 "css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
@@ -3699,7 +3699,7 @@ yyreduce:
case 192:
/* Line 1455 of yacc.c */
-#line 1222 "css\\CSSGrammar.y"
+#line 1222 "css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
@@ -3708,7 +3708,7 @@ yyreduce:
case 193:
/* Line 1455 of yacc.c */
-#line 1225 "css\\CSSGrammar.y"
+#line 1225 "css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
@@ -3717,7 +3717,7 @@ yyreduce:
case 194:
/* Line 1455 of yacc.c */
-#line 1228 "css\\CSSGrammar.y"
+#line 1228 "css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
@@ -3726,7 +3726,7 @@ yyreduce:
case 195:
/* Line 1455 of yacc.c */
-#line 1231 "css\\CSSGrammar.y"
+#line 1231 "css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (4)].boolean);
if ((yyvsp[(2) - (4)].boolean))
@@ -3737,7 +3737,7 @@ yyreduce:
case 196:
/* Line 1455 of yacc.c */
-#line 1236 "css\\CSSGrammar.y"
+#line 1236 "css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (4)].boolean);
;}
@@ -3746,7 +3746,7 @@ yyreduce:
case 197:
/* Line 1455 of yacc.c */
-#line 1239 "css\\CSSGrammar.y"
+#line 1239 "css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (6)].boolean);
;}
@@ -3755,7 +3755,7 @@ yyreduce:
case 198:
/* Line 1455 of yacc.c */
-#line 1245 "css\\CSSGrammar.y"
+#line 1245 "css/CSSGrammar.y"
{
(yyval.boolean) = false;
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -3774,7 +3774,7 @@ yyreduce:
case 199:
/* Line 1455 of yacc.c */
-#line 1259 "css\\CSSGrammar.y"
+#line 1259 "css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
p->m_valueList = new CSSParserValueList;
@@ -3791,7 +3791,7 @@ yyreduce:
case 200:
/* Line 1455 of yacc.c */
-#line 1271 "css\\CSSGrammar.y"
+#line 1271 "css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
@@ -3800,7 +3800,7 @@ yyreduce:
case 201:
/* Line 1455 of yacc.c */
-#line 1275 "css\\CSSGrammar.y"
+#line 1275 "css/CSSGrammar.y"
{
/* The default movable type template has letter-spacing: .none; Handle this by looking for
error tokens at the start of an expr, recover the expr and then treat as an error, cleaning
@@ -3812,7 +3812,7 @@ yyreduce:
case 202:
/* Line 1455 of yacc.c */
-#line 1282 "css\\CSSGrammar.y"
+#line 1282 "css/CSSGrammar.y"
{
/* When we encounter something like p {color: red !important fail;} we should drop the declaration */
(yyval.boolean) = false;
@@ -3822,7 +3822,7 @@ yyreduce:
case 203:
/* Line 1455 of yacc.c */
-#line 1287 "css\\CSSGrammar.y"
+#line 1287 "css/CSSGrammar.y"
{
/* Handle this case: div { text-align: center; !important } Just reduce away the stray !important. */
(yyval.boolean) = false;
@@ -3832,7 +3832,7 @@ yyreduce:
case 204:
/* Line 1455 of yacc.c */
-#line 1292 "css\\CSSGrammar.y"
+#line 1292 "css/CSSGrammar.y"
{
/* div { font-family: } Just reduce away this property with no value. */
(yyval.boolean) = false;
@@ -3842,7 +3842,7 @@ yyreduce:
case 205:
/* Line 1455 of yacc.c */
-#line 1297 "css\\CSSGrammar.y"
+#line 1297 "css/CSSGrammar.y"
{
/* if we come across rules with invalid values like this case: p { weight: *; }, just discard the rule */
(yyval.boolean) = false;
@@ -3852,7 +3852,7 @@ yyreduce:
case 206:
/* Line 1455 of yacc.c */
-#line 1302 "css\\CSSGrammar.y"
+#line 1302 "css/CSSGrammar.y"
{
/* if we come across: div { color{;color:maroon} }, ignore everything within curly brackets */
(yyval.boolean) = false;
@@ -3862,7 +3862,7 @@ yyreduce:
case 207:
/* Line 1455 of yacc.c */
-#line 1309 "css\\CSSGrammar.y"
+#line 1309 "css/CSSGrammar.y"
{
(yyval.integer) = cssPropertyID((yyvsp[(1) - (2)].string));
;}
@@ -3871,21 +3871,21 @@ yyreduce:
case 208:
/* Line 1455 of yacc.c */
-#line 1315 "css\\CSSGrammar.y"
+#line 1315 "css/CSSGrammar.y"
{ (yyval.boolean) = true; ;}
break;
case 209:
/* Line 1455 of yacc.c */
-#line 1316 "css\\CSSGrammar.y"
+#line 1316 "css/CSSGrammar.y"
{ (yyval.boolean) = false; ;}
break;
case 210:
/* Line 1455 of yacc.c */
-#line 1320 "css\\CSSGrammar.y"
+#line 1320 "css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.valueList) = p->createFloatingValueList();
@@ -3896,7 +3896,7 @@ yyreduce:
case 211:
/* Line 1455 of yacc.c */
-#line 1325 "css\\CSSGrammar.y"
+#line 1325 "css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.valueList) = (yyvsp[(1) - (3)].valueList);
@@ -3916,7 +3916,7 @@ yyreduce:
case 212:
/* Line 1455 of yacc.c */
-#line 1339 "css\\CSSGrammar.y"
+#line 1339 "css/CSSGrammar.y"
{
(yyval.valueList) = 0;
;}
@@ -3925,7 +3925,7 @@ yyreduce:
case 213:
/* Line 1455 of yacc.c */
-#line 1342 "css\\CSSGrammar.y"
+#line 1342 "css/CSSGrammar.y"
{
(yyval.valueList) = 0;
;}
@@ -3934,7 +3934,7 @@ yyreduce:
case 214:
/* Line 1455 of yacc.c */
-#line 1345 "css\\CSSGrammar.y"
+#line 1345 "css/CSSGrammar.y"
{
(yyval.valueList) = 0;
;}
@@ -3943,7 +3943,7 @@ yyreduce:
case 215:
/* Line 1455 of yacc.c */
-#line 1351 "css\\CSSGrammar.y"
+#line 1351 "css/CSSGrammar.y"
{
(yyval.character) = '/';
;}
@@ -3952,7 +3952,7 @@ yyreduce:
case 216:
/* Line 1455 of yacc.c */
-#line 1354 "css\\CSSGrammar.y"
+#line 1354 "css/CSSGrammar.y"
{
(yyval.character) = ',';
;}
@@ -3961,7 +3961,7 @@ yyreduce:
case 217:
/* Line 1455 of yacc.c */
-#line 1357 "css\\CSSGrammar.y"
+#line 1357 "css/CSSGrammar.y"
{
(yyval.character) = 0;
;}
@@ -3970,28 +3970,28 @@ yyreduce:
case 218:
/* Line 1455 of yacc.c */
-#line 1363 "css\\CSSGrammar.y"
+#line 1363 "css/CSSGrammar.y"
{ (yyval.value) = (yyvsp[(1) - (1)].value); ;}
break;
case 219:
/* Line 1455 of yacc.c */
-#line 1364 "css\\CSSGrammar.y"
+#line 1364 "css/CSSGrammar.y"
{ (yyval.value) = (yyvsp[(2) - (2)].value); (yyval.value).fValue *= (yyvsp[(1) - (2)].integer); ;}
break;
case 220:
/* Line 1455 of yacc.c */
-#line 1365 "css\\CSSGrammar.y"
+#line 1365 "css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).string = (yyvsp[(1) - (2)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_STRING; ;}
break;
case 221:
/* Line 1455 of yacc.c */
-#line 1366 "css\\CSSGrammar.y"
+#line 1366 "css/CSSGrammar.y"
{
(yyval.value).id = cssValueKeywordID((yyvsp[(1) - (2)].string));
(yyval.value).unit = CSSPrimitiveValue::CSS_IDENT;
@@ -4002,49 +4002,49 @@ yyreduce:
case 222:
/* Line 1455 of yacc.c */
-#line 1372 "css\\CSSGrammar.y"
+#line 1372 "css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).string = (yyvsp[(1) - (2)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_DIMENSION; ;}
break;
case 223:
/* Line 1455 of yacc.c */
-#line 1373 "css\\CSSGrammar.y"
+#line 1373 "css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).string = (yyvsp[(2) - (3)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_DIMENSION; ;}
break;
case 224:
/* Line 1455 of yacc.c */
-#line 1374 "css\\CSSGrammar.y"
+#line 1374 "css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).string = (yyvsp[(1) - (2)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_URI; ;}
break;
case 225:
/* Line 1455 of yacc.c */
-#line 1375 "css\\CSSGrammar.y"
+#line 1375 "css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).string = (yyvsp[(1) - (2)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_UNICODE_RANGE; ;}
break;
case 226:
/* Line 1455 of yacc.c */
-#line 1376 "css\\CSSGrammar.y"
+#line 1376 "css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).string = (yyvsp[(1) - (1)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_PARSER_HEXCOLOR; ;}
break;
case 227:
/* Line 1455 of yacc.c */
-#line 1377 "css\\CSSGrammar.y"
+#line 1377 "css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).string = CSSParserString(); (yyval.value).unit = CSSPrimitiveValue::CSS_PARSER_HEXCOLOR; ;}
break;
case 228:
/* Line 1455 of yacc.c */
-#line 1379 "css\\CSSGrammar.y"
+#line 1379 "css/CSSGrammar.y"
{
(yyval.value) = (yyvsp[(1) - (1)].value);
;}
@@ -4053,7 +4053,7 @@ yyreduce:
case 229:
/* Line 1455 of yacc.c */
-#line 1382 "css\\CSSGrammar.y"
+#line 1382 "css/CSSGrammar.y"
{
(yyval.value) = (yyvsp[(1) - (2)].value);
;}
@@ -4062,7 +4062,7 @@ yyreduce:
case 230:
/* Line 1455 of yacc.c */
-#line 1385 "css\\CSSGrammar.y"
+#line 1385 "css/CSSGrammar.y"
{ /* Handle width: %; */
(yyval.value).id = 0; (yyval.value).unit = 0;
;}
@@ -4071,147 +4071,147 @@ yyreduce:
case 231:
/* Line 1455 of yacc.c */
-#line 1391 "css\\CSSGrammar.y"
+#line 1391 "css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).isInt = true; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_NUMBER; ;}
break;
case 232:
/* Line 1455 of yacc.c */
-#line 1392 "css\\CSSGrammar.y"
+#line 1392 "css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).isInt = false; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_NUMBER; ;}
break;
case 233:
/* Line 1455 of yacc.c */
-#line 1393 "css\\CSSGrammar.y"
+#line 1393 "css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_PERCENTAGE; ;}
break;
case 234:
/* Line 1455 of yacc.c */
-#line 1394 "css\\CSSGrammar.y"
+#line 1394 "css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_PX; ;}
break;
case 235:
/* Line 1455 of yacc.c */
-#line 1395 "css\\CSSGrammar.y"
+#line 1395 "css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_CM; ;}
break;
case 236:
/* Line 1455 of yacc.c */
-#line 1396 "css\\CSSGrammar.y"
+#line 1396 "css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_MM; ;}
break;
case 237:
/* Line 1455 of yacc.c */
-#line 1397 "css\\CSSGrammar.y"
+#line 1397 "css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_IN; ;}
break;
case 238:
/* Line 1455 of yacc.c */
-#line 1398 "css\\CSSGrammar.y"
+#line 1398 "css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_PT; ;}
break;
case 239:
/* Line 1455 of yacc.c */
-#line 1399 "css\\CSSGrammar.y"
+#line 1399 "css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_PC; ;}
break;
case 240:
/* Line 1455 of yacc.c */
-#line 1400 "css\\CSSGrammar.y"
+#line 1400 "css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_DEG; ;}
break;
case 241:
/* Line 1455 of yacc.c */
-#line 1401 "css\\CSSGrammar.y"
+#line 1401 "css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_RAD; ;}
break;
case 242:
/* Line 1455 of yacc.c */
-#line 1402 "css\\CSSGrammar.y"
+#line 1402 "css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_GRAD; ;}
break;
case 243:
/* Line 1455 of yacc.c */
-#line 1403 "css\\CSSGrammar.y"
+#line 1403 "css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_TURN; ;}
break;
case 244:
/* Line 1455 of yacc.c */
-#line 1404 "css\\CSSGrammar.y"
+#line 1404 "css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_MS; ;}
break;
case 245:
/* Line 1455 of yacc.c */
-#line 1405 "css\\CSSGrammar.y"
+#line 1405 "css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_S; ;}
break;
case 246:
/* Line 1455 of yacc.c */
-#line 1406 "css\\CSSGrammar.y"
+#line 1406 "css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_HZ; ;}
break;
case 247:
/* Line 1455 of yacc.c */
-#line 1407 "css\\CSSGrammar.y"
+#line 1407 "css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_KHZ; ;}
break;
case 248:
/* Line 1455 of yacc.c */
-#line 1408 "css\\CSSGrammar.y"
+#line 1408 "css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_EMS; ;}
break;
case 249:
/* Line 1455 of yacc.c */
-#line 1409 "css\\CSSGrammar.y"
+#line 1409 "css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSParserValue::Q_EMS; ;}
break;
case 250:
/* Line 1455 of yacc.c */
-#line 1410 "css\\CSSGrammar.y"
+#line 1410 "css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_EXS; ;}
break;
case 251:
/* Line 1455 of yacc.c */
-#line 1411 "css\\CSSGrammar.y"
+#line 1411 "css/CSSGrammar.y"
{
(yyval.value).id = 0;
(yyval.value).fValue = (yyvsp[(1) - (2)].number);
@@ -4225,7 +4225,7 @@ yyreduce:
case 252:
/* Line 1455 of yacc.c */
-#line 1422 "css\\CSSGrammar.y"
+#line 1422 "css/CSSGrammar.y"
{
(yyval.value).id = 0;
(yyval.value).string = (yyvsp[(1) - (1)].string);
@@ -4236,7 +4236,7 @@ yyreduce:
case 253:
/* Line 1455 of yacc.c */
-#line 1430 "css\\CSSGrammar.y"
+#line 1430 "css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
CSSParserFunction* f = p->createFloatingFunction();
@@ -4251,7 +4251,7 @@ yyreduce:
case 254:
/* Line 1455 of yacc.c */
-#line 1439 "css\\CSSGrammar.y"
+#line 1439 "css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
CSSParserFunction* f = p->createFloatingFunction();
@@ -4266,21 +4266,21 @@ yyreduce:
case 255:
/* Line 1455 of yacc.c */
-#line 1455 "css\\CSSGrammar.y"
+#line 1455 "css/CSSGrammar.y"
{ (yyval.string) = (yyvsp[(1) - (2)].string); ;}
break;
case 256:
/* Line 1455 of yacc.c */
-#line 1456 "css\\CSSGrammar.y"
+#line 1456 "css/CSSGrammar.y"
{ (yyval.string) = (yyvsp[(1) - (2)].string); ;}
break;
case 257:
/* Line 1455 of yacc.c */
-#line 1463 "css\\CSSGrammar.y"
+#line 1463 "css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
@@ -4289,7 +4289,7 @@ yyreduce:
case 258:
/* Line 1455 of yacc.c */
-#line 1466 "css\\CSSGrammar.y"
+#line 1466 "css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
@@ -4298,7 +4298,7 @@ yyreduce:
case 259:
/* Line 1455 of yacc.c */
-#line 1472 "css\\CSSGrammar.y"
+#line 1472 "css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
@@ -4307,7 +4307,7 @@ yyreduce:
case 260:
/* Line 1455 of yacc.c */
-#line 1475 "css\\CSSGrammar.y"
+#line 1475 "css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
@@ -4316,7 +4316,7 @@ yyreduce:
case 261:
/* Line 1455 of yacc.c */
-#line 1481 "css\\CSSGrammar.y"
+#line 1481 "css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
@@ -4325,7 +4325,7 @@ yyreduce:
case 262:
/* Line 1455 of yacc.c */
-#line 1499 "css\\CSSGrammar.y"
+#line 1499 "css/CSSGrammar.y"
{
static_cast<CSSParser*>(parser)->invalidBlockHit();
;}
@@ -4334,7 +4334,7 @@ yyreduce:
case 263:
/* Line 1455 of yacc.c */
-#line 1502 "css\\CSSGrammar.y"
+#line 1502 "css/CSSGrammar.y"
{
static_cast<CSSParser*>(parser)->invalidBlockHit();
;}
@@ -4343,7 +4343,7 @@ yyreduce:
/* Line 1455 of yacc.c */
-#line 4347 "C:/dev/webkit-2.0/WebCore/generated/CSSGrammar.tab.c"
+#line 4347 "/WebCore/generated/CSSGrammar.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -4555,6 +4555,6 @@ yyreturn:
/* Line 1675 of yacc.c */
-#line 1512 "css\\CSSGrammar.y"
+#line 1512 "css/CSSGrammar.y"
diff --git a/src/3rdparty/webkit/WebCore/generated/CSSGrammar.h b/src/3rdparty/webkit/WebCore/generated/CSSGrammar.h
index 31d6cce..8e0f4bb 100644
--- a/src/3rdparty/webkit/WebCore/generated/CSSGrammar.h
+++ b/src/3rdparty/webkit/WebCore/generated/CSSGrammar.h
@@ -115,7 +115,7 @@ typedef union YYSTYPE
{
/* Line 1676 of yacc.c */
-#line 62 "css\\CSSGrammar.y"
+#line 62 "css/CSSGrammar.y"
bool boolean;
char character;
@@ -142,7 +142,7 @@ typedef union YYSTYPE
/* Line 1676 of yacc.c */
-#line 144 "C:/dev/webkit-2.0/WebCore/generated/CSSGrammar.tab.h"
+#line 144 "/WebCore/generated/CSSGrammar.tab.h"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
diff --git a/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.cpp b/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.cpp
index e6ed010..87fb55b 100644
--- a/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.cpp
@@ -1,4 +1,4 @@
-/* ANSI-C code produced by gperf version 3.0.1 */
+/* ANSI-C code produced by gperf version 3.0.3 */
/* Command-line: gperf -a -L ANSI-C -E -C -c -o -t --key-positions='*' -NfindProp -Hhash_prop -Wwordlist_prop -D -s 2 CSSPropertyNames.gperf */
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -217,6 +217,9 @@ hash_prop (register const char *str, register unsigned int len)
#ifdef __GNUC__
__inline
+#ifdef __GNUC_STDC_INLINE__
+__attribute__ ((__gnu_inline__))
+#endif
#endif
const struct props *
findProp (register const char *str, register unsigned int len)
diff --git a/src/3rdparty/webkit/WebCore/generated/CSSValueKeywords.c b/src/3rdparty/webkit/WebCore/generated/CSSValueKeywords.c
index 89b1c4a..6a2581e 100644
--- a/src/3rdparty/webkit/WebCore/generated/CSSValueKeywords.c
+++ b/src/3rdparty/webkit/WebCore/generated/CSSValueKeywords.c
@@ -1,4 +1,4 @@
-/* ANSI-C code produced by gperf version 3.0.1 */
+/* ANSI-C code produced by gperf version 3.0.3 */
/* Command-line: gperf -L ANSI-C -E -C -n -o -t --key-positions='*' -NfindValue -Hhash_val -Wwordlist_value -D CSSValueKeywords.gperf */
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -194,6 +194,9 @@ hash_val (register const char *str, register unsigned int len)
#ifdef __GNUC__
__inline
+#ifdef __GNUC_STDC_INLINE__
+__attribute__ ((__gnu_inline__))
+#endif
#endif
const struct css_value *
findValue (register const char *str, register unsigned int len)
diff --git a/src/3rdparty/webkit/WebCore/generated/ColorData.c b/src/3rdparty/webkit/WebCore/generated/ColorData.c
index 4fb1bea..5d64dda 100644
--- a/src/3rdparty/webkit/WebCore/generated/ColorData.c
+++ b/src/3rdparty/webkit/WebCore/generated/ColorData.c
@@ -1,4 +1,4 @@
-/* ANSI-C code produced by gperf version 3.0.1 */
+/* ANSI-C code produced by gperf version 3.0.3 */
/* Command-line: gperf -CDEot -L ANSI-C --includes --key-positions='*' -N findColor -D -s 2 */
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -141,6 +141,9 @@ hash (register const char *str, register unsigned int len)
#ifdef __GNUC__
__inline
+#ifdef __GNUC_STDC_INLINE__
+__attribute__ ((__gnu_inline__))
+#endif
#endif
const struct NamedColor *
findColor (register const char *str, register unsigned int len)
diff --git a/src/3rdparty/webkit/WebCore/generated/DocTypeStrings.cpp b/src/3rdparty/webkit/WebCore/generated/DocTypeStrings.cpp
index 2aab9b9..d69b1b6 100644
--- a/src/3rdparty/webkit/WebCore/generated/DocTypeStrings.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/DocTypeStrings.cpp
@@ -1,4 +1,4 @@
-/* ANSI-C code produced by gperf version 3.0.1 */
+/* ANSI-C code produced by gperf version 3.0.3 */
/* Command-line: gperf -CEot -L ANSI-C --includes --key-positions='*' -N findDoctypeEntry -F ,PubIDInfo::eAlmostStandards,PubIDInfo::eAlmostStandards */
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -331,6 +331,9 @@ hash (register const char *str, register unsigned int len)
#ifdef __GNUC__
__inline
+#ifdef __GNUC_STDC_INLINE__
+__attribute__ ((__gnu_inline__))
+#endif
#endif
const struct PubIDInfo *
findDoctypeEntry (register const char *str, register unsigned int len)
diff --git a/src/3rdparty/webkit/WebCore/generated/HTMLEntityNames.c b/src/3rdparty/webkit/WebCore/generated/HTMLEntityNames.c
index 8bd9d97..761f29d 100644
--- a/src/3rdparty/webkit/WebCore/generated/HTMLEntityNames.c
+++ b/src/3rdparty/webkit/WebCore/generated/HTMLEntityNames.c
@@ -1,4 +1,4 @@
-/* ANSI-C code produced by gperf version 3.0.1 */
+/* ANSI-C code produced by gperf version 3.0.3 */
/* Command-line: gperf -a -L ANSI-C -C -G -c -o -t --includes --key-positions='*' -N findEntity -D -s 2 */
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -521,6 +521,9 @@ static const short lookup[] =
#ifdef __GNUC__
__inline
+#ifdef __GNUC_STDC_INLINE__
+__attribute__ ((__gnu_inline__))
+#endif
#endif
const struct Entity *
findEntity (register const char *str, register unsigned int len)
diff --git a/src/3rdparty/webkit/WebCore/generated/XPathGrammar.cpp b/src/3rdparty/webkit/WebCore/generated/XPathGrammar.cpp
index 7a54748..0859634 100644
--- a/src/3rdparty/webkit/WebCore/generated/XPathGrammar.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/XPathGrammar.cpp
@@ -76,7 +76,7 @@
/* Copy the first part of user declarations. */
/* Line 189 of yacc.c */
-#line 28 "xml\\XPathGrammar.y"
+#line 28 "xml/XPathGrammar.y"
#include "config.h"
@@ -107,7 +107,7 @@ using namespace XPath;
/* Line 189 of yacc.c */
-#line 111 "C:/dev/webkit-2.0/WebCore/generated/XPathGrammar.tab.c"
+#line 111 "/WebCore/generated/XPathGrammar.tab.c"
/* Enabling traces. */
#ifndef YYDEBUG
@@ -162,7 +162,7 @@ typedef union YYSTYPE
{
/* Line 214 of yacc.c */
-#line 60 "xml\\XPathGrammar.y"
+#line 60 "xml/XPathGrammar.y"
Step::Axis axis;
Step::NodeTest* nodeTest;
@@ -178,7 +178,7 @@ typedef union YYSTYPE
/* Line 214 of yacc.c */
-#line 182 "C:/dev/webkit-2.0/WebCore/generated/XPathGrammar.tab.c"
+#line 182 "/WebCore/generated/XPathGrammar.tab.c"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -189,7 +189,7 @@ typedef union YYSTYPE
/* Copy the second part of user declarations. */
/* Line 264 of yacc.c */
-#line 73 "xml\\XPathGrammar.y"
+#line 73 "xml/XPathGrammar.y"
static int xpathyylex(YYSTYPE* yylval) { return Parser::current()->lex(yylval); }
@@ -198,7 +198,7 @@ static void xpathyyerror(const char*) { }
/* Line 264 of yacc.c */
-#line 202 "C:/dev/webkit-2.0/WebCore/generated/XPathGrammar.tab.c"
+#line 202 "/WebCore/generated/XPathGrammar.tab.c"
#ifdef short
# undef short
@@ -1483,7 +1483,7 @@ yyreduce:
case 2:
/* Line 1455 of yacc.c */
-#line 122 "xml\\XPathGrammar.y"
+#line 122 "xml/XPathGrammar.y"
{
PARSER->m_topExpr = (yyvsp[(1) - (1)].expr);
;}
@@ -1492,7 +1492,7 @@ yyreduce:
case 3:
/* Line 1455 of yacc.c */
-#line 129 "xml\\XPathGrammar.y"
+#line 129 "xml/XPathGrammar.y"
{
(yyval.locationPath)->setAbsolute(false);
;}
@@ -1501,7 +1501,7 @@ yyreduce:
case 4:
/* Line 1455 of yacc.c */
-#line 134 "xml\\XPathGrammar.y"
+#line 134 "xml/XPathGrammar.y"
{
(yyval.locationPath)->setAbsolute(true);
;}
@@ -1510,7 +1510,7 @@ yyreduce:
case 5:
/* Line 1455 of yacc.c */
-#line 141 "xml\\XPathGrammar.y"
+#line 141 "xml/XPathGrammar.y"
{
(yyval.locationPath) = new LocationPath;
PARSER->registerParseNode((yyval.locationPath));
@@ -1520,7 +1520,7 @@ yyreduce:
case 6:
/* Line 1455 of yacc.c */
-#line 147 "xml\\XPathGrammar.y"
+#line 147 "xml/XPathGrammar.y"
{
(yyval.locationPath) = (yyvsp[(2) - (2)].locationPath);
;}
@@ -1529,7 +1529,7 @@ yyreduce:
case 7:
/* Line 1455 of yacc.c */
-#line 152 "xml\\XPathGrammar.y"
+#line 152 "xml/XPathGrammar.y"
{
(yyval.locationPath) = (yyvsp[(2) - (2)].locationPath);
(yyval.locationPath)->insertFirstStep((yyvsp[(1) - (2)].step));
@@ -1540,7 +1540,7 @@ yyreduce:
case 8:
/* Line 1455 of yacc.c */
-#line 161 "xml\\XPathGrammar.y"
+#line 161 "xml/XPathGrammar.y"
{
(yyval.locationPath) = new LocationPath;
(yyval.locationPath)->appendStep((yyvsp[(1) - (1)].step));
@@ -1552,7 +1552,7 @@ yyreduce:
case 9:
/* Line 1455 of yacc.c */
-#line 169 "xml\\XPathGrammar.y"
+#line 169 "xml/XPathGrammar.y"
{
(yyval.locationPath)->appendStep((yyvsp[(3) - (3)].step));
PARSER->unregisterParseNode((yyvsp[(3) - (3)].step));
@@ -1562,7 +1562,7 @@ yyreduce:
case 10:
/* Line 1455 of yacc.c */
-#line 175 "xml\\XPathGrammar.y"
+#line 175 "xml/XPathGrammar.y"
{
(yyval.locationPath)->appendStep((yyvsp[(2) - (3)].step));
(yyval.locationPath)->appendStep((yyvsp[(3) - (3)].step));
@@ -1574,7 +1574,7 @@ yyreduce:
case 11:
/* Line 1455 of yacc.c */
-#line 185 "xml\\XPathGrammar.y"
+#line 185 "xml/XPathGrammar.y"
{
if ((yyvsp[(2) - (2)].predList)) {
(yyval.step) = new Step(Step::ChildAxis, *(yyvsp[(1) - (2)].nodeTest), *(yyvsp[(2) - (2)].predList));
@@ -1589,7 +1589,7 @@ yyreduce:
case 12:
/* Line 1455 of yacc.c */
-#line 196 "xml\\XPathGrammar.y"
+#line 196 "xml/XPathGrammar.y"
{
String localName;
String namespaceURI;
@@ -1611,7 +1611,7 @@ yyreduce:
case 13:
/* Line 1455 of yacc.c */
-#line 214 "xml\\XPathGrammar.y"
+#line 214 "xml/XPathGrammar.y"
{
if ((yyvsp[(3) - (3)].predList)) {
(yyval.step) = new Step((yyvsp[(1) - (3)].axis), *(yyvsp[(2) - (3)].nodeTest), *(yyvsp[(3) - (3)].predList));
@@ -1626,7 +1626,7 @@ yyreduce:
case 14:
/* Line 1455 of yacc.c */
-#line 225 "xml\\XPathGrammar.y"
+#line 225 "xml/XPathGrammar.y"
{
String localName;
String namespaceURI;
@@ -1648,7 +1648,7 @@ yyreduce:
case 17:
/* Line 1455 of yacc.c */
-#line 249 "xml\\XPathGrammar.y"
+#line 249 "xml/XPathGrammar.y"
{
(yyval.axis) = Step::AttributeAxis;
;}
@@ -1657,7 +1657,7 @@ yyreduce:
case 18:
/* Line 1455 of yacc.c */
-#line 256 "xml\\XPathGrammar.y"
+#line 256 "xml/XPathGrammar.y"
{
if (*(yyvsp[(1) - (3)].str) == "node")
(yyval.nodeTest) = new Step::NodeTest(Step::NodeTest::AnyNodeTest);
@@ -1674,7 +1674,7 @@ yyreduce:
case 19:
/* Line 1455 of yacc.c */
-#line 269 "xml\\XPathGrammar.y"
+#line 269 "xml/XPathGrammar.y"
{
(yyval.nodeTest) = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest);
PARSER->deleteString((yyvsp[(1) - (3)].str));
@@ -1685,7 +1685,7 @@ yyreduce:
case 20:
/* Line 1455 of yacc.c */
-#line 276 "xml\\XPathGrammar.y"
+#line 276 "xml/XPathGrammar.y"
{
(yyval.nodeTest) = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest, (yyvsp[(3) - (4)].str)->stripWhiteSpace());
PARSER->deleteString((yyvsp[(1) - (4)].str));
@@ -1697,7 +1697,7 @@ yyreduce:
case 21:
/* Line 1455 of yacc.c */
-#line 286 "xml\\XPathGrammar.y"
+#line 286 "xml/XPathGrammar.y"
{
(yyval.predList) = 0;
;}
@@ -1706,7 +1706,7 @@ yyreduce:
case 23:
/* Line 1455 of yacc.c */
-#line 295 "xml\\XPathGrammar.y"
+#line 295 "xml/XPathGrammar.y"
{
(yyval.predList) = new Vector<Predicate*>;
(yyval.predList)->append(new Predicate((yyvsp[(1) - (1)].expr)));
@@ -1718,7 +1718,7 @@ yyreduce:
case 24:
/* Line 1455 of yacc.c */
-#line 303 "xml\\XPathGrammar.y"
+#line 303 "xml/XPathGrammar.y"
{
(yyval.predList)->append(new Predicate((yyvsp[(2) - (2)].expr)));
PARSER->unregisterParseNode((yyvsp[(2) - (2)].expr));
@@ -1728,7 +1728,7 @@ yyreduce:
case 25:
/* Line 1455 of yacc.c */
-#line 311 "xml\\XPathGrammar.y"
+#line 311 "xml/XPathGrammar.y"
{
(yyval.expr) = (yyvsp[(2) - (3)].expr);
;}
@@ -1737,7 +1737,7 @@ yyreduce:
case 26:
/* Line 1455 of yacc.c */
-#line 318 "xml\\XPathGrammar.y"
+#line 318 "xml/XPathGrammar.y"
{
(yyval.step) = new Step(Step::DescendantOrSelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
PARSER->registerParseNode((yyval.step));
@@ -1747,7 +1747,7 @@ yyreduce:
case 27:
/* Line 1455 of yacc.c */
-#line 326 "xml\\XPathGrammar.y"
+#line 326 "xml/XPathGrammar.y"
{
(yyval.step) = new Step(Step::SelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
PARSER->registerParseNode((yyval.step));
@@ -1757,7 +1757,7 @@ yyreduce:
case 28:
/* Line 1455 of yacc.c */
-#line 332 "xml\\XPathGrammar.y"
+#line 332 "xml/XPathGrammar.y"
{
(yyval.step) = new Step(Step::ParentAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
PARSER->registerParseNode((yyval.step));
@@ -1767,7 +1767,7 @@ yyreduce:
case 29:
/* Line 1455 of yacc.c */
-#line 340 "xml\\XPathGrammar.y"
+#line 340 "xml/XPathGrammar.y"
{
(yyval.expr) = new VariableReference(*(yyvsp[(1) - (1)].str));
PARSER->deleteString((yyvsp[(1) - (1)].str));
@@ -1778,7 +1778,7 @@ yyreduce:
case 30:
/* Line 1455 of yacc.c */
-#line 347 "xml\\XPathGrammar.y"
+#line 347 "xml/XPathGrammar.y"
{
(yyval.expr) = (yyvsp[(2) - (3)].expr);
;}
@@ -1787,7 +1787,7 @@ yyreduce:
case 31:
/* Line 1455 of yacc.c */
-#line 352 "xml\\XPathGrammar.y"
+#line 352 "xml/XPathGrammar.y"
{
(yyval.expr) = new StringExpression(*(yyvsp[(1) - (1)].str));
PARSER->deleteString((yyvsp[(1) - (1)].str));
@@ -1798,7 +1798,7 @@ yyreduce:
case 32:
/* Line 1455 of yacc.c */
-#line 359 "xml\\XPathGrammar.y"
+#line 359 "xml/XPathGrammar.y"
{
(yyval.expr) = new Number((yyvsp[(1) - (1)].str)->toDouble());
PARSER->deleteString((yyvsp[(1) - (1)].str));
@@ -1809,7 +1809,7 @@ yyreduce:
case 34:
/* Line 1455 of yacc.c */
-#line 370 "xml\\XPathGrammar.y"
+#line 370 "xml/XPathGrammar.y"
{
(yyval.expr) = createFunction(*(yyvsp[(1) - (3)].str));
if (!(yyval.expr))
@@ -1822,7 +1822,7 @@ yyreduce:
case 35:
/* Line 1455 of yacc.c */
-#line 379 "xml\\XPathGrammar.y"
+#line 379 "xml/XPathGrammar.y"
{
(yyval.expr) = createFunction(*(yyvsp[(1) - (4)].str), *(yyvsp[(3) - (4)].argList));
if (!(yyval.expr))
@@ -1836,7 +1836,7 @@ yyreduce:
case 36:
/* Line 1455 of yacc.c */
-#line 391 "xml\\XPathGrammar.y"
+#line 391 "xml/XPathGrammar.y"
{
(yyval.argList) = new Vector<Expression*>;
(yyval.argList)->append((yyvsp[(1) - (1)].expr));
@@ -1848,7 +1848,7 @@ yyreduce:
case 37:
/* Line 1455 of yacc.c */
-#line 399 "xml\\XPathGrammar.y"
+#line 399 "xml/XPathGrammar.y"
{
(yyval.argList)->append((yyvsp[(3) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(3) - (3)].expr));
@@ -1858,7 +1858,7 @@ yyreduce:
case 40:
/* Line 1455 of yacc.c */
-#line 413 "xml\\XPathGrammar.y"
+#line 413 "xml/XPathGrammar.y"
{
(yyval.expr) = new Union;
(yyval.expr)->addSubExpression((yyvsp[(1) - (3)].expr));
@@ -1872,7 +1872,7 @@ yyreduce:
case 41:
/* Line 1455 of yacc.c */
-#line 425 "xml\\XPathGrammar.y"
+#line 425 "xml/XPathGrammar.y"
{
(yyval.expr) = (yyvsp[(1) - (1)].locationPath);
;}
@@ -1881,7 +1881,7 @@ yyreduce:
case 43:
/* Line 1455 of yacc.c */
-#line 432 "xml\\XPathGrammar.y"
+#line 432 "xml/XPathGrammar.y"
{
(yyvsp[(3) - (3)].locationPath)->setAbsolute(true);
(yyval.expr) = new Path(static_cast<Filter*>((yyvsp[(1) - (3)].expr)), (yyvsp[(3) - (3)].locationPath));
@@ -1894,7 +1894,7 @@ yyreduce:
case 44:
/* Line 1455 of yacc.c */
-#line 441 "xml\\XPathGrammar.y"
+#line 441 "xml/XPathGrammar.y"
{
(yyvsp[(3) - (3)].locationPath)->insertFirstStep((yyvsp[(2) - (3)].step));
(yyvsp[(3) - (3)].locationPath)->setAbsolute(true);
@@ -1909,7 +1909,7 @@ yyreduce:
case 46:
/* Line 1455 of yacc.c */
-#line 456 "xml\\XPathGrammar.y"
+#line 456 "xml/XPathGrammar.y"
{
(yyval.expr) = new Filter((yyvsp[(1) - (2)].expr), *(yyvsp[(2) - (2)].predList));
PARSER->unregisterParseNode((yyvsp[(1) - (2)].expr));
@@ -1921,7 +1921,7 @@ yyreduce:
case 48:
/* Line 1455 of yacc.c */
-#line 468 "xml\\XPathGrammar.y"
+#line 468 "xml/XPathGrammar.y"
{
(yyval.expr) = new LogicalOp(LogicalOp::OP_Or, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
@@ -1933,7 +1933,7 @@ yyreduce:
case 50:
/* Line 1455 of yacc.c */
-#line 480 "xml\\XPathGrammar.y"
+#line 480 "xml/XPathGrammar.y"
{
(yyval.expr) = new LogicalOp(LogicalOp::OP_And, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
@@ -1945,7 +1945,7 @@ yyreduce:
case 52:
/* Line 1455 of yacc.c */
-#line 492 "xml\\XPathGrammar.y"
+#line 492 "xml/XPathGrammar.y"
{
(yyval.expr) = new EqTestOp((yyvsp[(2) - (3)].eqop), (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
@@ -1957,7 +1957,7 @@ yyreduce:
case 54:
/* Line 1455 of yacc.c */
-#line 504 "xml\\XPathGrammar.y"
+#line 504 "xml/XPathGrammar.y"
{
(yyval.expr) = new EqTestOp((yyvsp[(2) - (3)].eqop), (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
@@ -1969,7 +1969,7 @@ yyreduce:
case 56:
/* Line 1455 of yacc.c */
-#line 516 "xml\\XPathGrammar.y"
+#line 516 "xml/XPathGrammar.y"
{
(yyval.expr) = new NumericOp(NumericOp::OP_Add, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
@@ -1981,7 +1981,7 @@ yyreduce:
case 57:
/* Line 1455 of yacc.c */
-#line 524 "xml\\XPathGrammar.y"
+#line 524 "xml/XPathGrammar.y"
{
(yyval.expr) = new NumericOp(NumericOp::OP_Sub, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
@@ -1993,7 +1993,7 @@ yyreduce:
case 59:
/* Line 1455 of yacc.c */
-#line 536 "xml\\XPathGrammar.y"
+#line 536 "xml/XPathGrammar.y"
{
(yyval.expr) = new NumericOp((yyvsp[(2) - (3)].numop), (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
@@ -2005,7 +2005,7 @@ yyreduce:
case 61:
/* Line 1455 of yacc.c */
-#line 548 "xml\\XPathGrammar.y"
+#line 548 "xml/XPathGrammar.y"
{
(yyval.expr) = new Negative;
(yyval.expr)->addSubExpression((yyvsp[(2) - (2)].expr));
@@ -2017,7 +2017,7 @@ yyreduce:
/* Line 1455 of yacc.c */
-#line 2021 "C:/dev/webkit-2.0/WebCore/generated/XPathGrammar.tab.c"
+#line 2021 "/WebCore/generated/XPathGrammar.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -2229,7 +2229,7 @@ yyreturn:
/* Line 1675 of yacc.c */
-#line 556 "xml\\XPathGrammar.y"
+#line 556 "xml/XPathGrammar.y"
#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/XPathGrammar.h b/src/3rdparty/webkit/WebCore/generated/XPathGrammar.h
index c3dbd2b..7264598 100644
--- a/src/3rdparty/webkit/WebCore/generated/XPathGrammar.h
+++ b/src/3rdparty/webkit/WebCore/generated/XPathGrammar.h
@@ -67,7 +67,7 @@ typedef union YYSTYPE
{
/* Line 1676 of yacc.c */
-#line 60 "xml\\XPathGrammar.y"
+#line 60 "xml/XPathGrammar.y"
Step::Axis axis;
Step::NodeTest* nodeTest;
@@ -83,7 +83,7 @@ typedef union YYSTYPE
/* Line 1676 of yacc.c */
-#line 87 "C:/dev/webkit-2.0/WebCore/generated/XPathGrammar.tab.h"
+#line 87 "/WebCore/generated/XPathGrammar.tab.h"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
diff --git a/src/3rdparty/webkit/WebCore/generated/tokenizer.cpp b/src/3rdparty/webkit/WebCore/generated/tokenizer.cpp
index d9a94f5..9a19e9e 100644
--- a/src/3rdparty/webkit/WebCore/generated/tokenizer.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/tokenizer.cpp
@@ -65,46 +65,53 @@ typedef unsigned int flex_uint32_t;
#endif /* ! C99 */
#define YY_NUM_RULES 69
#define YY_END_OF_BUFFER 70
-static yyconst short int yy_accept[482] =
+/* This struct is not used in this scanner,
+ but its presence is necessary. */
+struct yy_trans_info
+ {
+ flex_int32_t yy_verify;
+ flex_int32_t yy_nxt;
+ };
+static yyconst flex_int16_t yy_accept[482] =
{ 0,
0, 0, 0, 0, 0, 0, 70, 68, 2, 2,
68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 57, 68, 68, 68, 68, 15, 15, 15, 68, 68,
+ 57, 68, 68, 15, 15, 15, 68, 68, 68, 68,
67, 15, 15, 15, 66, 15, 2, 0, 0, 0,
- 14, 0, 0, 0, 0, 18, 18, 8, 0, 0,
- 9, 0, 16, 0, 0, 15, 15, 15, 58, 0,
- 56, 0, 0, 57, 0, 55, 55, 55, 55, 55,
- 55, 55, 55, 55, 55, 16, 55, 55, 52, 55,
- 0, 0, 0, 35, 35, 35, 35, 35, 35, 35,
- 15, 15, 7, 63, 15, 0, 0, 15, 15, 0,
-
- 15, 6, 5, 15, 15, 15, 15, 0, 0, 0,
- 14, 0, 0, 0, 18, 18, 18, 0, 18, 0,
- 0, 14, 0, 0, 4, 15, 0, 0, 55, 55,
- 55, 0, 55, 42, 55, 37, 40, 55, 53, 44,
- 55, 43, 51, 55, 46, 45, 41, 55, 55, 55,
- 0, 35, 35, 35, 35, 0, 35, 35, 35, 35,
- 35, 35, 15, 15, 15, 16, 15, 15, 64, 64,
- 15, 12, 10, 15, 13, 0, 0, 0, 17, 18,
- 18, 18, 17, 0, 0, 15, 0, 1, 55, 55,
- 55, 55, 47, 55, 54, 16, 48, 38, 55, 3,
+ 14, 0, 0, 0, 18, 18, 0, 8, 0, 0,
+ 9, 0, 16, 0, 15, 15, 15, 0, 58, 0,
+ 56, 0, 0, 57, 55, 55, 55, 55, 55, 55,
+ 55, 55, 55, 16, 55, 55, 52, 55, 0, 55,
+ 0, 0, 35, 35, 35, 35, 35, 35, 35, 0,
+ 63, 15, 0, 0, 15, 15, 0, 15, 15, 15,
+
+ 7, 6, 5, 15, 15, 15, 15, 0, 0, 0,
+ 14, 0, 0, 0, 18, 18, 0, 18, 18, 0,
+ 0, 14, 0, 0, 4, 15, 0, 0, 55, 0,
+ 42, 55, 37, 40, 55, 53, 44, 55, 43, 51,
+ 55, 46, 45, 41, 55, 55, 55, 55, 55, 55,
+ 0, 35, 35, 0, 35, 35, 35, 35, 35, 35,
+ 35, 35, 15, 15, 16, 15, 15, 64, 64, 15,
+ 15, 12, 10, 15, 13, 0, 0, 0, 17, 17,
+ 18, 18, 18, 0, 0, 15, 0, 1, 55, 55,
+ 47, 55, 54, 16, 48, 38, 55, 55, 55, 3,
35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 15, 15, 59, 0, 64, 64, 64, 63, 11, 0,
+ 15, 59, 0, 64, 64, 64, 63, 15, 11, 0,
0, 0, 18, 18, 18, 0, 15, 0, 0, 55,
- 55, 55, 49, 50, 35, 35, 35, 35, 35, 35,
- 35, 35, 20, 15, 15, 65, 64, 64, 64, 64,
- 0, 0, 0, 0, 61, 0, 0, 0, 0, 18,
+ 49, 50, 55, 55, 35, 35, 35, 35, 35, 35,
+ 35, 20, 35, 15, 65, 64, 64, 64, 64, 0,
+ 0, 0, 0, 61, 0, 15, 0, 0, 0, 18,
18, 18, 0, 15, 55, 55, 39, 35, 35, 35,
- 35, 35, 35, 21, 35, 15, 15, 65, 64, 64,
- 64, 64, 64, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 61, 0, 0, 0, 0, 17, 18, 18,
-
- 17, 0, 15, 55, 55, 35, 35, 35, 35, 35,
- 19, 35, 15, 15, 65, 64, 64, 64, 64, 64,
- 64, 0, 60, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 18, 18, 0, 15,
- 55, 55, 35, 35, 35, 23, 35, 35, 15, 65,
+ 35, 35, 21, 35, 35, 15, 65, 64, 64, 64,
+ 64, 64, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 61, 0, 0, 15, 0, 0, 17, 17, 18,
+
+ 18, 0, 15, 55, 55, 35, 35, 35, 35, 19,
+ 35, 35, 15, 65, 64, 64, 64, 64, 64, 64,
+ 0, 60, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 15, 0, 0, 18, 18, 0, 15,
+ 55, 55, 35, 35, 23, 35, 35, 35, 15, 65,
64, 64, 64, 64, 64, 64, 64, 0, 60, 0,
0, 0, 60, 0, 0, 0, 0, 18, 15, 55,
35, 35, 35, 35, 65, 0, 0, 0, 36, 15,
@@ -113,7 +120,7 @@ static yyconst short int yy_accept[482] =
0, 0, 63, 35, 35, 35, 35, 35, 35, 35,
35, 0, 0, 0, 0, 0, 0, 35, 35, 35,
- 35, 25, 35, 35, 35, 0, 0, 0, 62, 0,
+ 35, 25, 35, 35, 35, 0, 62, 0, 0, 0,
0, 26, 35, 35, 35, 35, 27, 35, 0, 0,
0, 0, 31, 35, 35, 35, 35, 0, 0, 0,
35, 35, 35, 35, 0, 0, 35, 35, 29, 35,
@@ -122,7 +129,7 @@ static yyconst short int yy_accept[482] =
0
} ;
-static yyconst int yy_ec[256] =
+static yyconst flex_int32_t yy_ec[256] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
1, 4, 5, 1, 1, 1, 1, 1, 1, 1,
@@ -130,438 +137,911 @@ static yyconst int yy_ec[256] =
1, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 12, 18, 19, 20, 21, 21, 21,
21, 21, 21, 21, 21, 21, 21, 12, 22, 23,
- 24, 25, 26, 27, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 12, 28, 12, 29, 30, 12, 31, 32, 33, 34,
-
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 12, 59, 1, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
-
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 12, 54, 12, 55, 56, 12, 57, 58, 59, 60,
+
+ 61, 62, 63, 64, 65, 37, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 12, 84, 1, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85
} ;
-static yyconst int yy_meta[61] =
+static yyconst flex_int32_t yy_meta[86] =
{ 0,
- 1, 2, 3, 3, 3, 4, 5, 5, 5, 5,
- 5, 5, 5, 6, 7, 5, 5, 8, 5, 5,
- 9, 5, 5, 5, 5, 10, 5, 11, 5, 11,
- 12, 12, 12, 12, 12, 12, 11, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 5, 5, 5, 11
+ 1, 2, 3, 4, 4, 5, 6, 7, 6, 6,
+ 6, 6, 7, 8, 9, 6, 6, 10, 6, 6,
+ 11, 6, 6, 6, 6, 12, 6, 13, 13, 13,
+ 13, 13, 13, 14, 14, 14, 14, 14, 14, 14,
+ 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+ 14, 14, 14, 14, 6, 14, 13, 13, 13, 13,
+ 13, 13, 14, 14, 14, 14, 14, 14, 14, 14,
+ 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+ 14, 6, 6, 6, 14
} ;
-static yyconst short int yy_base[520] =
+static yyconst flex_int16_t yy_base[553] =
{ 0,
- 0, 0, 39, 41, 1591, 1590, 1625, 2401, 62, 71,
- 76, 61, 69, 1588, 78, 1587, 50, 89, 1583, 1580,
- 132, 1579, 91, 123, 1561, 85, 94, 104, 1560, 1559,
- 2401, 117, 176, 175, 2401, 177, 193, 204, 1539, 108,
- 2401, 242, 120, 180, 196, 1553, 205, 2401, 101, 277,
- 2401, 102, 75, 1555, 221, 112, 206, 234, 181, 1561,
- 1565, 1547, 1553, 0, 268, 119, 1545, 221, 60, 240,
- 223, 230, 244, 257, 278, 279, 286, 256, 1533, 264,
- 1542, 298, 297, 1523, 296, 190, 292, 231, 97, 294,
- 309, 350, 2401, 2401, 329, 327, 1524, 351, 352, 372,
-
- 359, 2401, 2401, 360, 361, 381, 362, 1496, 339, 341,
- 342, 422, 457, 400, 1513, 492, 1512, 448, 483, 409,
- 364, 386, 527, 562, 2401, 435, 1523, 245, 1498, 597,
- 1497, 518, 368, 1483, 363, 1481, 1479, 310, 1478, 1477,
- 289, 1474, 1463, 239, 1440, 1432, 1428, 385, 401, 369,
- 1436, 311, 1425, 632, 1422, 553, 410, 420, 424, 411,
- 423, 440, 588, 458, 667, 1420, 626, 459, 481, 1403,
- 492, 494, 507, 627, 528, 1382, 412, 658, 674, 683,
- 1398, 718, 709, 544, 725, 563, 1368, 2401, 734, 1348,
- 769, 474, 1324, 477, 1314, 482, 1313, 1305, 548, 2401,
-
- 414, 760, 1289, 804, 578, 484, 582, 508, 509, 510,
- 795, 811, 2401, 820, 552, 1290, 1272, 855, 554, 1197,
- 841, 857, 863, 879, 885, 901, 647, 1228, 455, 907,
- 923, 614, 1191, 1123, 611, 929, 945, 628, 551, 630,
- 515, 631, 1115, 951, 967, 973, 555, 1109, 1101, 1093,
- 1008, 1022, 668, 684, 2401, 1049, 1061, 1008, 1040, 1057,
- 1065, 1073, 1081, 634, 1089, 1097, 1067, 577, 1105, 1113,
- 579, 615, 683, 1041, 685, 1121, 1129, 1137, 708, 1041,
- 991, 965, 947, 774, 719, 782, 1172, 735, 1207, 1186,
- 1219, 1246, 1260, 1287, 1322, 876, 1246, 2401, 1278, 1313,
-
- 854, 1330, 805, 1338, 1346, 770, 1354, 1362, 771, 580,
- 822, 584, 1397, 1383, 1399, 710, 792, 712, 711, 661,
- 659, 809, 2401, 877, 754, 1434, 1461, 1496, 1019, 821,
- 1442, 1531, 1566, 1440, 639, 1487, 921, 1522, 1557, 851,
- 965, 1574, 707, 1301, 1582, 618, 616, 617, 1617, 1603,
- 562, 2401, 2401, 2401, 2401, 2401, 2401, 1475, 858, 859,
- 1619, 1654, 917, 918, 1640, 1656, 521, 1482, 961, 1510,
- 1652, 1544, 646, 836, 1675, 1681, 1697, 1703, 2401, 1017,
- 873, 874, 962, 853, 1021, 701, 513, 473, 2401, 1719,
- 1725, 1741, 1005, 1150, 419, 919, 992, 1018, 1139, 1747,
-
- 1763, 1769, 1804, 1154, 1020, 1030, 1040, 1131, 1167, 901,
- 1187, 1792, 1808, 1831, 1403, 1829, 1851, 820, 1059, 967,
- 920, 472, 789, 1201, 1185, 1865, 1892, 1281, 2401, 1871,
- 1869, 448, 1202, 1225, 736, 946, 390, 585, 1906, 1908,
- 1943, 1970, 388, 1190, 1218, 1227, 1156, 1929, 1951, 1949,
- 1266, 1303, 990, 1304, 1976, 1992, 1394, 1169, 340, 1248,
- 1998, 2014, 1312, 316, 1203, 1242, 2020, 2036, 1340, 265,
- 1151, 2042, 1229, 1423, 1424, 1395, 92, 1382, 1364, 34,
- 2401, 2077, 2082, 2093, 2098, 2103, 2112, 2119, 2130, 2139,
- 2144, 2155, 2167, 2169, 2178, 2183, 2192, 2197, 2206, 2215,
-
- 2227, 2236, 2245, 2250, 2262, 2267, 2278, 2283, 2294, 2305,
- 2316, 2321, 2332, 2343, 2348, 2359, 2368, 2379, 2388
+ 0, 0, 64, 66, 54, 56, 1486, 6578, 93, 98,
+ 107, 83, 155, 1460, 77, 1459, 98, 99, 1446, 1449,
+ 207, 1454, 275, 100, 108, 146, 326, 1402, 1384, 1380,
+ 6578, 101, 110, 151, 6578, 127, 227, 295, 89, 136,
+ 6578, 387, 140, 0, 429, 1346, 471, 6578, 117, 532,
+ 6578, 138, 157, 1371, 142, 295, 307, 574, 283, 1379,
+ 1371, 1325, 1324, 0, 1290, 249, 150, 274, 93, 241,
+ 152, 256, 325, 309, 347, 313, 1289, 147, 616, 154,
+ 1322, 346, 1285, 284, 281, 357, 348, 170, 279, 658,
+ 6578, 208, 700, 1317, 389, 358, 1310, 399, 276, 761,
+
+ 6578, 6578, 6578, 409, 367, 413, 420, 307, 427, 374,
+ 421, 822, 883, 0, 1254, 925, 967, 1249, 1028, 319,
+ 451, 465, 1089, 1150, 6578, 456, 1282, 183, 1233, 1192,
+ 1224, 443, 1184, 1165, 454, 1161, 1149, 441, 1141, 1131,
+ 383, 1082, 1060, 1047, 453, 458, 470, 1029, 1253, 494,
+ 1044, 464, 999, 1295, 492, 486, 496, 516, 504, 517,
+ 998, 1356, 417, 1417, 1019, 418, 422, 491, 997, 502,
+ 1459, 527, 528, 545, 554, 409, 515, 1520, 0, 1562,
+ 965, 1623, 1684, 570, 1745, 560, 994, 6578, 948, 1806,
+ 935, 556, 923, 500, 897, 896, 559, 1848, 569, 6578,
+
+ 598, 882, 1909, 566, 565, 587, 606, 589, 631, 1951,
+ 2012, 6578, 0, 559, 907, 902, 691, 2054, 561, 593,
+ 2115, 0, 2157, 2218, 2279, 2340, 644, 878, 346, 2401,
+ 839, 836, 2443, 613, 616, 2504, 668, 534, 610, 656,
+ 680, 820, 2546, 2607, 0, 591, 847, 844, 803, 733,
+ 793, 614, 605, 6578, 2668, 2710, 625, 2771, 0, 2813,
+ 2874, 2935, 2996, 3057, 3131, 3173, 3234, 714, 3295, 695,
+ 690, 727, 762, 729, 3337, 3398, 0, 643, 777, 744,
+ 699, 698, 829, 654, 834, 3459, 689, 3520, 854, 894,
+ 915, 920, 3581, 3642, 3684, 683, 3745, 6578, 597, 3806,
+
+ 3867, 3928, 3989, 4050, 4111, 730, 4172, 814, 719, 542,
+ 750, 4214, 4275, 0, 762, 558, 553, 552, 531, 447,
+ 860, 6578, 697, 838, 957, 4336, 4397, 699, 926, 988,
+ 4458, 4519, 4580, 1002, 744, 1010, 4622, 4664, 1042, 737,
+ 4706, 4767, 647, 4828, 402, 818, 848, 1069, 1033, 0,
+ 437, 6578, 6578, 6578, 6578, 6578, 6578, 1122, 898, 924,
+ 4870, 1162, 963, 968, 4912, 4973, 770, 1063, 877, 1074,
+ 5005, 1102, 989, 1009, 0, 5062, 5104, 5146, 6578, 1036,
+ 1079, 1080, 1081, 1084, 1130, 910, 353, 315, 6578, 5188,
+ 5230, 5272, 689, 1139, 895, 1085, 1090, 1119, 1160, 5314,
+
+ 5356, 1226, 1242, 1120, 1152, 1164, 1207, 1208, 1210, 1219,
+ 1234, 1327, 1287, 1316, 1345, 1388, 5398, 1263, 1225, 1116,
+ 1211, 252, 1247, 1243, 1248, 1363, 6578, 1428, 5440, 1449,
+ 5501, 242, 1310, 1318, 1329, 856, 180, 813, 1454, 5562,
+ 1491, 5604, 148, 1357, 1326, 1061, 1370, 1531, 5646, 5688,
+ 1344, 1374, 1427, 1375, 5730, 5772, 1453, 1456, 135, 1458,
+ 5814, 5856, 1457, 97, 1183, 955, 5898, 1552, 1490, 91,
+ 1408, 1557, 1373, 1409, 1412, 1455, 78, 1530, 1522, 39,
+ 6578, 5959, 5964, 5977, 5982, 5987, 5994, 6004, 6017, 758,
+ 6022, 6032, 6045, 6059, 362, 6064, 6074, 6079, 6089, 6099,
+
+ 6103, 798, 6112, 6125, 6138, 6152, 6166, 6176, 6186, 6191,
+ 6203, 799, 6217, 957, 6222, 6234, 6247, 1071, 6261, 1086,
+ 6266, 6278, 6291, 6304, 6317, 6330, 1087, 6335, 6348, 1179,
+ 6353, 6365, 6378, 6391, 6404, 6417, 6430, 6435, 6448, 1183,
+ 6453, 6465, 6478, 6491, 6504, 6517, 1189, 1223, 6530, 6543,
+ 6553, 6563
} ;
-static yyconst short int yy_def[520] =
+static yyconst flex_int16_t yy_def[553] =
{ 0,
481, 1, 1, 1, 1, 1, 481, 481, 481, 481,
481, 482, 483, 481, 484, 481, 481, 485, 481, 481,
- 481, 481, 486, 487, 481, 488, 488, 488, 481, 481,
- 481, 488, 488, 488, 481, 488, 481, 481, 481, 482,
- 481, 489, 483, 481, 490, 491, 491, 481, 484, 492,
- 481, 481, 481, 481, 487, 488, 488, 488, 21, 493,
- 481, 494, 481, 21, 495, 496, 496, 496, 496, 496,
+ 481, 481, 486, 487, 487, 487, 488, 481, 481, 481,
+ 481, 487, 487, 487, 481, 487, 481, 481, 481, 482,
+ 481, 489, 483, 490, 491, 491, 492, 481, 484, 493,
+ 481, 481, 481, 481, 487, 487, 487, 488, 21, 494,
+ 481, 495, 481, 21, 496, 496, 496, 496, 496, 496,
+ 496, 496, 496, 496, 496, 496, 496, 496, 497, 496,
+ 481, 486, 498, 498, 498, 498, 498, 498, 498, 499,
+ 481, 487, 500, 481, 487, 487, 501, 487, 487, 487,
+
+ 481, 481, 481, 487, 487, 487, 487, 481, 482, 482,
+ 482, 482, 489, 502, 491, 491, 503, 491, 116, 504,
+ 504, 504, 504, 505, 481, 487, 506, 507, 496, 508,
496, 496, 496, 496, 496, 496, 496, 496, 496, 496,
- 481, 486, 497, 498, 498, 498, 498, 498, 498, 498,
- 488, 488, 481, 481, 488, 499, 481, 488, 488, 481,
-
- 488, 481, 481, 488, 488, 488, 488, 481, 482, 482,
- 482, 482, 489, 481, 491, 47, 491, 500, 47, 484,
- 484, 484, 484, 492, 481, 488, 493, 501, 496, 496,
- 496, 502, 496, 496, 496, 496, 496, 496, 496, 496,
496, 496, 496, 496, 496, 496, 496, 496, 496, 496,
- 481, 498, 498, 498, 498, 503, 498, 498, 498, 498,
- 498, 498, 92, 488, 92, 481, 488, 488, 504, 481,
- 488, 488, 488, 488, 488, 481, 482, 112, 481, 116,
- 491, 116, 47, 484, 123, 488, 505, 481, 130, 496,
- 130, 496, 496, 496, 496, 496, 496, 496, 496, 481,
-
- 498, 154, 498, 154, 498, 498, 498, 498, 498, 498,
- 92, 165, 481, 481, 506, 481, 481, 507, 488, 481,
- 112, 481, 116, 182, 47, 123, 488, 505, 501, 130,
- 191, 496, 496, 496, 498, 154, 204, 498, 498, 498,
- 498, 498, 498, 92, 165, 481, 508, 481, 481, 481,
- 507, 507, 509, 510, 481, 511, 481, 112, 481, 116,
- 182, 47, 123, 488, 130, 191, 496, 498, 154, 204,
- 498, 498, 498, 498, 498, 92, 165, 481, 512, 481,
- 481, 481, 481, 481, 509, 481, 513, 510, 514, 507,
- 507, 507, 507, 507, 511, 481, 112, 481, 116, 182,
-
- 491, 123, 488, 130, 191, 498, 154, 204, 498, 498,
- 498, 498, 488, 165, 481, 515, 481, 481, 481, 481,
- 481, 481, 481, 509, 509, 509, 509, 513, 510, 510,
- 510, 510, 514, 294, 481, 112, 491, 182, 123, 488,
- 496, 191, 498, 498, 204, 498, 498, 498, 488, 481,
- 481, 481, 481, 481, 481, 481, 481, 509, 509, 509,
- 327, 510, 510, 510, 332, 294, 481, 491, 488, 496,
- 498, 498, 498, 498, 481, 327, 332, 294, 481, 488,
- 498, 498, 498, 498, 498, 498, 498, 498, 481, 327,
- 332, 294, 488, 498, 498, 498, 498, 498, 498, 327,
-
- 332, 294, 516, 498, 498, 498, 498, 498, 498, 498,
- 498, 327, 332, 516, 414, 517, 518, 498, 498, 498,
- 498, 498, 498, 498, 498, 518, 518, 481, 481, 518,
- 519, 498, 498, 498, 498, 498, 498, 498, 518, 427,
- 518, 427, 498, 498, 498, 498, 498, 427, 518, 442,
- 498, 498, 498, 498, 427, 442, 498, 498, 498, 498,
- 427, 442, 498, 498, 498, 498, 427, 442, 498, 498,
- 498, 442, 498, 498, 498, 498, 498, 498, 498, 498,
+ 481, 498, 498, 509, 498, 498, 498, 498, 498, 498,
+ 498, 498, 487, 100, 481, 487, 487, 510, 481, 487,
+ 100, 487, 487, 487, 487, 481, 511, 511, 512, 116,
+ 491, 116, 116, 504, 504, 487, 513, 481, 496, 149,
+ 496, 496, 496, 496, 496, 496, 496, 149, 496, 481,
+
+ 498, 498, 162, 498, 498, 498, 498, 498, 498, 162,
+ 100, 481, 514, 515, 481, 481, 516, 100, 487, 481,
+ 517, 518, 116, 116, 116, 504, 487, 513, 519, 149,
+ 496, 496, 149, 496, 498, 162, 498, 498, 498, 498,
+ 498, 498, 162, 100, 520, 521, 481, 481, 481, 522,
+ 522, 523, 524, 481, 525, 100, 481, 526, 527, 528,
+ 528, 261, 529, 100, 149, 149, 149, 498, 162, 498,
+ 498, 498, 498, 498, 162, 100, 530, 531, 481, 481,
+ 481, 481, 481, 523, 481, 532, 533, 534, 535, 535,
+ 535, 535, 535, 536, 100, 481, 537, 481, 538, 538,
+
+ 300, 539, 100, 149, 304, 498, 162, 498, 498, 498,
+ 498, 162, 100, 540, 541, 481, 481, 481, 481, 481,
+ 481, 481, 542, 542, 542, 542, 543, 544, 544, 544,
+ 544, 545, 546, 303, 481, 537, 300, 301, 539, 303,
+ 304, 304, 498, 162, 498, 498, 498, 498, 303, 547,
+ 481, 481, 481, 481, 481, 481, 481, 542, 542, 542,
+ 326, 544, 544, 544, 331, 546, 481, 338, 303, 342,
+ 498, 498, 498, 498, 548, 326, 331, 366, 481, 303,
+ 498, 498, 498, 498, 498, 498, 498, 498, 481, 326,
+ 331, 366, 303, 498, 498, 498, 498, 498, 498, 326,
+
+ 331, 546, 549, 498, 498, 498, 498, 498, 498, 498,
+ 498, 542, 544, 549, 549, 550, 551, 498, 498, 498,
+ 498, 498, 498, 498, 498, 481, 481, 550, 552, 550,
+ 550, 498, 498, 498, 498, 498, 498, 498, 550, 431,
+ 550, 431, 498, 498, 498, 498, 498, 550, 440, 431,
+ 498, 498, 498, 498, 440, 431, 498, 498, 498, 498,
+ 440, 431, 498, 498, 498, 498, 440, 550, 498, 498,
+ 498, 550, 498, 498, 498, 498, 498, 498, 498, 498,
0, 481, 481, 481, 481, 481, 481, 481, 481, 481,
481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
- 481, 481, 481, 481, 481, 481, 481, 481, 481
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481
} ;
-static yyconst short int yy_nxt[2462] =
+static yyconst flex_int16_t yy_nxt[6664] =
{ 0,
8, 9, 10, 9, 9, 9, 11, 12, 13, 14,
8, 8, 15, 8, 8, 16, 17, 18, 19, 20,
- 21, 8, 22, 8, 8, 8, 23, 24, 25, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 27, 26, 26, 26, 26, 26, 26,
- 28, 26, 26, 26, 26, 26, 8, 29, 30, 26,
- 31, 156, 31, 37, 37, 37, 37, 37, 41, 32,
- 52, 32, 37, 37, 37, 37, 37, 38, 38, 38,
- 38, 38, 33, 34, 33, 34, 43, 132, 42, 44,
- 41, 97, 97, 53, 135, 35, 45, 35, 94, 47,
-
- 47, 47, 47, 47, 47, 50, 54, 94, 82, 52,
- 97, 98, 96, 41, 39, 41, 55, 94, 83, 156,
- 100, 96, 52, 85, 156, 94, 86, 161, 50, 87,
- 94, 96, 57, 88, 89, 42, 90, 481, 99, 96,
- 481, 58, 61, 92, 96, 53, 132, 45, 133, 62,
- 63, 101, 64, 92, 92, 92, 92, 92, 92, 65,
- 104, 66, 67, 67, 68, 69, 70, 67, 71, 72,
- 73, 67, 74, 67, 75, 76, 67, 77, 67, 78,
- 79, 80, 67, 67, 67, 67, 67, 67, 94, 94,
- 94, 67, 97, 98, 37, 37, 37, 37, 37, 481,
-
- 114, 59, 96, 96, 96, 38, 38, 38, 38, 38,
- 114, 114, 114, 114, 114, 114, 116, 156, 106, 94,
- 105, 107, 97, 98, 67, 119, 116, 116, 116, 116,
- 116, 116, 118, 96, 158, 119, 119, 119, 119, 119,
- 119, 92, 39, 40, 40, 40, 109, 94, 132, 111,
- 132, 92, 92, 92, 92, 92, 92, 132, 156, 196,
- 128, 96, 112, 134, 188, 160, 132, 132, 126, 113,
- 138, 132, 112, 112, 112, 112, 112, 112, 49, 49,
- 49, 120, 136, 132, 132, 139, 148, 140, 130, 122,
- 149, 132, 156, 137, 141, 97, 144, 123, 130, 130,
-
- 130, 130, 130, 130, 124, 132, 132, 123, 123, 123,
- 123, 123, 123, 132, 150, 481, 132, 154, 145, 156,
- 142, 156, 94, 156, 162, 83, 143, 154, 154, 154,
- 154, 154, 154, 157, 159, 146, 96, 132, 156, 147,
- 194, 40, 94, 156, 195, 201, 41, 165, 41, 41,
- 152, 91, 91, 91, 91, 91, 96, 165, 165, 165,
- 165, 165, 165, 94, 94, 94, 42, 156, 42, 42,
- 163, 167, 94, 94, 94, 94, 41, 96, 96, 96,
- 163, 163, 163, 163, 163, 163, 96, 96, 96, 96,
- 132, 50, 169, 172, 94, 132, 132, 170, 41, 193,
-
- 171, 168, 169, 169, 169, 169, 169, 169, 96, 175,
- 173, 49, 132, 50, 192, 156, 199, 156, 197, 41,
- 179, 41, 174, 110, 177, 177, 177, 110, 132, 41,
- 179, 179, 179, 179, 179, 179, 50, 156, 156, 42,
- 205, 156, 178, 198, 208, 235, 156, 156, 94, 42,
- 156, 156, 178, 178, 178, 178, 178, 178, 40, 40,
- 40, 109, 96, 206, 111, 209, 186, 156, 182, 207,
- 229, 94, 213, 406, 188, 156, 210, 112, 182, 182,
- 182, 182, 182, 182, 113, 96, 96, 112, 112, 112,
- 112, 112, 112, 115, 115, 115, 115, 115, 214, 156,
-
- 156, 132, 196, 183, 132, 218, 216, 94, 232, 132,
- 233, 156, 180, 183, 183, 183, 183, 183, 183, 96,
- 213, 96, 180, 180, 180, 180, 180, 180, 121, 184,
- 184, 184, 121, 239, 96, 156, 156, 156, 191, 41,
- 156, 94, 156, 242, 243, 274, 241, 185, 191, 191,
- 191, 191, 191, 191, 50, 96, 41, 185, 185, 185,
- 185, 185, 185, 49, 49, 49, 120, 94, 272, 214,
- 379, 50, 214, 204, 122, 132, 94, 248, 156, 214,
- 280, 96, 123, 204, 204, 204, 204, 204, 204, 124,
- 96, 234, 123, 123, 123, 123, 123, 123, 129, 129,
-
- 129, 129, 129, 227, 156, 156, 156, 156, 211, 156,
- 347, 156, 156, 309, 348, 306, 447, 189, 211, 211,
- 211, 211, 211, 211, 132, 238, 240, 189, 189, 189,
- 189, 189, 189, 153, 153, 153, 153, 153, 156, 94,
- 94, 132, 156, 156, 156, 156, 167, 94, 373, 374,
- 310, 268, 202, 96, 96, 156, 267, 156, 156, 156,
- 94, 96, 202, 202, 202, 202, 202, 202, 164, 164,
- 164, 164, 164, 156, 96, 286, 271, 273, 221, 275,
- 387, 219, 367, 303, 357, 264, 356, 212, 221, 221,
- 221, 221, 221, 221, 222, 287, 286, 212, 212, 212,
-
- 212, 212, 212, 223, 222, 222, 222, 222, 222, 222,
- 156, 289, 156, 223, 223, 223, 223, 223, 223, 181,
- 181, 181, 181, 181, 371, 214, 286, 214, 156, 225,
- 312, 399, 311, 317, 156, 352, 355, 354, 224, 225,
- 225, 225, 225, 225, 225, 226, 287, 286, 224, 224,
- 224, 224, 224, 224, 230, 226, 226, 226, 226, 226,
- 226, 286, 289, 156, 230, 230, 230, 230, 230, 230,
- 190, 190, 190, 190, 190, 284, 284, 284, 284, 284,
- 236, 287, 445, 322, 322, 322, 322, 322, 255, 231,
- 236, 236, 236, 236, 236, 236, 323, 156, 156, 231,
-
- 231, 231, 231, 231, 231, 203, 203, 203, 203, 203,
- 322, 322, 322, 322, 322, 244, 156, 353, 94, 343,
- 346, 436, 340, 323, 237, 244, 244, 244, 244, 244,
- 244, 245, 96, 286, 237, 237, 237, 237, 237, 237,
- 246, 245, 245, 245, 245, 245, 245, 156, 289, 156,
- 246, 246, 246, 246, 246, 246, 251, 251, 251, 251,
- 251, 258, 253, 156, 94, 286, 286, 254, 432, 255,
- 388, 258, 258, 258, 258, 258, 258, 259, 96, 285,
- 156, 118, 256, 260, 286, 287, 287, 259, 259, 259,
- 259, 259, 259, 260, 260, 260, 260, 260, 260, 261,
-
- 156, 156, 369, 397, 287, 262, 335, 394, 395, 261,
- 261, 261, 261, 261, 261, 262, 262, 262, 262, 262,
- 262, 263, 115, 115, 115, 115, 115, 265, 156, 286,
- 286, 263, 263, 263, 263, 263, 263, 265, 265, 265,
- 265, 265, 265, 266, 289, 289, 156, 156, 118, 269,
- 435, 424, 407, 266, 266, 266, 266, 266, 266, 269,
- 269, 269, 269, 269, 269, 270, 129, 129, 129, 129,
- 129, 276, 321, 156, 94, 270, 270, 270, 270, 270,
- 270, 276, 276, 276, 276, 276, 276, 277, 96, 156,
- 320, 380, 132, 278, 156, 446, 396, 277, 277, 277,
-
- 277, 277, 277, 278, 278, 278, 278, 278, 278, 251,
- 251, 251, 251, 251, 434, 253, 319, 156, 403, 156,
- 254, 288, 255, 284, 284, 284, 284, 284, 297, 481,
- 94, 286, 96, 408, 481, 256, 255, 459, 297, 297,
- 297, 297, 297, 297, 96, 156, 289, 156, 156, 256,
- 284, 284, 284, 284, 290, 398, 292, 156, 419, 409,
- 298, 292, 292, 293, 393, 420, 318, 156, 156, 294,
- 298, 298, 298, 298, 298, 298, 295, 299, 421, 294,
- 294, 294, 294, 294, 294, 300, 156, 299, 299, 299,
- 299, 299, 299, 301, 132, 300, 300, 300, 300, 300,
-
- 300, 302, 433, 301, 301, 301, 301, 301, 301, 304,
- 296, 302, 302, 302, 302, 302, 302, 305, 283, 304,
- 304, 304, 304, 304, 304, 307, 282, 305, 305, 305,
- 305, 305, 305, 308, 281, 307, 307, 307, 307, 307,
- 307, 313, 156, 308, 308, 308, 308, 308, 308, 314,
- 132, 313, 313, 313, 313, 313, 313, 315, 156, 314,
- 314, 314, 314, 314, 314, 422, 156, 315, 315, 315,
- 315, 315, 315, 285, 285, 285, 324, 156, 156, 326,
- 410, 156, 404, 156, 474, 405, 411, 284, 284, 284,
- 284, 284, 327, 481, 156, 418, 156, 454, 481, 328,
-
- 255, 423, 327, 327, 327, 327, 327, 327, 288, 288,
- 288, 329, 156, 256, 156, 438, 465, 156, 132, 331,
- 284, 284, 284, 284, 284, 425, 481, 332, 156, 156,
- 156, 481, 451, 255, 333, 437, 443, 332, 332, 332,
- 332, 332, 332, 229, 257, 156, 256, 284, 284, 284,
- 284, 284, 156, 481, 156, 444, 156, 470, 481, 471,
- 255, 284, 284, 284, 284, 284, 336, 481, 452, 156,
- 475, 453, 481, 256, 255, 156, 336, 336, 336, 336,
- 336, 336, 428, 428, 428, 428, 428, 256, 290, 290,
- 290, 290, 290, 156, 481, 429, 466, 250, 337, 481,
-
- 457, 255, 153, 153, 153, 153, 153, 334, 337, 337,
- 337, 337, 337, 337, 256, 249, 156, 334, 334, 334,
- 334, 334, 334, 284, 284, 284, 284, 290, 156, 292,
- 156, 156, 132, 338, 292, 292, 293, 458, 460, 156,
- 132, 132, 294, 338, 338, 338, 338, 338, 338, 295,
- 339, 132, 294, 294, 294, 294, 294, 294, 341, 469,
- 339, 339, 339, 339, 339, 339, 342, 156, 341, 341,
- 341, 341, 341, 341, 344, 132, 342, 342, 342, 342,
- 342, 342, 345, 229, 344, 344, 344, 344, 344, 344,
- 473, 156, 345, 345, 345, 345, 345, 345, 91, 91,
-
- 91, 91, 91, 349, 481, 481, 481, 481, 481, 156,
- 94, 463, 480, 349, 349, 349, 349, 349, 349, 350,
- 481, 156, 156, 479, 96, 118, 220, 478, 217, 350,
- 350, 350, 350, 350, 350, 358, 322, 322, 322, 358,
- 166, 286, 464, 362, 322, 322, 322, 362, 359, 156,
- 156, 156, 156, 200, 286, 132, 363, 476, 477, 132,
- 366, 287, 325, 360, 360, 360, 325, 132, 286, 289,
- 366, 366, 366, 366, 366, 366, 358, 322, 322, 322,
- 358, 361, 286, 181, 181, 181, 181, 181, 287, 359,
- 132, 361, 361, 361, 361, 361, 361, 285, 285, 285,
-
- 324, 132, 287, 326, 132, 132, 132, 40, 132, 118,
- 132, 190, 190, 190, 190, 190, 327, 40, 40, 40,
- 40, 40, 40, 328, 132, 132, 327, 327, 327, 327,
- 327, 327, 330, 364, 364, 364, 330, 132, 128, 118,
- 118, 176, 368, 286, 166, 203, 203, 203, 203, 203,
- 156, 365, 368, 368, 368, 368, 368, 368, 289, 151,
- 132, 365, 365, 365, 365, 365, 365, 288, 288, 288,
- 329, 156, 132, 59, 65, 61, 128, 49, 331, 125,
- 118, 108, 103, 102, 93, 81, 332, 49, 49, 49,
- 49, 49, 49, 333, 370, 60, 332, 332, 332, 332,
-
- 332, 332, 372, 59, 370, 370, 370, 370, 370, 370,
- 51, 48, 372, 372, 372, 372, 372, 372, 164, 164,
- 164, 164, 164, 375, 481, 36, 36, 481, 481, 481,
- 94, 481, 481, 375, 375, 375, 375, 375, 375, 376,
- 481, 481, 481, 481, 96, 481, 481, 481, 481, 376,
- 376, 376, 376, 376, 376, 362, 322, 322, 322, 362,
- 377, 481, 481, 481, 481, 481, 286, 481, 363, 481,
- 377, 377, 377, 377, 377, 377, 378, 481, 481, 156,
- 481, 289, 481, 481, 481, 381, 378, 378, 378, 378,
- 378, 378, 382, 481, 383, 389, 481, 481, 481, 384,
-
- 385, 390, 481, 386, 481, 389, 389, 389, 389, 389,
- 389, 390, 390, 390, 390, 390, 390, 391, 481, 481,
- 481, 481, 481, 392, 481, 481, 481, 391, 391, 391,
- 391, 391, 391, 392, 392, 392, 392, 392, 392, 400,
- 481, 481, 481, 481, 481, 401, 481, 481, 481, 400,
- 400, 400, 400, 400, 400, 401, 401, 401, 401, 401,
- 401, 402, 481, 481, 481, 481, 481, 412, 481, 481,
- 481, 402, 402, 402, 402, 402, 402, 412, 412, 412,
- 412, 412, 412, 413, 481, 481, 481, 481, 481, 252,
- 481, 481, 481, 413, 413, 413, 413, 413, 413, 252,
-
- 252, 252, 252, 252, 252, 414, 414, 414, 414, 414,
- 481, 481, 285, 481, 481, 481, 481, 481, 481, 481,
- 481, 415, 285, 285, 285, 285, 285, 285, 288, 481,
- 481, 416, 414, 414, 414, 414, 414, 481, 288, 288,
- 288, 288, 288, 288, 481, 481, 481, 481, 415, 427,
- 481, 481, 428, 428, 428, 428, 428, 481, 416, 427,
- 427, 427, 427, 427, 427, 429, 428, 428, 428, 428,
- 428, 481, 428, 428, 428, 428, 428, 481, 431, 429,
- 481, 481, 481, 481, 481, 429, 481, 481, 481, 442,
- 481, 481, 431, 439, 439, 439, 439, 439, 431, 442,
-
- 442, 442, 442, 442, 442, 481, 429, 428, 428, 428,
- 428, 428, 440, 481, 481, 481, 481, 481, 481, 431,
- 429, 481, 440, 440, 440, 440, 440, 440, 448, 481,
- 481, 481, 481, 431, 481, 481, 481, 481, 448, 448,
- 448, 448, 448, 448, 428, 428, 428, 428, 428, 455,
- 481, 481, 428, 428, 428, 428, 428, 429, 481, 455,
- 455, 455, 455, 455, 455, 429, 481, 481, 481, 456,
- 431, 449, 449, 449, 449, 449, 481, 481, 431, 456,
- 456, 456, 456, 456, 456, 481, 481, 481, 481, 481,
- 450, 481, 481, 481, 481, 481, 461, 481, 481, 481,
-
- 450, 450, 450, 450, 450, 450, 461, 461, 461, 461,
- 461, 461, 462, 481, 481, 481, 481, 481, 467, 481,
- 481, 481, 462, 462, 462, 462, 462, 462, 467, 467,
- 467, 467, 467, 467, 468, 481, 481, 481, 481, 481,
- 430, 481, 481, 481, 468, 468, 468, 468, 468, 468,
- 430, 430, 430, 430, 430, 430, 472, 481, 481, 481,
- 481, 481, 430, 481, 481, 481, 472, 472, 472, 472,
- 472, 472, 430, 430, 430, 430, 430, 430, 40, 481,
- 40, 40, 40, 40, 40, 40, 40, 40, 40, 46,
- 46, 481, 46, 46, 49, 481, 49, 49, 49, 49,
-
- 49, 49, 49, 49, 49, 56, 56, 481, 56, 56,
- 84, 481, 481, 84, 84, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 95, 481, 95, 95, 481, 95,
- 95, 110, 110, 110, 110, 110, 110, 110, 110, 110,
- 110, 110, 115, 115, 115, 115, 115, 115, 115, 115,
- 115, 117, 117, 481, 117, 117, 121, 121, 121, 121,
- 121, 121, 121, 121, 121, 121, 121, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 67,
- 67, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 131, 131, 481, 131, 131, 153, 153, 153, 153, 153,
-
- 153, 153, 153, 153, 155, 155, 481, 155, 155, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 187, 187, 187,
- 187, 187, 187, 187, 187, 187, 187, 187, 187, 190,
- 190, 190, 190, 190, 190, 190, 190, 190, 203, 203,
- 203, 203, 203, 203, 203, 203, 203, 215, 215, 215,
- 481, 215, 228, 228, 228, 228, 228, 228, 228, 228,
- 228, 228, 228, 228, 247, 247, 247, 481, 247, 252,
- 252, 252, 252, 481, 252, 252, 252, 252, 252, 252,
- 279, 279, 279, 481, 279, 285, 481, 285, 285, 285,
-
- 285, 285, 285, 285, 285, 285, 288, 481, 288, 288,
- 288, 288, 288, 288, 288, 288, 288, 291, 291, 291,
- 291, 291, 291, 291, 291, 291, 291, 291, 316, 316,
- 316, 481, 316, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 330, 330, 330, 330, 330, 330,
- 330, 330, 330, 330, 330, 351, 351, 351, 481, 351,
- 417, 417, 417, 481, 481, 481, 417, 481, 481, 417,
- 417, 426, 426, 426, 426, 426, 426, 426, 426, 426,
- 430, 430, 430, 481, 481, 430, 430, 430, 481, 430,
- 430, 441, 441, 441, 441, 441, 441, 441, 441, 441,
-
- 7, 481, 481, 481, 481, 481, 481, 481, 481, 481,
- 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
- 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
- 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
- 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
- 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
- 481
+ 21, 8, 22, 8, 8, 8, 23, 24, 24, 24,
+ 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+ 25, 24, 24, 24, 24, 24, 24, 26, 24, 24,
+ 24, 24, 24, 27, 28, 24, 24, 24, 24, 24,
+ 24, 24, 24, 24, 24, 24, 24, 24, 25, 24,
+ 24, 24, 24, 24, 24, 26, 24, 24, 24, 24,
+ 24, 8, 29, 30, 24, 31, 36, 31, 36, 41,
+ 41, 32, 154, 32, 37, 37, 37, 37, 37, 37,
+
+ 37, 37, 37, 37, 33, 34, 33, 34, 38, 38,
+ 38, 38, 38, 91, 91, 36, 54, 36, 52, 52,
+ 32, 91, 32, 91, 94, 95, 94, 95, 108, 41,
+ 50, 154, 33, 34, 33, 34, 42, 135, 53, 56,
+ 91, 104, 39, 41, 154, 35, 130, 35, 57, 96,
+ 154, 105, 58, 93, 93, 91, 108, 481, 52, 91,
+ 481, 93, 97, 93, 91, 135, 53, 56, 107, 104,
+ 50, 39, 43, 94, 94, 44, 57, 96, 53, 105,
+ 93, 132, 45, 45, 45, 45, 45, 45, 154, 42,
+ 98, 106, 137, 47, 147, 93, 107, 159, 128, 93,
+
+ 130, 154, 188, 130, 93, 130, 53, 130, 47, 150,
+ 132, 45, 45, 45, 45, 45, 45, 61, 98, 106,
+ 137, 91, 147, 154, 62, 63, 159, 64, 37, 37,
+ 37, 37, 37, 154, 65, 65, 66, 67, 68, 65,
+ 69, 70, 71, 65, 72, 65, 73, 74, 65, 75,
+ 65, 76, 77, 78, 65, 65, 65, 65, 65, 65,
+ 79, 93, 80, 65, 65, 66, 67, 68, 65, 69,
+ 70, 71, 72, 65, 73, 74, 65, 75, 65, 76,
+ 77, 78, 65, 65, 65, 65, 65, 65, 131, 91,
+ 138, 65, 82, 136, 130, 154, 38, 38, 38, 38,
+
+ 38, 481, 130, 59, 84, 154, 160, 85, 91, 130,
+ 86, 94, 95, 133, 87, 88, 131, 89, 155, 138,
+ 91, 136, 156, 65, 134, 94, 141, 130, 90, 93,
+ 39, 41, 154, 84, 154, 160, 85, 154, 126, 86,
+ 145, 133, 87, 88, 146, 89, 100, 155, 93, 176,
+ 156, 65, 134, 100, 100, 100, 100, 100, 100, 39,
+ 93, 229, 130, 481, 139, 188, 130, 126, 154, 145,
+ 140, 91, 50, 146, 65, 65, 142, 176, 130, 158,
+ 91, 41, 100, 100, 100, 100, 100, 100, 40, 40,
+ 40, 109, 139, 143, 111, 152, 157, 144, 140, 90,
+
+ 130, 154, 91, 194, 167, 142, 154, 112, 158, 166,
+ 154, 93, 91, 173, 112, 112, 112, 112, 112, 112,
+ 93, 143, 91, 152, 157, 144, 91, 42, 41, 40,
+ 91, 91, 167, 91, 41, 212, 130, 170, 166, 172,
+ 113, 173, 93, 112, 112, 112, 112, 112, 112, 116,
+ 220, 174, 93, 481, 213, 154, 116, 116, 116, 116,
+ 116, 116, 93, 41, 175, 170, 93, 481, 172, 91,
+ 93, 93, 357, 93, 42, 93, 191, 41, 220, 174,
+ 42, 192, 117, 195, 186, 116, 116, 116, 116, 116,
+ 116, 119, 175, 193, 130, 201, 130, 196, 119, 119,
+
+ 119, 119, 119, 119, 50, 191, 130, 130, 213, 93,
+ 192, 130, 195, 186, 197, 217, 215, 154, 50, 204,
+ 194, 193, 41, 130, 201, 196, 205, 119, 119, 119,
+ 119, 119, 119, 49, 49, 49, 120, 199, 206, 154,
+ 91, 212, 197, 208, 122, 154, 207, 130, 204, 154,
+ 209, 271, 123, 130, 205, 93, 356, 154, 91, 123,
+ 123, 123, 123, 123, 123, 199, 206, 91, 42, 154,
+ 154, 208, 481, 91, 91, 207, 213, 355, 354, 209,
+ 93, 93, 41, 353, 247, 124, 231, 154, 123, 123,
+ 123, 123, 123, 123, 100, 154, 219, 227, 93, 232,
+
+ 234, 100, 100, 100, 100, 100, 100, 93, 213, 130,
+ 237, 238, 130, 93, 93, 231, 279, 285, 154, 154,
+ 241, 285, 130, 50, 219, 227, 235, 232, 239, 234,
+ 100, 100, 100, 100, 100, 100, 149, 257, 237, 238,
+ 154, 240, 154, 149, 149, 149, 149, 149, 149, 241,
+ 117, 154, 267, 268, 272, 235, 239, 91, 288, 154,
+ 213, 285, 242, 154, 371, 257, 130, 286, 316, 154,
+ 240, 296, 149, 149, 149, 149, 149, 149, 162, 264,
+ 267, 268, 272, 273, 154, 162, 162, 162, 162, 162,
+ 162, 242, 250, 250, 250, 250, 250, 93, 252, 296,
+
+ 154, 285, 403, 253, 285, 254, 92, 286, 264, 154,
+ 335, 285, 273, 270, 162, 162, 162, 162, 162, 162,
+ 164, 154, 309, 320, 319, 274, 308, 164, 164, 164,
+ 164, 164, 164, 154, 250, 250, 250, 250, 250, 335,
+ 252, 270, 288, 154, 255, 253, 346, 254, 154, 306,
+ 286, 309, 288, 274, 92, 308, 164, 164, 164, 164,
+ 164, 164, 99, 99, 99, 99, 99, 154, 114, 318,
+ 114, 311, 154, 310, 91, 346, 343, 347, 306, 213,
+ 154, 171, 154, 154, 367, 369, 255, 352, 171, 171,
+ 171, 171, 171, 171, 283, 283, 283, 283, 283, 311,
+
+ 481, 310, 317, 154, 343, 481, 347, 254, 179, 222,
+ 179, 222, 367, 369, 93, 154, 379, 171, 171, 171,
+ 171, 171, 171, 110, 177, 177, 177, 110, 282, 41,
+ 283, 283, 283, 283, 283, 321, 321, 321, 321, 321,
+ 481, 447, 178, 254, 379, 285, 255, 373, 322, 178,
+ 178, 178, 178, 178, 178, 283, 283, 283, 283, 283,
+ 345, 321, 321, 321, 321, 321, 154, 154, 254, 281,
+ 447, 154, 280, 154, 322, 42, 373, 374, 178, 178,
+ 178, 178, 178, 178, 40, 40, 40, 109, 345, 130,
+ 111, 286, 130, 229, 92, 283, 283, 283, 283, 283,
+
+ 481, 154, 446, 112, 380, 285, 374, 255, 254, 154,
+ 112, 112, 112, 112, 112, 112, 283, 283, 283, 283,
+ 283, 283, 283, 283, 283, 283, 481, 249, 481, 254,
+ 446, 285, 248, 380, 254, 154, 113, 399, 285, 112,
+ 112, 112, 112, 112, 112, 180, 406, 255, 154, 130,
+ 130, 286, 180, 180, 180, 180, 180, 180, 358, 321,
+ 321, 321, 358, 154, 285, 481, 399, 245, 255, 245,
+ 481, 359, 471, 255, 406, 285, 130, 286, 117, 288,
+ 285, 180, 180, 180, 180, 180, 180, 182, 130, 362,
+ 321, 321, 321, 362, 182, 182, 182, 182, 182, 182,
+
+ 285, 130, 363, 99, 99, 99, 99, 99, 154, 229,
+ 286, 110, 177, 177, 177, 110, 288, 41, 117, 92,
+ 387, 288, 216, 182, 182, 182, 182, 182, 182, 118,
+ 118, 118, 118, 118, 163, 163, 163, 163, 163, 165,
+ 388, 288, 154, 121, 184, 184, 184, 121, 183, 387,
+ 92, 154, 154, 92, 41, 183, 183, 183, 183, 183,
+ 183, 200, 154, 42, 181, 181, 181, 181, 181, 388,
+ 161, 161, 161, 161, 161, 189, 189, 189, 189, 189,
+ 393, 259, 130, 259, 183, 183, 183, 183, 183, 183,
+ 121, 184, 184, 184, 121, 50, 277, 298, 277, 298,
+
+ 130, 41, 453, 202, 202, 202, 202, 202, 393, 185,
+ 394, 395, 396, 130, 154, 407, 185, 185, 185, 185,
+ 185, 185, 154, 358, 321, 321, 321, 358, 408, 285,
+ 453, 397, 154, 154, 154, 130, 359, 154, 154, 394,
+ 395, 396, 50, 154, 407, 185, 185, 185, 185, 185,
+ 185, 49, 49, 49, 120, 154, 408, 409, 418, 397,
+ 434, 398, 122, 362, 321, 321, 321, 362, 404, 154,
+ 123, 405, 154, 154, 285, 286, 363, 123, 123, 123,
+ 123, 123, 123, 154, 130, 409, 418, 419, 434, 314,
+ 398, 314, 154, 350, 130, 350, 420, 404, 410, 375,
+
+ 405, 375, 130, 124, 411, 154, 123, 123, 123, 123,
+ 123, 123, 190, 154, 130, 288, 419, 154, 130, 190,
+ 190, 190, 190, 190, 190, 420, 410, 289, 289, 289,
+ 289, 289, 411, 389, 470, 389, 154, 130, 435, 422,
+ 254, 423, 421, 414, 414, 414, 414, 414, 190, 190,
+ 190, 190, 190, 190, 148, 148, 148, 148, 148, 415,
+ 154, 154, 470, 154, 154, 433, 424, 435, 422, 425,
+ 423, 421, 154, 198, 437, 438, 436, 130, 154, 255,
+ 198, 198, 198, 198, 198, 198, 130, 154, 329, 364,
+ 364, 364, 329, 433, 424, 417, 154, 128, 425, 285,
+
+ 154, 154, 117, 437, 438, 436, 130, 117, 432, 198,
+ 198, 198, 198, 198, 198, 203, 154, 414, 414, 414,
+ 414, 414, 203, 203, 203, 203, 203, 203, 324, 360,
+ 360, 360, 324, 415, 285, 169, 432, 165, 154, 151,
+ 288, 443, 130, 130, 59, 444, 481, 481, 481, 481,
+ 481, 203, 203, 203, 203, 203, 203, 161, 161, 161,
+ 161, 161, 481, 154, 426, 426, 426, 426, 426, 417,
+ 443, 154, 445, 452, 444, 457, 210, 427, 79, 154,
+ 286, 61, 154, 210, 210, 210, 210, 210, 210, 426,
+ 426, 426, 426, 426, 128, 125, 451, 154, 417, 117,
+
+ 445, 452, 427, 103, 457, 458, 460, 102, 454, 154,
+ 154, 475, 210, 210, 210, 210, 210, 210, 163, 163,
+ 163, 163, 163, 154, 451, 101, 154, 154, 154, 426,
+ 426, 426, 426, 426, 458, 460, 454, 211, 474, 475,
+ 476, 429, 427, 477, 211, 211, 211, 211, 211, 211,
+ 426, 426, 426, 426, 426, 426, 426, 426, 426, 426,
+ 81, 154, 154, 427, 60, 154, 59, 474, 427, 476,
+ 463, 459, 477, 211, 211, 211, 211, 211, 211, 218,
+ 154, 429, 51, 48, 478, 481, 218, 218, 218, 218,
+ 218, 218, 426, 426, 426, 426, 426, 481, 464, 459,
+
+ 465, 469, 429, 466, 481, 427, 154, 429, 154, 154,
+ 154, 154, 481, 478, 481, 218, 218, 218, 218, 218,
+ 218, 110, 177, 177, 177, 110, 464, 41, 465, 469,
+ 481, 466, 426, 426, 426, 426, 426, 473, 481, 481,
+ 221, 481, 481, 154, 429, 427, 481, 221, 221, 221,
+ 221, 221, 221, 441, 441, 441, 441, 441, 448, 448,
+ 448, 448, 448, 481, 481, 473, 427, 480, 479, 481,
+ 481, 427, 481, 42, 481, 154, 221, 221, 221, 221,
+ 221, 221, 223, 154, 429, 481, 481, 481, 481, 223,
+ 223, 223, 223, 223, 223, 480, 479, 481, 481, 481,
+
+ 481, 481, 481, 481, 481, 429, 481, 481, 481, 481,
+ 429, 481, 481, 481, 481, 481, 481, 481, 223, 223,
+ 223, 223, 223, 223, 181, 181, 181, 181, 181, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 224, 481, 481, 481, 481, 481, 481,
+ 224, 224, 224, 224, 224, 224, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 224,
+ 224, 224, 224, 224, 224, 118, 118, 118, 118, 118,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+
+ 481, 481, 481, 481, 225, 481, 481, 481, 481, 481,
+ 481, 225, 225, 225, 225, 225, 225, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 225, 225, 225, 225, 225, 225, 121, 184, 184, 184,
+ 121, 481, 481, 481, 481, 481, 481, 41, 481, 481,
+ 481, 481, 481, 481, 481, 226, 481, 481, 481, 481,
+ 481, 481, 226, 226, 226, 226, 226, 226, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 50, 481,
+
+ 481, 226, 226, 226, 226, 226, 226, 189, 189, 189,
+ 189, 189, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 230, 481, 481, 481,
+ 481, 481, 481, 230, 230, 230, 230, 230, 230, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 230, 230, 230, 230, 230, 230, 233, 481,
+ 481, 481, 481, 481, 481, 233, 233, 233, 233, 233,
+ 233, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+
+ 481, 481, 481, 481, 233, 233, 233, 233, 233, 233,
+ 202, 202, 202, 202, 202, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 236,
+ 481, 481, 481, 481, 481, 481, 236, 236, 236, 236,
+ 236, 236, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 236, 236, 236, 236, 236,
+ 236, 243, 481, 481, 481, 481, 481, 481, 243, 243,
+ 243, 243, 243, 243, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+
+ 481, 481, 481, 481, 481, 481, 481, 243, 243, 243,
+ 243, 243, 243, 163, 163, 163, 163, 163, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 244, 481, 481, 481, 481, 481, 481, 244,
+ 244, 244, 244, 244, 244, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 244, 244,
+ 244, 244, 244, 244, 256, 481, 481, 481, 481, 481,
+ 481, 256, 256, 256, 256, 256, 256, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 256, 256, 256, 256, 256, 256, 110, 177, 177, 177,
+ 110, 481, 41, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 258, 481, 481, 481, 481,
+ 481, 481, 258, 258, 258, 258, 258, 258, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 42, 481,
+ 481, 258, 258, 258, 258, 258, 258, 260, 481, 481,
+ 481, 481, 481, 481, 260, 260, 260, 260, 260, 260,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 260, 260, 260, 260, 260, 260, 181,
+ 181, 181, 181, 181, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 261, 481,
+ 481, 481, 481, 481, 481, 261, 261, 261, 261, 261,
+ 261, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 261, 261, 261, 261, 261, 261,
+ 118, 118, 118, 118, 118, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 262,
+
+ 481, 481, 481, 481, 481, 481, 262, 262, 262, 262,
+ 262, 262, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 262, 262, 262, 262, 262,
+ 262, 121, 184, 184, 184, 121, 481, 481, 481, 481,
+ 481, 481, 41, 481, 481, 481, 481, 481, 481, 481,
+ 263, 481, 481, 481, 481, 481, 481, 263, 263, 263,
+ 263, 263, 263, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 50, 481, 481, 263, 263, 263, 263,
+
+ 263, 263, 189, 189, 189, 189, 189, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 265, 481, 481, 481, 481, 481, 481, 265, 265,
+ 265, 265, 265, 265, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 265, 265, 265,
+ 265, 265, 265, 266, 481, 481, 481, 481, 481, 481,
+ 266, 266, 266, 266, 266, 266, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 266,
+
+ 266, 266, 266, 266, 266, 202, 202, 202, 202, 202,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 269, 481, 481, 481, 481, 481,
+ 481, 269, 269, 269, 269, 269, 269, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 269, 269, 269, 269, 269, 269, 275, 481, 481, 481,
+ 481, 481, 481, 275, 275, 275, 275, 275, 275, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+
+ 481, 481, 275, 275, 275, 275, 275, 275, 163, 163,
+ 163, 163, 163, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 276, 481, 481,
+ 481, 481, 481, 481, 276, 276, 276, 276, 276, 276,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 276, 276, 276, 276, 276, 276, 283,
+ 283, 283, 283, 289, 481, 291, 481, 481, 481, 481,
+ 291, 291, 292, 481, 481, 481, 481, 481, 293, 481,
+ 481, 481, 481, 481, 481, 293, 293, 293, 293, 293,
+
+ 293, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 294, 481, 481, 293, 293, 293, 293, 293, 293,
+ 295, 481, 481, 481, 481, 481, 481, 295, 295, 295,
+ 295, 295, 295, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 295, 295, 295, 295,
+ 295, 295, 110, 177, 177, 177, 110, 481, 41, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 297, 481, 481, 481, 481, 481, 481, 297, 297,
+
+ 297, 297, 297, 297, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 42, 481, 481, 297, 297, 297,
+ 297, 297, 297, 299, 481, 481, 481, 481, 481, 481,
+ 299, 299, 299, 299, 299, 299, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 117, 481, 481, 299,
+ 299, 299, 299, 299, 299, 181, 181, 181, 181, 181,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 300, 481, 481, 481, 481, 481,
+
+ 481, 300, 300, 300, 300, 300, 300, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 117, 481, 481,
+ 300, 300, 300, 300, 300, 300, 118, 118, 118, 118,
+ 118, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 301, 481, 481, 481, 481,
+ 481, 481, 301, 301, 301, 301, 301, 301, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 301, 301, 301, 301, 301, 301, 121, 184, 184,
+
+ 184, 121, 481, 481, 481, 481, 481, 481, 41, 481,
+ 481, 481, 481, 481, 481, 481, 302, 481, 481, 481,
+ 481, 481, 481, 302, 302, 302, 302, 302, 302, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 50,
+ 481, 481, 302, 302, 302, 302, 302, 302, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 92, 481, 481,
+ 481, 481, 481, 481, 92, 92, 92, 92, 92, 92,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+
+ 481, 481, 481, 303, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 92, 92, 92, 92, 92, 92, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 303, 189, 189, 189, 189, 189, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 304, 481, 481, 481, 481, 481, 481, 304, 304,
+ 304, 304, 304, 304, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 304, 304, 304,
+ 304, 304, 304, 305, 481, 481, 481, 481, 481, 481,
+
+ 305, 305, 305, 305, 305, 305, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 305,
+ 305, 305, 305, 305, 305, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 129, 481, 481, 481, 481, 481,
+ 481, 129, 129, 129, 129, 129, 129, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 129, 129, 129, 129, 129, 129, 202, 202, 202, 202,
+
+ 202, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 307, 481, 481, 481, 481,
+ 481, 481, 307, 307, 307, 307, 307, 307, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 307, 307, 307, 307, 307, 307, 312, 481, 481,
+ 481, 481, 481, 481, 312, 312, 312, 312, 312, 312,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 312, 312, 312, 312, 312, 312, 163,
+
+ 163, 163, 163, 163, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 313, 481,
+ 481, 481, 481, 481, 481, 313, 313, 313, 313, 313,
+ 313, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 313, 313, 313, 313, 313, 313,
+ 284, 284, 284, 323, 481, 481, 325, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 326,
+ 481, 481, 481, 481, 481, 481, 326, 326, 326, 326,
+ 326, 326, 481, 481, 481, 481, 481, 481, 481, 481,
+
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 327, 481, 481, 326, 326, 326, 326, 326,
+ 326, 287, 287, 287, 328, 481, 481, 481, 481, 481,
+ 481, 481, 330, 481, 481, 481, 481, 481, 481, 481,
+ 331, 481, 481, 481, 481, 481, 481, 331, 331, 331,
+ 331, 331, 331, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 332, 481, 481, 331, 331, 331, 331,
+ 331, 331, 289, 289, 289, 289, 289, 481, 481, 481,
+ 481, 481, 481, 481, 481, 254, 481, 481, 481, 481,
+
+ 481, 333, 481, 481, 481, 481, 481, 481, 333, 333,
+ 333, 333, 333, 333, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 255, 481, 481, 333, 333, 333,
+ 333, 333, 333, 283, 283, 283, 283, 289, 481, 291,
+ 481, 481, 481, 481, 291, 291, 292, 481, 481, 481,
+ 481, 481, 293, 481, 481, 481, 481, 481, 481, 293,
+ 293, 293, 293, 293, 293, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 294, 481, 481, 293, 293,
+
+ 293, 293, 293, 293, 334, 481, 481, 481, 481, 481,
+ 481, 334, 334, 334, 334, 334, 334, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 334, 334, 334, 334, 334, 334, 110, 177, 177, 177,
+ 110, 481, 41, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 336, 481, 481, 481, 481,
+ 481, 481, 336, 336, 336, 336, 336, 336, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 42, 481,
+
+ 481, 336, 336, 336, 336, 336, 336, 181, 181, 181,
+ 181, 181, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 337, 481, 481, 481,
+ 481, 481, 481, 337, 337, 337, 337, 337, 337, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 117,
+ 481, 481, 337, 337, 337, 337, 337, 337, 118, 118,
+ 118, 118, 118, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 338, 481, 481,
+ 481, 481, 481, 481, 338, 338, 338, 338, 338, 338,
+
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 338, 338, 338, 338, 338, 338, 121,
+ 184, 184, 184, 121, 481, 481, 481, 481, 481, 481,
+ 41, 481, 481, 481, 481, 481, 481, 481, 339, 481,
+ 481, 481, 481, 481, 481, 339, 339, 339, 339, 339,
+ 339, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 50, 481, 481, 339, 339, 339, 339, 339, 339,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+
+ 481, 481, 481, 481, 481, 481, 340, 481, 481, 92,
+ 481, 481, 481, 481, 481, 481, 92, 92, 92, 92,
+ 92, 92, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 92, 92, 92, 92, 92,
+ 92, 189, 189, 189, 189, 189, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 341, 481, 481, 481, 481, 481, 481, 341, 341, 341,
+ 341, 341, 341, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+
+ 481, 481, 481, 481, 481, 481, 341, 341, 341, 341,
+ 341, 341, 148, 148, 148, 148, 148, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 342, 481, 481, 481, 481, 481, 481, 342, 342,
+ 342, 342, 342, 342, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 342, 342, 342,
+ 342, 342, 342, 202, 202, 202, 202, 202, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 344, 481, 481, 481, 481, 481, 481, 344,
+
+ 344, 344, 344, 344, 344, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 344, 344,
+ 344, 344, 344, 344, 348, 481, 481, 481, 481, 481,
+ 481, 348, 348, 348, 348, 348, 348, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 348, 348, 348, 348, 348, 348, 163, 163, 163, 163,
+ 163, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 349, 481, 481, 481, 481,
+
+ 481, 481, 349, 349, 349, 349, 349, 349, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 349, 349, 349, 349, 349, 349, 324, 360, 360,
+ 360, 324, 481, 285, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 361, 481, 481, 481,
+ 481, 481, 481, 361, 361, 361, 361, 361, 361, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 286,
+ 481, 481, 361, 361, 361, 361, 361, 361, 284, 284,
+
+ 284, 323, 481, 481, 325, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 326, 481, 481,
+ 481, 481, 481, 481, 326, 326, 326, 326, 326, 326,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 327, 481, 481, 326, 326, 326, 326, 326, 326, 329,
+ 364, 364, 364, 329, 481, 481, 481, 481, 481, 481,
+ 285, 481, 481, 481, 481, 481, 481, 481, 365, 481,
+ 481, 481, 481, 481, 481, 365, 365, 365, 365, 365,
+ 365, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 288, 481, 481, 365, 365, 365, 365, 365, 365,
+ 287, 287, 287, 328, 481, 481, 481, 481, 481, 481,
+ 481, 330, 481, 481, 481, 481, 481, 481, 481, 331,
+ 481, 481, 481, 481, 481, 481, 331, 331, 331, 331,
+ 331, 331, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 332, 481, 481, 331, 331, 331, 331, 331,
+ 331, 289, 289, 289, 289, 289, 481, 481, 481, 481,
+ 481, 481, 481, 481, 254, 481, 481, 481, 481, 481,
+
+ 366, 481, 481, 481, 481, 481, 481, 366, 366, 366,
+ 366, 366, 366, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 255, 481, 481, 366, 366, 366, 366,
+ 366, 366, 368, 481, 481, 481, 481, 481, 481, 368,
+ 368, 368, 368, 368, 368, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 368, 368,
+ 368, 368, 368, 368, 115, 481, 481, 481, 481, 481,
+ 481, 115, 115, 115, 115, 115, 115, 481, 481, 481,
+
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 115, 115, 115, 115, 115, 115, 370, 481, 481, 481,
+ 481, 481, 481, 370, 370, 370, 370, 370, 370, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 370, 370, 370, 370, 370, 370, 148, 148,
+ 148, 148, 148, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 129, 481, 481,
+ 481, 481, 481, 481, 129, 129, 129, 129, 129, 129,
+
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 129, 129, 129, 129, 129, 129, 202,
+ 202, 202, 202, 202, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 372, 481,
+ 481, 481, 481, 481, 481, 372, 372, 372, 372, 372,
+ 372, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 372, 372, 372, 372, 372, 372,
+ 376, 481, 481, 481, 481, 481, 481, 376, 376, 376,
+
+ 376, 376, 376, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 376, 376, 376, 376,
+ 376, 376, 377, 481, 481, 481, 481, 481, 481, 377,
+ 377, 377, 377, 377, 377, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 377, 377,
+ 377, 377, 377, 377, 289, 289, 289, 289, 289, 481,
+ 481, 481, 481, 481, 481, 481, 481, 254, 481, 481,
+ 481, 481, 481, 378, 481, 481, 481, 481, 481, 481,
+
+ 378, 378, 378, 378, 378, 378, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 255, 481, 481, 378,
+ 378, 378, 378, 378, 378, 381, 481, 481, 481, 481,
+ 481, 481, 382, 481, 383, 481, 481, 481, 481, 384,
+ 385, 481, 481, 386, 481, 481, 481, 481, 154, 481,
+ 481, 481, 481, 481, 381, 481, 481, 481, 481, 481,
+ 382, 481, 383, 481, 481, 481, 481, 384, 385, 481,
+ 481, 386, 390, 481, 481, 481, 481, 481, 481, 390,
+ 390, 390, 390, 390, 390, 481, 481, 481, 481, 481,
+
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 390, 390,
+ 390, 390, 390, 390, 391, 481, 481, 481, 481, 481,
+ 481, 391, 391, 391, 391, 391, 391, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 391, 391, 391, 391, 391, 391, 392, 481, 481, 481,
+ 481, 481, 481, 392, 392, 392, 392, 392, 392, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+
+ 481, 481, 392, 392, 392, 392, 392, 392, 400, 481,
+ 481, 481, 481, 481, 481, 400, 400, 400, 400, 400,
+ 400, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 400, 400, 400, 400, 400, 400,
+ 401, 481, 481, 481, 481, 481, 481, 401, 401, 401,
+ 401, 401, 401, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 401, 401, 401, 401,
+ 401, 401, 402, 481, 481, 481, 481, 481, 481, 402,
+
+ 402, 402, 402, 402, 402, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 402, 402,
+ 402, 402, 402, 402, 412, 481, 481, 481, 481, 481,
+ 481, 412, 412, 412, 412, 412, 412, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 412, 412, 412, 412, 412, 412, 413, 481, 481, 481,
+ 481, 481, 481, 413, 413, 413, 413, 413, 413, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 413, 413, 413, 413, 413, 413, 431, 481,
+ 481, 481, 481, 481, 481, 431, 431, 431, 431, 431,
+ 431, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 431, 431, 431, 431, 431, 431,
+ 440, 481, 481, 481, 481, 481, 481, 440, 440, 440,
+ 440, 440, 440, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 440, 440, 440, 440,
+
+ 440, 440, 441, 441, 441, 441, 441, 481, 481, 481,
+ 481, 481, 481, 481, 481, 427, 481, 481, 481, 481,
+ 481, 442, 481, 481, 481, 481, 481, 481, 442, 442,
+ 442, 442, 442, 442, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 429, 481, 481, 442, 442, 442,
+ 442, 442, 442, 448, 448, 448, 448, 448, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 449, 481, 481, 481, 481, 481, 481, 449,
+ 449, 449, 449, 449, 449, 481, 481, 481, 481, 481,
+
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 449, 449,
+ 449, 449, 449, 449, 450, 481, 481, 481, 481, 481,
+ 481, 450, 450, 450, 450, 450, 450, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 450, 450, 450, 450, 450, 450, 455, 481, 481, 481,
+ 481, 481, 481, 455, 455, 455, 455, 455, 455, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+
+ 481, 481, 455, 455, 455, 455, 455, 455, 456, 481,
+ 481, 481, 481, 481, 481, 456, 456, 456, 456, 456,
+ 456, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 456, 456, 456, 456, 456, 456,
+ 461, 481, 481, 481, 481, 481, 481, 461, 461, 461,
+ 461, 461, 461, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 461, 461, 461, 461,
+ 461, 461, 462, 481, 481, 481, 481, 481, 481, 462,
+
+ 462, 462, 462, 462, 462, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 462, 462,
+ 462, 462, 462, 462, 467, 481, 481, 481, 481, 481,
+ 481, 467, 467, 467, 467, 467, 467, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 467, 467, 467, 467, 467, 467, 468, 481, 481, 481,
+ 481, 481, 481, 468, 468, 468, 468, 468, 468, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 468, 468, 468, 468, 468, 468, 472, 481,
+ 481, 481, 481, 481, 481, 472, 472, 472, 472, 472,
+ 472, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 472, 472, 472, 472, 472, 472,
+ 40, 481, 481, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 46, 46, 481, 46, 46, 49, 481,
+ 481, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 55, 55, 481, 55, 55, 83, 481, 481, 83,
+
+ 83, 92, 481, 92, 92, 481, 92, 92, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99, 110, 110,
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
+ 110, 115, 115, 481, 115, 115, 118, 118, 118, 118,
+ 118, 118, 118, 118, 118, 118, 121, 121, 121, 121,
+ 121, 121, 121, 121, 121, 121, 121, 121, 121, 127,
+ 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
+ 127, 127, 127, 129, 129, 481, 129, 129, 148, 148,
+ 148, 148, 148, 148, 148, 148, 148, 148, 153, 153,
+ 481, 153, 153, 161, 161, 161, 161, 161, 161, 161,
+
+ 161, 161, 161, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 168, 168, 168, 181, 181, 181, 181,
+ 181, 181, 181, 181, 181, 181, 49, 49, 481, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49, 49, 121,
+ 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
+ 121, 121, 127, 127, 127, 127, 127, 127, 127, 127,
+ 127, 127, 127, 127, 127, 127, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
+ 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
+
+ 214, 214, 214, 214, 40, 481, 481, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 228, 228, 228,
+ 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
+ 228, 246, 246, 246, 246, 251, 251, 251, 251, 251,
+ 251, 481, 251, 251, 251, 251, 251, 251, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 278, 278, 278, 278, 251,
+ 251, 251, 251, 251, 251, 481, 251, 251, 251, 251,
+ 251, 251, 284, 481, 481, 284, 284, 284, 284, 284,
+
+ 284, 284, 284, 284, 284, 287, 481, 481, 287, 287,
+ 287, 287, 287, 287, 287, 287, 287, 287, 290, 290,
+ 290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
+ 290, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 115, 115, 481, 115, 115, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 315, 315, 315, 315, 324, 324, 324, 324,
+ 324, 324, 324, 324, 324, 324, 324, 324, 324, 287,
+ 481, 481, 287, 287, 287, 287, 287, 287, 287, 287,
+ 287, 287, 329, 329, 329, 329, 329, 329, 329, 329,
+
+ 329, 329, 329, 329, 329, 251, 251, 251, 251, 251,
+ 481, 481, 251, 251, 251, 251, 251, 251, 290, 290,
+ 290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
+ 290, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 115, 115, 481, 115, 115, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 351, 351, 351, 351, 284, 284, 481, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 324,
+ 324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
+ 324, 324, 287, 287, 481, 287, 287, 287, 287, 287,
+
+ 287, 287, 287, 287, 287, 329, 329, 329, 329, 329,
+ 329, 329, 329, 329, 329, 329, 329, 329, 251, 251,
+ 251, 251, 251, 481, 481, 251, 251, 251, 251, 251,
+ 251, 416, 416, 416, 416, 481, 481, 481, 481, 416,
+ 481, 481, 416, 416, 428, 428, 428, 428, 481, 481,
+ 481, 428, 428, 428, 481, 428, 428, 430, 430, 430,
+ 430, 430, 430, 430, 430, 430, 430, 439, 439, 439,
+ 439, 439, 439, 439, 439, 439, 439, 7, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481
} ;
-static yyconst short int yy_chk[2462] =
+static yyconst flex_int16_t yy_chk[6664] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -569,263 +1049,725 @@ static yyconst short int yy_chk[2462] =
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 3, 480, 4, 9, 9, 9, 9, 9, 12, 3,
- 17, 4, 10, 10, 10, 10, 10, 11, 11, 11,
- 11, 11, 3, 3, 4, 4, 13, 69, 12, 13,
- 15, 53, 53, 17, 69, 3, 13, 4, 26, 13,
-
- 13, 13, 13, 13, 13, 15, 18, 27, 23, 18,
- 27, 27, 26, 49, 11, 40, 18, 28, 23, 477,
- 28, 27, 52, 23, 89, 56, 23, 89, 49, 23,
- 32, 28, 18, 23, 23, 40, 23, 43, 27, 56,
- 43, 18, 21, 24, 32, 52, 66, 43, 66, 21,
- 21, 28, 21, 24, 24, 24, 24, 24, 24, 21,
- 32, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 3, 5, 4, 6, 15,
+ 12, 3, 480, 4, 9, 9, 9, 9, 9, 10,
+
+ 10, 10, 10, 10, 3, 3, 4, 4, 11, 11,
+ 11, 11, 11, 24, 32, 5, 18, 6, 17, 18,
+ 3, 25, 4, 33, 25, 25, 33, 33, 39, 49,
+ 15, 477, 3, 3, 4, 4, 12, 69, 17, 18,
+ 36, 32, 11, 40, 470, 3, 69, 4, 18, 25,
+ 464, 33, 18, 24, 32, 55, 39, 43, 52, 26,
+ 43, 25, 26, 33, 34, 69, 17, 18, 36, 32,
+ 49, 11, 13, 53, 53, 13, 18, 25, 52, 33,
+ 36, 67, 13, 13, 13, 13, 13, 13, 459, 40,
+ 26, 34, 71, 43, 78, 55, 36, 88, 128, 26,
+
+ 78, 443, 128, 67, 34, 71, 52, 80, 13, 80,
+ 67, 13, 13, 13, 13, 13, 13, 21, 26, 34,
+ 71, 92, 78, 88, 21, 21, 88, 21, 37, 37,
+ 37, 37, 37, 437, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 92, 21, 21, 21, 21, 21, 21, 21, 21,
21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 34, 33,
- 36, 21, 33, 33, 37, 37, 37, 37, 37, 59,
-
- 44, 59, 34, 33, 36, 38, 38, 38, 38, 38,
- 44, 44, 44, 44, 44, 44, 45, 86, 34, 57,
- 33, 36, 57, 57, 59, 47, 45, 45, 45, 45,
- 45, 45, 47, 57, 86, 47, 47, 47, 47, 47,
- 47, 55, 38, 42, 42, 42, 42, 58, 68, 42,
- 71, 55, 55, 55, 55, 55, 55, 72, 88, 144,
- 128, 58, 42, 68, 128, 88, 144, 70, 58, 42,
- 71, 73, 42, 42, 42, 42, 42, 42, 50, 50,
- 50, 50, 70, 78, 74, 72, 78, 73, 65, 50,
- 78, 80, 470, 70, 74, 76, 76, 50, 65, 65,
-
- 65, 65, 65, 65, 50, 75, 76, 50, 50, 50,
- 50, 50, 50, 77, 80, 82, 141, 83, 77, 87,
- 75, 90, 91, 85, 90, 82, 75, 83, 83, 83,
- 83, 83, 83, 85, 87, 77, 91, 138, 152, 77,
- 138, 109, 95, 464, 141, 152, 109, 96, 110, 111,
- 82, 92, 92, 92, 92, 92, 95, 96, 96, 96,
- 96, 96, 96, 92, 98, 99, 109, 459, 110, 111,
- 92, 98, 101, 104, 105, 107, 121, 92, 98, 99,
- 92, 92, 92, 92, 92, 92, 101, 104, 105, 107,
- 135, 121, 100, 104, 106, 133, 150, 100, 122, 135,
-
- 101, 99, 100, 100, 100, 100, 100, 100, 106, 107,
- 105, 120, 148, 122, 133, 443, 150, 437, 148, 177,
- 114, 120, 106, 112, 112, 112, 112, 112, 149, 112,
- 114, 114, 114, 114, 114, 114, 120, 157, 160, 177,
- 157, 201, 112, 149, 160, 201, 395, 158, 126, 112,
- 161, 159, 112, 112, 112, 112, 112, 112, 113, 113,
- 113, 113, 126, 158, 113, 161, 126, 162, 118, 159,
- 229, 164, 168, 395, 229, 432, 162, 113, 118, 118,
- 118, 118, 118, 118, 113, 164, 168, 113, 113, 113,
- 113, 113, 113, 116, 116, 116, 116, 116, 169, 422,
-
- 388, 192, 196, 119, 194, 171, 169, 172, 192, 196,
- 194, 206, 116, 119, 119, 119, 119, 119, 119, 171,
- 173, 172, 116, 116, 116, 116, 116, 116, 123, 123,
- 123, 123, 123, 206, 173, 208, 209, 210, 132, 123,
- 387, 175, 241, 209, 210, 241, 208, 123, 132, 132,
- 132, 132, 132, 132, 123, 175, 184, 123, 123, 123,
- 123, 123, 123, 124, 124, 124, 124, 219, 239, 215,
- 367, 184, 247, 156, 124, 199, 186, 215, 239, 351,
- 247, 219, 124, 156, 156, 156, 156, 156, 156, 124,
- 186, 199, 124, 124, 124, 124, 124, 124, 130, 130,
-
- 130, 130, 130, 186, 268, 205, 271, 310, 163, 207,
- 310, 312, 438, 271, 312, 268, 438, 130, 163, 163,
- 163, 163, 163, 163, 130, 205, 207, 130, 130, 130,
- 130, 130, 130, 154, 154, 154, 154, 154, 235, 167,
- 174, 232, 272, 347, 348, 346, 167, 264, 347, 348,
- 272, 235, 154, 167, 174, 238, 232, 240, 242, 154,
- 227, 264, 154, 154, 154, 154, 154, 154, 165, 165,
- 165, 165, 165, 373, 227, 253, 238, 240, 178, 242,
- 373, 174, 335, 264, 321, 227, 320, 165, 178, 178,
- 178, 178, 178, 178, 179, 253, 254, 165, 165, 165,
-
- 165, 165, 165, 180, 179, 179, 179, 179, 179, 179,
- 273, 254, 275, 180, 180, 180, 180, 180, 180, 182,
- 182, 182, 182, 182, 343, 279, 285, 316, 386, 183,
- 275, 386, 273, 279, 343, 316, 319, 318, 182, 183,
- 183, 183, 183, 183, 183, 185, 285, 288, 182, 182,
- 182, 182, 182, 182, 189, 185, 185, 185, 185, 185,
- 185, 325, 288, 435, 189, 189, 189, 189, 189, 189,
- 191, 191, 191, 191, 191, 284, 284, 284, 284, 284,
- 202, 325, 435, 286, 286, 286, 286, 286, 284, 191,
- 202, 202, 202, 202, 202, 202, 286, 306, 309, 191,
-
- 191, 191, 191, 191, 191, 204, 204, 204, 204, 204,
- 322, 322, 322, 322, 322, 211, 423, 317, 303, 306,
- 309, 423, 303, 322, 204, 211, 211, 211, 211, 211,
- 211, 212, 303, 330, 204, 204, 204, 204, 204, 204,
- 214, 212, 212, 212, 212, 212, 212, 418, 330, 311,
- 214, 214, 214, 214, 214, 214, 218, 218, 218, 218,
- 218, 221, 218, 374, 340, 359, 360, 218, 418, 218,
- 374, 221, 221, 221, 221, 221, 221, 222, 340, 324,
- 384, 301, 218, 223, 324, 359, 360, 222, 222, 222,
- 222, 222, 222, 223, 223, 223, 223, 223, 223, 224,
-
- 381, 382, 340, 384, 324, 225, 296, 381, 382, 224,
- 224, 224, 224, 224, 224, 225, 225, 225, 225, 225,
- 225, 226, 337, 337, 337, 337, 337, 230, 410, 363,
- 364, 226, 226, 226, 226, 226, 226, 230, 230, 230,
- 230, 230, 230, 231, 363, 364, 396, 421, 337, 236,
- 421, 410, 396, 231, 231, 231, 231, 231, 231, 236,
- 236, 236, 236, 236, 236, 237, 341, 341, 341, 341,
- 341, 244, 283, 436, 369, 237, 237, 237, 237, 237,
- 237, 244, 244, 244, 244, 244, 244, 245, 369, 383,
- 282, 369, 341, 246, 420, 436, 383, 245, 245, 245,
-
- 245, 245, 245, 246, 246, 246, 246, 246, 246, 251,
- 251, 251, 251, 251, 420, 251, 281, 453, 393, 397,
- 251, 329, 251, 252, 252, 252, 252, 252, 258, 252,
- 380, 329, 393, 397, 252, 251, 252, 453, 258, 258,
- 258, 258, 258, 258, 380, 398, 329, 405, 385, 252,
- 256, 256, 256, 256, 256, 385, 256, 406, 405, 398,
- 259, 256, 256, 256, 380, 406, 280, 407, 274, 256,
- 259, 259, 259, 259, 259, 259, 256, 260, 407, 256,
- 256, 256, 256, 256, 256, 261, 419, 260, 260, 260,
- 260, 260, 260, 262, 267, 261, 261, 261, 261, 261,
-
- 261, 263, 419, 262, 262, 262, 262, 262, 262, 265,
- 257, 263, 263, 263, 263, 263, 263, 266, 250, 265,
- 265, 265, 265, 265, 265, 269, 249, 266, 266, 266,
- 266, 266, 266, 270, 248, 269, 269, 269, 269, 269,
- 269, 276, 243, 270, 270, 270, 270, 270, 270, 277,
- 234, 276, 276, 276, 276, 276, 276, 278, 408, 277,
- 277, 277, 277, 277, 277, 408, 399, 278, 278, 278,
- 278, 278, 278, 287, 287, 287, 287, 394, 471, 287,
- 399, 404, 394, 447, 471, 394, 399, 290, 290, 290,
- 290, 290, 287, 290, 409, 404, 458, 447, 290, 287,
-
- 290, 409, 287, 287, 287, 287, 287, 287, 289, 289,
- 289, 289, 425, 290, 411, 425, 458, 444, 233, 289,
- 291, 291, 291, 291, 291, 411, 291, 289, 424, 433,
- 465, 291, 444, 291, 289, 424, 433, 289, 289, 289,
- 289, 289, 289, 228, 220, 445, 291, 292, 292, 292,
- 292, 292, 434, 292, 446, 434, 473, 465, 292, 466,
- 292, 293, 293, 293, 293, 293, 297, 293, 445, 466,
- 473, 446, 293, 292, 293, 460, 297, 297, 297, 297,
- 297, 297, 428, 428, 428, 428, 428, 293, 294, 294,
- 294, 294, 294, 451, 294, 428, 460, 217, 299, 294,
-
- 451, 294, 344, 344, 344, 344, 344, 294, 299, 299,
- 299, 299, 299, 299, 294, 216, 203, 294, 294, 294,
- 294, 294, 294, 295, 295, 295, 295, 295, 344, 295,
- 452, 454, 198, 300, 295, 295, 295, 452, 454, 463,
- 197, 195, 295, 300, 300, 300, 300, 300, 300, 295,
- 302, 193, 295, 295, 295, 295, 295, 295, 304, 463,
- 302, 302, 302, 302, 302, 302, 305, 469, 304, 304,
- 304, 304, 304, 304, 307, 190, 305, 305, 305, 305,
- 305, 305, 308, 187, 307, 307, 307, 307, 307, 307,
- 469, 479, 308, 308, 308, 308, 308, 308, 313, 313,
-
- 313, 313, 313, 314, 415, 415, 415, 415, 415, 478,
- 313, 457, 479, 314, 314, 314, 314, 314, 314, 315,
- 415, 457, 476, 478, 313, 181, 176, 476, 170, 315,
- 315, 315, 315, 315, 315, 326, 326, 326, 326, 326,
- 166, 326, 457, 331, 331, 331, 331, 331, 326, 155,
- 474, 475, 153, 151, 331, 147, 331, 474, 475, 146,
- 334, 326, 327, 327, 327, 327, 327, 145, 327, 331,
- 334, 334, 334, 334, 334, 334, 358, 358, 358, 358,
- 358, 327, 358, 368, 368, 368, 368, 368, 327, 358,
- 143, 327, 327, 327, 327, 327, 327, 328, 328, 328,
-
- 328, 142, 358, 328, 140, 139, 137, 336, 136, 368,
- 134, 370, 370, 370, 370, 370, 328, 336, 336, 336,
- 336, 336, 336, 328, 131, 129, 328, 328, 328, 328,
- 328, 328, 332, 332, 332, 332, 332, 370, 127, 117,
- 115, 108, 338, 332, 97, 372, 372, 372, 372, 372,
- 84, 332, 338, 338, 338, 338, 338, 338, 332, 81,
- 79, 332, 332, 332, 332, 332, 332, 333, 333, 333,
- 333, 372, 67, 63, 62, 61, 60, 339, 333, 54,
- 46, 39, 30, 29, 25, 22, 333, 339, 339, 339,
- 339, 339, 339, 333, 342, 20, 333, 333, 333, 333,
-
- 333, 333, 345, 19, 342, 342, 342, 342, 342, 342,
- 16, 14, 345, 345, 345, 345, 345, 345, 349, 349,
- 349, 349, 349, 350, 7, 6, 5, 0, 0, 0,
- 349, 0, 0, 350, 350, 350, 350, 350, 350, 361,
- 0, 0, 0, 0, 349, 0, 0, 0, 0, 361,
- 361, 361, 361, 361, 361, 362, 362, 362, 362, 362,
- 365, 0, 0, 0, 0, 0, 362, 0, 362, 0,
- 365, 365, 365, 365, 365, 365, 366, 0, 0, 371,
- 0, 362, 0, 0, 0, 371, 366, 366, 366, 366,
- 366, 366, 371, 0, 371, 375, 0, 0, 0, 371,
-
- 371, 376, 0, 371, 0, 375, 375, 375, 375, 375,
- 375, 376, 376, 376, 376, 376, 376, 377, 0, 0,
- 0, 0, 0, 378, 0, 0, 0, 377, 377, 377,
- 377, 377, 377, 378, 378, 378, 378, 378, 378, 390,
- 0, 0, 0, 0, 0, 391, 0, 0, 0, 390,
- 390, 390, 390, 390, 390, 391, 391, 391, 391, 391,
- 391, 392, 0, 0, 0, 0, 0, 400, 0, 0,
- 0, 392, 392, 392, 392, 392, 392, 400, 400, 400,
- 400, 400, 400, 401, 0, 0, 0, 0, 0, 402,
- 0, 0, 0, 401, 401, 401, 401, 401, 401, 402,
-
- 402, 402, 402, 402, 402, 403, 403, 403, 403, 403,
- 0, 0, 412, 0, 0, 0, 0, 0, 0, 0,
- 0, 403, 412, 412, 412, 412, 412, 412, 413, 0,
- 0, 403, 414, 414, 414, 414, 414, 0, 413, 413,
- 413, 413, 413, 413, 0, 0, 0, 0, 414, 416,
- 0, 0, 417, 417, 417, 417, 417, 0, 414, 416,
- 416, 416, 416, 416, 416, 417, 426, 426, 426, 426,
- 426, 0, 430, 430, 430, 430, 430, 0, 417, 426,
- 0, 0, 0, 0, 0, 430, 0, 0, 0, 431,
- 0, 0, 426, 427, 427, 427, 427, 427, 430, 431,
-
- 431, 431, 431, 431, 431, 0, 427, 439, 439, 439,
- 439, 439, 427, 0, 0, 0, 0, 0, 0, 427,
- 439, 0, 427, 427, 427, 427, 427, 427, 440, 0,
- 0, 0, 0, 439, 0, 0, 0, 0, 440, 440,
- 440, 440, 440, 440, 441, 441, 441, 441, 441, 448,
- 0, 0, 449, 449, 449, 449, 449, 441, 0, 448,
- 448, 448, 448, 448, 448, 449, 0, 0, 0, 450,
- 441, 442, 442, 442, 442, 442, 0, 0, 449, 450,
- 450, 450, 450, 450, 450, 0, 0, 0, 0, 0,
- 442, 0, 0, 0, 0, 0, 455, 0, 0, 0,
-
- 442, 442, 442, 442, 442, 442, 455, 455, 455, 455,
- 455, 455, 456, 0, 0, 0, 0, 0, 461, 0,
- 0, 0, 456, 456, 456, 456, 456, 456, 461, 461,
- 461, 461, 461, 461, 462, 0, 0, 0, 0, 0,
- 467, 0, 0, 0, 462, 462, 462, 462, 462, 462,
- 467, 467, 467, 467, 467, 467, 468, 0, 0, 0,
- 0, 0, 472, 0, 0, 0, 468, 468, 468, 468,
- 468, 468, 472, 472, 472, 472, 472, 472, 482, 0,
- 482, 482, 482, 482, 482, 482, 482, 482, 482, 483,
- 483, 0, 483, 483, 484, 0, 484, 484, 484, 484,
-
- 484, 484, 484, 484, 484, 485, 485, 0, 485, 485,
- 486, 0, 0, 486, 486, 487, 487, 487, 487, 487,
- 487, 487, 487, 487, 488, 0, 488, 488, 0, 488,
- 488, 489, 489, 489, 489, 489, 489, 489, 489, 489,
- 489, 489, 490, 490, 490, 490, 490, 490, 490, 490,
- 490, 491, 491, 0, 491, 491, 492, 492, 492, 492,
- 492, 492, 492, 492, 492, 492, 492, 493, 493, 493,
+ 21, 21, 21, 21, 21, 21, 21, 21, 66, 99,
+ 72, 21, 23, 70, 70, 432, 38, 38, 38, 38,
+
+ 38, 59, 66, 59, 23, 422, 89, 23, 56, 72,
+ 23, 56, 56, 68, 23, 23, 66, 23, 84, 72,
+ 57, 70, 85, 59, 68, 74, 74, 68, 23, 99,
+ 38, 120, 89, 23, 85, 89, 23, 84, 57, 23,
+ 76, 68, 23, 23, 76, 23, 27, 84, 56, 108,
+ 85, 59, 68, 27, 27, 27, 27, 27, 27, 38,
+ 57, 229, 74, 82, 73, 229, 76, 57, 388, 76,
+ 73, 96, 120, 76, 495, 495, 75, 108, 73, 87,
+ 105, 110, 27, 27, 27, 27, 27, 27, 42, 42,
+ 42, 42, 73, 75, 42, 82, 86, 75, 73, 82,
+
+ 75, 87, 95, 141, 96, 75, 387, 42, 87, 95,
+ 86, 96, 98, 105, 42, 42, 42, 42, 42, 42,
+ 105, 75, 104, 82, 86, 75, 106, 110, 111, 109,
+ 163, 166, 96, 107, 109, 167, 141, 98, 166, 104,
+ 42, 105, 95, 42, 42, 42, 42, 42, 42, 45,
+ 176, 106, 98, 121, 351, 345, 45, 45, 45, 45,
+ 45, 45, 104, 121, 107, 98, 106, 122, 104, 126,
+ 163, 166, 320, 107, 111, 167, 132, 122, 176, 106,
+ 109, 135, 45, 145, 126, 45, 45, 45, 45, 45,
+ 45, 47, 107, 138, 138, 152, 132, 146, 47, 47,
+
+ 47, 47, 47, 47, 121, 132, 145, 135, 168, 126,
+ 135, 146, 145, 126, 147, 170, 168, 152, 122, 155,
+ 194, 138, 177, 147, 152, 146, 156, 47, 47, 47,
+ 47, 47, 47, 50, 50, 50, 50, 150, 157, 156,
+ 172, 173, 147, 159, 50, 155, 158, 150, 155, 157,
+ 160, 238, 50, 194, 156, 170, 319, 159, 174, 50,
+ 50, 50, 50, 50, 50, 150, 157, 175, 177, 158,
+ 160, 159, 184, 186, 219, 158, 214, 318, 317, 160,
+ 172, 173, 184, 316, 214, 50, 192, 238, 50, 50,
+ 50, 50, 50, 50, 58, 310, 174, 186, 174, 197,
+
+ 199, 58, 58, 58, 58, 58, 58, 175, 246, 192,
+ 204, 205, 197, 186, 219, 192, 246, 253, 205, 204,
+ 208, 252, 199, 184, 174, 186, 201, 197, 206, 199,
+ 58, 58, 58, 58, 58, 58, 79, 220, 204, 205,
+ 206, 207, 208, 79, 79, 79, 79, 79, 79, 208,
+ 299, 201, 234, 235, 239, 201, 206, 227, 253, 207,
+ 278, 284, 209, 239, 343, 220, 234, 252, 278, 235,
+ 207, 257, 79, 79, 79, 79, 79, 79, 90, 227,
+ 234, 235, 239, 240, 209, 90, 90, 90, 90, 90,
+ 90, 209, 217, 217, 217, 217, 217, 227, 217, 257,
+
+ 343, 287, 393, 217, 323, 217, 393, 284, 227, 240,
+ 296, 328, 240, 237, 90, 90, 90, 90, 90, 90,
+ 93, 237, 271, 282, 281, 241, 270, 93, 93, 93,
+ 93, 93, 93, 241, 250, 250, 250, 250, 250, 296,
+ 250, 237, 287, 271, 217, 250, 309, 250, 270, 268,
+ 323, 271, 328, 241, 340, 270, 93, 93, 93, 93,
+ 93, 93, 100, 100, 100, 100, 100, 268, 490, 280,
+ 490, 274, 309, 272, 100, 309, 306, 311, 268, 315,
+ 272, 100, 274, 306, 335, 340, 250, 315, 100, 100,
+ 100, 100, 100, 100, 251, 251, 251, 251, 251, 274,
+
+ 251, 272, 279, 311, 306, 251, 311, 251, 502, 512,
+ 502, 512, 335, 340, 100, 273, 367, 100, 100, 100,
+ 100, 100, 100, 112, 112, 112, 112, 112, 249, 112,
+ 283, 283, 283, 283, 283, 285, 285, 285, 285, 285,
+ 324, 438, 112, 283, 367, 324, 251, 346, 285, 112,
+ 112, 112, 112, 112, 112, 289, 289, 289, 289, 289,
+ 308, 321, 321, 321, 321, 321, 438, 308, 289, 248,
+ 438, 346, 247, 242, 321, 112, 346, 347, 112, 112,
+ 112, 112, 112, 112, 113, 113, 113, 113, 308, 232,
+ 113, 324, 231, 228, 369, 290, 290, 290, 290, 290,
+
+ 359, 347, 436, 113, 369, 359, 347, 289, 290, 436,
+ 113, 113, 113, 113, 113, 113, 291, 291, 291, 291,
+ 291, 292, 292, 292, 292, 292, 360, 216, 329, 291,
+ 436, 360, 215, 369, 292, 202, 113, 386, 329, 113,
+ 113, 113, 113, 113, 113, 116, 395, 290, 395, 196,
+ 195, 359, 116, 116, 116, 116, 116, 116, 325, 325,
+ 325, 325, 325, 386, 325, 363, 386, 514, 291, 514,
+ 364, 325, 466, 292, 395, 363, 193, 360, 116, 329,
+ 364, 116, 116, 116, 116, 116, 116, 117, 191, 330,
+ 330, 330, 330, 330, 117, 117, 117, 117, 117, 117,
+
+ 330, 189, 330, 334, 334, 334, 334, 334, 466, 187,
+ 325, 336, 336, 336, 336, 336, 363, 336, 181, 334,
+ 373, 364, 169, 117, 117, 117, 117, 117, 117, 119,
+ 119, 119, 119, 119, 349, 349, 349, 349, 349, 165,
+ 374, 330, 373, 339, 339, 339, 339, 339, 119, 373,
+ 349, 161, 153, 380, 339, 119, 119, 119, 119, 119,
+ 119, 151, 374, 336, 368, 368, 368, 368, 368, 374,
+ 348, 348, 348, 348, 348, 370, 370, 370, 370, 370,
+ 380, 518, 148, 518, 119, 119, 119, 119, 119, 119,
+ 123, 123, 123, 123, 123, 339, 520, 527, 520, 527,
+
+ 144, 123, 446, 372, 372, 372, 372, 372, 380, 123,
+ 381, 382, 383, 143, 446, 396, 123, 123, 123, 123,
+ 123, 123, 348, 358, 358, 358, 358, 358, 397, 358,
+ 446, 384, 381, 382, 383, 142, 358, 384, 396, 381,
+ 382, 383, 123, 397, 396, 123, 123, 123, 123, 123,
+ 123, 124, 124, 124, 124, 372, 397, 398, 404, 384,
+ 420, 385, 124, 362, 362, 362, 362, 362, 394, 420,
+ 124, 394, 398, 404, 362, 358, 362, 124, 124, 124,
+ 124, 124, 124, 385, 140, 398, 404, 405, 420, 530,
+ 385, 530, 394, 540, 139, 540, 406, 394, 399, 547,
+
+ 394, 547, 137, 124, 399, 405, 124, 124, 124, 124,
+ 124, 124, 130, 399, 136, 362, 405, 406, 134, 130,
+ 130, 130, 130, 130, 130, 406, 399, 402, 402, 402,
+ 402, 402, 399, 548, 465, 548, 465, 133, 421, 408,
+ 402, 409, 407, 403, 403, 403, 403, 403, 130, 130,
+ 130, 130, 130, 130, 149, 149, 149, 149, 149, 403,
+ 407, 408, 465, 409, 421, 419, 410, 421, 408, 411,
+ 409, 407, 410, 149, 424, 425, 423, 131, 419, 402,
+ 149, 149, 149, 149, 149, 149, 129, 411, 413, 413,
+ 413, 413, 413, 419, 410, 403, 424, 127, 411, 413,
+
+ 423, 425, 118, 424, 425, 423, 149, 115, 418, 149,
+ 149, 149, 149, 149, 149, 154, 418, 414, 414, 414,
+ 414, 414, 154, 154, 154, 154, 154, 154, 412, 412,
+ 412, 412, 412, 414, 412, 97, 418, 94, 83, 81,
+ 413, 433, 77, 65, 63, 434, 415, 415, 415, 415,
+ 415, 154, 154, 154, 154, 154, 154, 162, 162, 162,
+ 162, 162, 415, 433, 426, 426, 426, 426, 426, 414,
+ 433, 434, 435, 445, 434, 451, 162, 426, 62, 445,
+ 412, 61, 435, 162, 162, 162, 162, 162, 162, 416,
+ 416, 416, 416, 416, 60, 54, 444, 451, 415, 46,
+
+ 435, 445, 416, 30, 451, 452, 454, 29, 447, 162,
+ 444, 473, 162, 162, 162, 162, 162, 162, 164, 164,
+ 164, 164, 164, 447, 444, 28, 473, 452, 454, 428,
+ 428, 428, 428, 428, 452, 454, 447, 164, 471, 473,
+ 474, 416, 428, 475, 164, 164, 164, 164, 164, 164,
+ 430, 430, 430, 430, 430, 439, 439, 439, 439, 439,
+ 22, 471, 474, 430, 20, 475, 19, 471, 439, 474,
+ 457, 453, 475, 164, 164, 164, 164, 164, 164, 171,
+ 453, 428, 16, 14, 476, 7, 171, 171, 171, 171,
+ 171, 171, 441, 441, 441, 441, 441, 0, 457, 453,
+
+ 458, 463, 430, 460, 0, 441, 457, 439, 476, 458,
+ 463, 460, 0, 476, 0, 171, 171, 171, 171, 171,
+ 171, 178, 178, 178, 178, 178, 457, 178, 458, 463,
+ 0, 460, 448, 448, 448, 448, 448, 469, 0, 0,
+ 178, 0, 0, 469, 441, 448, 0, 178, 178, 178,
+ 178, 178, 178, 468, 468, 468, 468, 468, 472, 472,
+ 472, 472, 472, 0, 0, 469, 468, 479, 478, 0,
+ 0, 472, 0, 178, 0, 479, 178, 178, 178, 178,
+ 178, 178, 180, 478, 448, 0, 0, 0, 0, 180,
+ 180, 180, 180, 180, 180, 479, 478, 0, 0, 0,
+
+ 0, 0, 0, 0, 0, 468, 0, 0, 0, 0,
+ 472, 0, 0, 0, 0, 0, 0, 0, 180, 180,
+ 180, 180, 180, 180, 182, 182, 182, 182, 182, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 182, 0, 0, 0, 0, 0, 0,
+ 182, 182, 182, 182, 182, 182, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 182,
+ 182, 182, 182, 182, 182, 183, 183, 183, 183, 183,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 0, 0, 183, 0, 0, 0, 0, 0,
+ 0, 183, 183, 183, 183, 183, 183, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 183, 183, 183, 183, 183, 183, 185, 185, 185, 185,
+ 185, 0, 0, 0, 0, 0, 0, 185, 0, 0,
+ 0, 0, 0, 0, 0, 185, 0, 0, 0, 0,
+ 0, 0, 185, 185, 185, 185, 185, 185, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 185, 0,
+
+ 0, 185, 185, 185, 185, 185, 185, 190, 190, 190,
+ 190, 190, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 190, 0, 0, 0,
+ 0, 0, 0, 190, 190, 190, 190, 190, 190, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 190, 190, 190, 190, 190, 190, 198, 0,
+ 0, 0, 0, 0, 0, 198, 198, 198, 198, 198,
+ 198, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 0, 0, 198, 198, 198, 198, 198, 198,
+ 203, 203, 203, 203, 203, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 203,
+ 0, 0, 0, 0, 0, 0, 203, 203, 203, 203,
+ 203, 203, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 203, 203, 203, 203, 203,
+ 203, 210, 0, 0, 0, 0, 0, 0, 210, 210,
+ 210, 210, 210, 210, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 0, 0, 0, 0, 0, 210, 210, 210,
+ 210, 210, 210, 211, 211, 211, 211, 211, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 211, 0, 0, 0, 0, 0, 0, 211,
+ 211, 211, 211, 211, 211, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 211, 211,
+ 211, 211, 211, 211, 218, 0, 0, 0, 0, 0,
+ 0, 218, 218, 218, 218, 218, 218, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 218, 218, 218, 218, 218, 218, 221, 221, 221, 221,
+ 221, 0, 221, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 221, 0, 0, 0, 0,
+ 0, 0, 221, 221, 221, 221, 221, 221, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 221, 0,
+ 0, 221, 221, 221, 221, 221, 221, 223, 0, 0,
+ 0, 0, 0, 0, 223, 223, 223, 223, 223, 223,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 223, 223, 223, 223, 223, 223, 224,
+ 224, 224, 224, 224, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 224, 0,
+ 0, 0, 0, 0, 0, 224, 224, 224, 224, 224,
+ 224, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 224, 224, 224, 224, 224, 224,
+ 225, 225, 225, 225, 225, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 225,
+
+ 0, 0, 0, 0, 0, 0, 225, 225, 225, 225,
+ 225, 225, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 225, 225, 225, 225, 225,
+ 225, 226, 226, 226, 226, 226, 0, 0, 0, 0,
+ 0, 0, 226, 0, 0, 0, 0, 0, 0, 0,
+ 226, 0, 0, 0, 0, 0, 0, 226, 226, 226,
+ 226, 226, 226, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 226, 0, 0, 226, 226, 226, 226,
+
+ 226, 226, 230, 230, 230, 230, 230, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 230, 0, 0, 0, 0, 0, 0, 230, 230,
+ 230, 230, 230, 230, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 230, 230, 230,
+ 230, 230, 230, 233, 0, 0, 0, 0, 0, 0,
+ 233, 233, 233, 233, 233, 233, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 233,
+
+ 233, 233, 233, 233, 233, 236, 236, 236, 236, 236,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 236, 0, 0, 0, 0, 0,
+ 0, 236, 236, 236, 236, 236, 236, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 236, 236, 236, 236, 236, 236, 243, 0, 0, 0,
+ 0, 0, 0, 243, 243, 243, 243, 243, 243, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 243, 243, 243, 243, 243, 243, 244, 244,
+ 244, 244, 244, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 244, 0, 0,
+ 0, 0, 0, 0, 244, 244, 244, 244, 244, 244,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 244, 244, 244, 244, 244, 244, 255,
+ 255, 255, 255, 255, 0, 255, 0, 0, 0, 0,
+ 255, 255, 255, 0, 0, 0, 0, 0, 255, 0,
+ 0, 0, 0, 0, 0, 255, 255, 255, 255, 255,
+
+ 255, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 255, 0, 0, 255, 255, 255, 255, 255, 255,
+ 256, 0, 0, 0, 0, 0, 0, 256, 256, 256,
+ 256, 256, 256, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 256, 256, 256, 256,
+ 256, 256, 258, 258, 258, 258, 258, 0, 258, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 258, 0, 0, 0, 0, 0, 0, 258, 258,
+
+ 258, 258, 258, 258, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 258, 0, 0, 258, 258, 258,
+ 258, 258, 258, 260, 0, 0, 0, 0, 0, 0,
+ 260, 260, 260, 260, 260, 260, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 260, 0, 0, 260,
+ 260, 260, 260, 260, 260, 261, 261, 261, 261, 261,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 261, 0, 0, 0, 0, 0,
+
+ 0, 261, 261, 261, 261, 261, 261, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 261, 0, 0,
+ 261, 261, 261, 261, 261, 261, 262, 262, 262, 262,
+ 262, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 262, 0, 0, 0, 0,
+ 0, 0, 262, 262, 262, 262, 262, 262, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 262, 262, 262, 262, 262, 262, 263, 263, 263,
+
+ 263, 263, 0, 0, 0, 0, 0, 0, 263, 0,
+ 0, 0, 0, 0, 0, 0, 263, 0, 0, 0,
+ 0, 0, 0, 263, 263, 263, 263, 263, 263, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 263,
+ 0, 0, 263, 263, 263, 263, 263, 263, 264, 264,
+ 264, 264, 264, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 264, 0, 0,
+ 0, 0, 0, 0, 264, 264, 264, 264, 264, 264,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 0, 264, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 264, 264, 264, 264, 264, 264, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 264, 265, 265, 265, 265, 265, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 265, 0, 0, 0, 0, 0, 0, 265, 265,
+ 265, 265, 265, 265, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 265, 265, 265,
+ 265, 265, 265, 266, 0, 0, 0, 0, 0, 0,
+
+ 266, 266, 266, 266, 266, 266, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 266,
+ 266, 266, 266, 266, 266, 267, 267, 267, 267, 267,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 267, 0, 0, 0, 0, 0,
+ 0, 267, 267, 267, 267, 267, 267, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 267, 267, 267, 267, 267, 267, 269, 269, 269, 269,
+
+ 269, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 269, 0, 0, 0, 0,
+ 0, 0, 269, 269, 269, 269, 269, 269, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 269, 269, 269, 269, 269, 269, 275, 0, 0,
+ 0, 0, 0, 0, 275, 275, 275, 275, 275, 275,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 275, 275, 275, 275, 275, 275, 276,
+
+ 276, 276, 276, 276, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 276, 0,
+ 0, 0, 0, 0, 0, 276, 276, 276, 276, 276,
+ 276, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 276, 276, 276, 276, 276, 276,
+ 286, 286, 286, 286, 0, 0, 286, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 286,
+ 0, 0, 0, 0, 0, 0, 286, 286, 286, 286,
+ 286, 286, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 286, 0, 0, 286, 286, 286, 286, 286,
+ 286, 288, 288, 288, 288, 0, 0, 0, 0, 0,
+ 0, 0, 288, 0, 0, 0, 0, 0, 0, 0,
+ 288, 0, 0, 0, 0, 0, 0, 288, 288, 288,
+ 288, 288, 288, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 288, 0, 0, 288, 288, 288, 288,
+ 288, 288, 293, 293, 293, 293, 293, 0, 0, 0,
+ 0, 0, 0, 0, 0, 293, 0, 0, 0, 0,
+
+ 0, 293, 0, 0, 0, 0, 0, 0, 293, 293,
+ 293, 293, 293, 293, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 293, 0, 0, 293, 293, 293,
+ 293, 293, 293, 294, 294, 294, 294, 294, 0, 294,
+ 0, 0, 0, 0, 294, 294, 294, 0, 0, 0,
+ 0, 0, 294, 0, 0, 0, 0, 0, 0, 294,
+ 294, 294, 294, 294, 294, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 294, 0, 0, 294, 294,
+
+ 294, 294, 294, 294, 295, 0, 0, 0, 0, 0,
+ 0, 295, 295, 295, 295, 295, 295, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 295, 295, 295, 295, 295, 295, 297, 297, 297, 297,
+ 297, 0, 297, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 297, 0, 0, 0, 0,
+ 0, 0, 297, 297, 297, 297, 297, 297, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 297, 0,
+
+ 0, 297, 297, 297, 297, 297, 297, 300, 300, 300,
+ 300, 300, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 300, 0, 0, 0,
+ 0, 0, 0, 300, 300, 300, 300, 300, 300, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 300,
+ 0, 0, 300, 300, 300, 300, 300, 300, 301, 301,
+ 301, 301, 301, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 301, 0, 0,
+ 0, 0, 0, 0, 301, 301, 301, 301, 301, 301,
+
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 301, 301, 301, 301, 301, 301, 302,
+ 302, 302, 302, 302, 0, 0, 0, 0, 0, 0,
+ 302, 0, 0, 0, 0, 0, 0, 0, 302, 0,
+ 0, 0, 0, 0, 0, 302, 302, 302, 302, 302,
+ 302, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 302, 0, 0, 302, 302, 302, 302, 302, 302,
+ 303, 303, 303, 303, 303, 0, 0, 0, 0, 0,
+
+ 0, 0, 0, 0, 0, 0, 303, 0, 0, 303,
+ 0, 0, 0, 0, 0, 0, 303, 303, 303, 303,
+ 303, 303, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 303, 303, 303, 303, 303,
+ 303, 304, 304, 304, 304, 304, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 304, 0, 0, 0, 0, 0, 0, 304, 304, 304,
+ 304, 304, 304, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 0, 0, 0, 0, 304, 304, 304, 304,
+ 304, 304, 305, 305, 305, 305, 305, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 305, 0, 0, 0, 0, 0, 0, 305, 305,
+ 305, 305, 305, 305, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 305, 305, 305,
+ 305, 305, 305, 307, 307, 307, 307, 307, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 307, 0, 0, 0, 0, 0, 0, 307,
+
+ 307, 307, 307, 307, 307, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 307, 307,
+ 307, 307, 307, 307, 312, 0, 0, 0, 0, 0,
+ 0, 312, 312, 312, 312, 312, 312, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 312, 312, 312, 312, 312, 312, 313, 313, 313, 313,
+ 313, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 313, 0, 0, 0, 0,
+
+ 0, 0, 313, 313, 313, 313, 313, 313, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 313, 313, 313, 313, 313, 313, 326, 326, 326,
+ 326, 326, 0, 326, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 326, 0, 0, 0,
+ 0, 0, 0, 326, 326, 326, 326, 326, 326, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 326,
+ 0, 0, 326, 326, 326, 326, 326, 326, 327, 327,
+
+ 327, 327, 0, 0, 327, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 327, 0, 0,
+ 0, 0, 0, 0, 327, 327, 327, 327, 327, 327,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 327, 0, 0, 327, 327, 327, 327, 327, 327, 331,
+ 331, 331, 331, 331, 0, 0, 0, 0, 0, 0,
+ 331, 0, 0, 0, 0, 0, 0, 0, 331, 0,
+ 0, 0, 0, 0, 0, 331, 331, 331, 331, 331,
+ 331, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 331, 0, 0, 331, 331, 331, 331, 331, 331,
+ 332, 332, 332, 332, 0, 0, 0, 0, 0, 0,
+ 0, 332, 0, 0, 0, 0, 0, 0, 0, 332,
+ 0, 0, 0, 0, 0, 0, 332, 332, 332, 332,
+ 332, 332, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 332, 0, 0, 332, 332, 332, 332, 332,
+ 332, 333, 333, 333, 333, 333, 0, 0, 0, 0,
+ 0, 0, 0, 0, 333, 0, 0, 0, 0, 0,
+
+ 333, 0, 0, 0, 0, 0, 0, 333, 333, 333,
+ 333, 333, 333, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 333, 0, 0, 333, 333, 333, 333,
+ 333, 333, 337, 0, 0, 0, 0, 0, 0, 337,
+ 337, 337, 337, 337, 337, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 337, 337,
+ 337, 337, 337, 337, 338, 0, 0, 0, 0, 0,
+ 0, 338, 338, 338, 338, 338, 338, 0, 0, 0,
+
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 338, 338, 338, 338, 338, 338, 341, 0, 0, 0,
+ 0, 0, 0, 341, 341, 341, 341, 341, 341, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 341, 341, 341, 341, 341, 341, 342, 342,
+ 342, 342, 342, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 342, 0, 0,
+ 0, 0, 0, 0, 342, 342, 342, 342, 342, 342,
+
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 342, 342, 342, 342, 342, 342, 344,
+ 344, 344, 344, 344, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 344, 0,
+ 0, 0, 0, 0, 0, 344, 344, 344, 344, 344,
+ 344, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 344, 344, 344, 344, 344, 344,
+ 361, 0, 0, 0, 0, 0, 0, 361, 361, 361,
+
+ 361, 361, 361, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 361, 361, 361, 361,
+ 361, 361, 365, 0, 0, 0, 0, 0, 0, 365,
+ 365, 365, 365, 365, 365, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 365, 365,
+ 365, 365, 365, 365, 366, 366, 366, 366, 366, 0,
+ 0, 0, 0, 0, 0, 0, 0, 366, 0, 0,
+ 0, 0, 0, 366, 0, 0, 0, 0, 0, 0,
+
+ 366, 366, 366, 366, 366, 366, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 366, 0, 0, 366,
+ 366, 366, 366, 366, 366, 371, 0, 0, 0, 0,
+ 0, 0, 371, 0, 371, 0, 0, 0, 0, 371,
+ 371, 0, 0, 371, 0, 0, 0, 0, 371, 0,
+ 0, 0, 0, 0, 371, 0, 0, 0, 0, 0,
+ 371, 0, 371, 0, 0, 0, 0, 371, 371, 0,
+ 0, 371, 376, 0, 0, 0, 0, 0, 0, 376,
+ 376, 376, 376, 376, 376, 0, 0, 0, 0, 0,
+
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 376, 376,
+ 376, 376, 376, 376, 377, 0, 0, 0, 0, 0,
+ 0, 377, 377, 377, 377, 377, 377, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 377, 377, 377, 377, 377, 377, 378, 0, 0, 0,
+ 0, 0, 0, 378, 378, 378, 378, 378, 378, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 378, 378, 378, 378, 378, 378, 390, 0,
+ 0, 0, 0, 0, 0, 390, 390, 390, 390, 390,
+ 390, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 390, 390, 390, 390, 390, 390,
+ 391, 0, 0, 0, 0, 0, 0, 391, 391, 391,
+ 391, 391, 391, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 391, 391, 391, 391,
+ 391, 391, 392, 0, 0, 0, 0, 0, 0, 392,
+
+ 392, 392, 392, 392, 392, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 392, 392,
+ 392, 392, 392, 392, 400, 0, 0, 0, 0, 0,
+ 0, 400, 400, 400, 400, 400, 400, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 400, 400, 400, 400, 400, 400, 401, 0, 0, 0,
+ 0, 0, 0, 401, 401, 401, 401, 401, 401, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 401, 401, 401, 401, 401, 401, 417, 0,
+ 0, 0, 0, 0, 0, 417, 417, 417, 417, 417,
+ 417, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 417, 417, 417, 417, 417, 417,
+ 429, 0, 0, 0, 0, 0, 0, 429, 429, 429,
+ 429, 429, 429, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 429, 429, 429, 429,
+
+ 429, 429, 431, 431, 431, 431, 431, 0, 0, 0,
+ 0, 0, 0, 0, 0, 431, 0, 0, 0, 0,
+ 0, 431, 0, 0, 0, 0, 0, 0, 431, 431,
+ 431, 431, 431, 431, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 431, 0, 0, 431, 431, 431,
+ 431, 431, 431, 440, 440, 440, 440, 440, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 440, 0, 0, 0, 0, 0, 0, 440,
+ 440, 440, 440, 440, 440, 0, 0, 0, 0, 0,
+
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 440, 440,
+ 440, 440, 440, 440, 442, 0, 0, 0, 0, 0,
+ 0, 442, 442, 442, 442, 442, 442, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 442, 442, 442, 442, 442, 442, 449, 0, 0, 0,
+ 0, 0, 0, 449, 449, 449, 449, 449, 449, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 449, 449, 449, 449, 449, 449, 450, 0,
+ 0, 0, 0, 0, 0, 450, 450, 450, 450, 450,
+ 450, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 450, 450, 450, 450, 450, 450,
+ 455, 0, 0, 0, 0, 0, 0, 455, 455, 455,
+ 455, 455, 455, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 455, 455, 455, 455,
+ 455, 455, 456, 0, 0, 0, 0, 0, 0, 456,
+
+ 456, 456, 456, 456, 456, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 456, 456,
+ 456, 456, 456, 456, 461, 0, 0, 0, 0, 0,
+ 0, 461, 461, 461, 461, 461, 461, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 461, 461, 461, 461, 461, 461, 462, 0, 0, 0,
+ 0, 0, 0, 462, 462, 462, 462, 462, 462, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 462, 462, 462, 462, 462, 462, 467, 0,
+ 0, 0, 0, 0, 0, 467, 467, 467, 467, 467,
+ 467, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 467, 467, 467, 467, 467, 467,
+ 482, 0, 0, 482, 482, 482, 482, 482, 482, 482,
+ 482, 482, 482, 483, 483, 0, 483, 483, 484, 0,
+ 0, 484, 484, 484, 484, 484, 484, 484, 484, 484,
+ 484, 485, 485, 0, 485, 485, 486, 0, 0, 486,
+
+ 486, 487, 0, 487, 487, 0, 487, 487, 488, 488,
+ 488, 488, 488, 488, 488, 488, 488, 488, 489, 489,
+ 489, 489, 489, 489, 489, 489, 489, 489, 489, 489,
+ 489, 491, 491, 0, 491, 491, 492, 492, 492, 492,
+ 492, 492, 492, 492, 492, 492, 493, 493, 493, 493,
493, 493, 493, 493, 493, 493, 493, 493, 493, 494,
- 494, 495, 495, 495, 495, 495, 495, 495, 495, 495,
- 496, 496, 0, 496, 496, 497, 497, 497, 497, 497,
-
- 497, 497, 497, 497, 498, 498, 0, 498, 498, 499,
- 499, 499, 499, 499, 499, 499, 499, 499, 500, 500,
- 500, 500, 500, 500, 500, 500, 500, 501, 501, 501,
- 501, 501, 501, 501, 501, 501, 501, 501, 501, 502,
- 502, 502, 502, 502, 502, 502, 502, 502, 503, 503,
- 503, 503, 503, 503, 503, 503, 503, 504, 504, 504,
- 0, 504, 505, 505, 505, 505, 505, 505, 505, 505,
- 505, 505, 505, 505, 506, 506, 506, 0, 506, 507,
- 507, 507, 507, 0, 507, 507, 507, 507, 507, 507,
- 508, 508, 508, 0, 508, 509, 0, 509, 509, 509,
-
- 509, 509, 509, 509, 509, 509, 510, 0, 510, 510,
- 510, 510, 510, 510, 510, 510, 510, 511, 511, 511,
- 511, 511, 511, 511, 511, 511, 511, 511, 512, 512,
- 512, 0, 512, 513, 513, 513, 513, 513, 513, 513,
- 513, 513, 513, 513, 514, 514, 514, 514, 514, 514,
- 514, 514, 514, 514, 514, 515, 515, 515, 0, 515,
- 516, 516, 516, 0, 0, 0, 516, 0, 0, 516,
- 516, 517, 517, 517, 517, 517, 517, 517, 517, 517,
- 518, 518, 518, 0, 0, 518, 518, 518, 0, 518,
- 518, 519, 519, 519, 519, 519, 519, 519, 519, 519,
+ 494, 494, 494, 494, 494, 494, 494, 494, 494, 494,
+ 494, 494, 494, 496, 496, 0, 496, 496, 497, 497,
+ 497, 497, 497, 497, 497, 497, 497, 497, 498, 498,
+ 0, 498, 498, 499, 499, 499, 499, 499, 499, 499,
+
+ 499, 499, 499, 500, 500, 500, 500, 500, 500, 500,
+ 500, 500, 500, 501, 501, 501, 503, 503, 503, 503,
+ 503, 503, 503, 503, 503, 503, 504, 504, 0, 504,
+ 504, 504, 504, 504, 504, 504, 504, 504, 504, 505,
+ 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
+ 505, 505, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 507, 507, 507, 507,
+ 507, 507, 507, 507, 507, 507, 507, 507, 507, 507,
+ 508, 508, 508, 508, 508, 508, 508, 508, 508, 508,
+ 509, 509, 509, 509, 509, 509, 509, 509, 509, 509,
+
+ 510, 510, 510, 510, 511, 0, 0, 511, 511, 511,
+ 511, 511, 511, 511, 511, 511, 511, 513, 513, 513,
+ 513, 513, 513, 513, 513, 513, 513, 513, 513, 513,
+ 513, 515, 515, 515, 515, 516, 516, 516, 516, 516,
+ 516, 0, 516, 516, 516, 516, 516, 516, 517, 517,
+ 517, 517, 517, 517, 517, 517, 517, 517, 517, 517,
+ 517, 519, 519, 519, 519, 519, 519, 519, 519, 519,
+ 519, 519, 519, 519, 519, 521, 521, 521, 521, 522,
+ 522, 522, 522, 522, 522, 0, 522, 522, 522, 522,
+ 522, 522, 523, 0, 0, 523, 523, 523, 523, 523,
+
+ 523, 523, 523, 523, 523, 524, 0, 0, 524, 524,
+ 524, 524, 524, 524, 524, 524, 524, 524, 525, 525,
+ 525, 525, 525, 525, 525, 525, 525, 525, 525, 525,
+ 525, 526, 526, 526, 526, 526, 526, 526, 526, 526,
+ 526, 526, 526, 526, 528, 528, 0, 528, 528, 529,
+ 529, 529, 529, 529, 529, 529, 529, 529, 529, 529,
+ 529, 529, 531, 531, 531, 531, 532, 532, 532, 532,
+ 532, 532, 532, 532, 532, 532, 532, 532, 532, 533,
+ 0, 0, 533, 533, 533, 533, 533, 533, 533, 533,
+ 533, 533, 534, 534, 534, 534, 534, 534, 534, 534,
+
+ 534, 534, 534, 534, 534, 535, 535, 535, 535, 535,
+ 0, 0, 535, 535, 535, 535, 535, 535, 536, 536,
+ 536, 536, 536, 536, 536, 536, 536, 536, 536, 536,
+ 536, 537, 537, 537, 537, 537, 537, 537, 537, 537,
+ 537, 537, 537, 537, 538, 538, 0, 538, 538, 539,
+ 539, 539, 539, 539, 539, 539, 539, 539, 539, 539,
+ 539, 539, 541, 541, 541, 541, 542, 542, 0, 542,
+ 542, 542, 542, 542, 542, 542, 542, 542, 542, 543,
+ 543, 543, 543, 543, 543, 543, 543, 543, 543, 543,
+ 543, 543, 544, 544, 0, 544, 544, 544, 544, 544,
+
+ 544, 544, 544, 544, 544, 545, 545, 545, 545, 545,
+ 545, 545, 545, 545, 545, 545, 545, 545, 546, 546,
+ 546, 546, 546, 0, 0, 546, 546, 546, 546, 546,
+ 546, 549, 549, 549, 549, 0, 0, 0, 0, 549,
+ 0, 0, 549, 549, 550, 550, 550, 550, 0, 0,
+ 0, 550, 550, 550, 0, 550, 550, 551, 551, 551,
+ 551, 551, 551, 551, 551, 551, 551, 552, 552, 552,
+ 552, 552, 552, 552, 552, 552, 552, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
@@ -833,38 +1775,35 @@ static yyconst short int yy_chk[2462] =
481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
- 481
+ 481, 481, 481
} ;
#line 1 "<stdin>"
-#define INITIAL 0
-#define YY_STACK_USED 1
-#define mediaquery 1
YY_DECL
- {
+{
register yy_state_type yy_current_state;
register UChar *yy_cp, *yy_bp;
register int yy_act;
while ( 1 ) /* loops until end-of-file is reached */
{
- yy_cp = yy_c_buf_p;
+ yy_cp = (yy_c_buf_p);
/* Support of yytext. */
- *yy_cp = yy_hold_char;
+ *yy_cp = (yy_hold_char);
/* yy_bp points to the position in yy_ch_buf of the start of
* the current run.
*/
yy_bp = yy_cp;
- yy_current_state = yy_start;
+ yy_current_state = (yy_start);
do
{
register 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;
- yy_last_accepting_cpos = yy_cp;
+ (yy_last_accepting_state) = yy_current_state;
+ (yy_last_accepting_cpos) = yy_cp;
}
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
@@ -875,37 +1814,37 @@ YY_DECL
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
- while ( yy_base[yy_current_state] != 2401 );
+ while ( yy_base[yy_current_state] != 6578 );
yy_find_action:
yy_act = yy_accept[yy_current_state];
if ( yy_act == 0 )
{ /* have to back up */
- yy_cp = yy_last_accepting_cpos;
- yy_current_state = yy_last_accepting_state;
+ yy_cp = (yy_last_accepting_cpos);
+ yy_current_state = (yy_last_accepting_state);
yy_act = yy_accept[yy_current_state];
}
YY_DO_BEFORE_ACTION;
-
-
switch ( yy_act )
{ /* beginning of action switch */
case 0: /* must back up */
/* undo the effects of YY_DO_BEFORE_ACTION */
- *yy_cp = yy_hold_char;
- yy_cp = yy_last_accepting_cpos;
- yy_current_state = yy_last_accepting_state;
+ *yy_cp = (yy_hold_char);
+ yy_cp = (yy_last_accepting_cpos);
+ yy_current_state = (yy_last_accepting_state);
goto yy_find_action;
case 1:
+/* rule 1 can match eol */
YY_RULE_SETUP
#line 31 "<stdin>"
{countLines(); /* ignore comments */ }
YY_BREAK
case 2:
+/* rule 2 can match eol */
YY_RULE_SETUP
#line 33 "<stdin>"
{countLines(); yyTok = WHITESPACE; return yyTok;}
@@ -966,11 +1905,13 @@ YY_RULE_SETUP
{BEGIN(mediaquery); yyTok = VARIABLES_FOR; return yyTok; }
YY_BREAK
case 14:
+/* rule 14 can match eol */
YY_RULE_SETUP
#line 47 "<stdin>"
{yyTok = STRING; return yyTok;}
YY_BREAK
case 15:
+/* rule 15 can match eol */
YY_RULE_SETUP
#line 48 "<stdin>"
{yyTok = IDENT; return yyTok;}
@@ -986,6 +1927,7 @@ YY_RULE_SETUP
{yyTok = HEX; return yyTok;}
YY_BREAK
case 18:
+/* rule 18 can match eol */
YY_RULE_SETUP
#line 52 "<stdin>"
{yyTok = IDSEL; return yyTok;}
@@ -1071,11 +2013,13 @@ YY_RULE_SETUP
{yyTok = WEBKIT_KEYFRAME_RULE_SYM; return yyTok; }
YY_BREAK
case 35:
+/* rule 35 can match eol */
YY_RULE_SETUP
#line 71 "<stdin>"
{yyTok = ATKEYWORD; return yyTok; }
YY_BREAK
case 36:
+/* rule 36 can match eol */
YY_RULE_SETUP
#line 73 "<stdin>"
{yyTok = IMPORTANT_SYM; return yyTok;}
@@ -1171,6 +2115,7 @@ YY_RULE_SETUP
{yyTok = KHERZ; return yyTok;}
YY_BREAK
case 55:
+/* rule 55 can match eol */
YY_RULE_SETUP
#line 93 "<stdin>"
{yyTok = DIMEN; return yyTok;}
@@ -1196,21 +2141,25 @@ YY_RULE_SETUP
{yyTok = NOTFUNCTION; return yyTok;}
YY_BREAK
case 60:
+/* rule 60 can match eol */
YY_RULE_SETUP
#line 99 "<stdin>"
{yyTok = URI; return yyTok;}
YY_BREAK
case 61:
+/* rule 61 can match eol */
YY_RULE_SETUP
#line 100 "<stdin>"
{yyTok = URI; return yyTok;}
YY_BREAK
case 62:
+/* rule 62 can match eol */
YY_RULE_SETUP
#line 101 "<stdin>"
{ yyTok = VARCALL; return yyTok; }
YY_BREAK
case 63:
+/* rule 63 can match eol */
YY_RULE_SETUP
#line 102 "<stdin>"
{yyTok = FUNCTION; return yyTok;}
@@ -1242,6 +2191,7 @@ YY_RULE_SETUP
#line 111 "<stdin>"
ECHO;
YY_BREAK
+#line 2746 "<stdout>"
case YY_END_OF_BUFFER:
yy_c_buf_p = yy_cp - 1;
yy_cp = yy_c_buf_p;
@@ -1255,4 +2205,4 @@ case YY_STATE_EOF(forkeyword):
"fatal flex scanner internal error--no action found" );
} /* end of action switch */
} /* end of scanning one token */
- } /* end of yylex */
+} /* end of yylex */
diff --git a/src/3rdparty/webkit/WebCore/history/qt/HistoryItemQt.cpp b/src/3rdparty/webkit/WebCore/history/qt/HistoryItemQt.cpp
index 8bbd233..c5fb069 100644
--- a/src/3rdparty/webkit/WebCore/history/qt/HistoryItemQt.cpp
+++ b/src/3rdparty/webkit/WebCore/history/qt/HistoryItemQt.cpp
@@ -25,8 +25,9 @@
bool WebCore::HistoryItem::restoreState(QDataStream& in, int version)
{
- // we support up to version 2
- if (version > 2)
+ // we only support version 1 for now
+
+ if (version != 1)
return false;
WebCore::String url;
@@ -47,7 +48,6 @@ bool WebCore::HistoryItem::restoreState(QDataStream& in, int version)
WebCore::IntPoint scrollPoint;
WTF::Vector<int> weeklyVisitCounts;
WTF::Vector<int> dailyVisitCounts;
- long long documentSequenceNumber;
// bool loadFormdata;
// WebCore::String formContentType;
// WTF::Vector<char> formData;
@@ -79,12 +79,6 @@ bool WebCore::HistoryItem::restoreState(QDataStream& in, int version)
setTitle(title);
setAlternateTitle(altTitle);
- if (version > 1)
- {
- in >> documentSequenceNumber;
- setDocumentSequenceNumber(documentSequenceNumber);
- }
-
// at the end load userData
in >> validUserData;
if (validUserData) {
@@ -98,16 +92,15 @@ bool WebCore::HistoryItem::restoreState(QDataStream& in, int version)
QDataStream& WebCore::HistoryItem::saveState(QDataStream& out, int version) const
{
+ // we only support version 1 for now.
+ if (version != 1)
+ return out;
+
out << urlString() << title() << alternateTitle() << lastVisitedTime();
out << originalURLString() << referrer() << target() << parent();
out << lastVisitWasHTTPNonGet() << lastVisitWasFailure() << isTargetItem();
out << visitCount() << documentState() << scrollPoint();
out << dailyVisitCounts() << weeklyVisitCounts();
-
- // Since version 2
- Q_ASSERT_X(version > 1, "HistoryItem::saveState()", "Stream version should be greater than 1");
- out << documentSequenceNumber();
-
/*if (m_formData) {
out << true;
out << formContentType();
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLInputElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLInputElement.cpp
index 6a214ab..4c5a93e 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLInputElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLInputElement.cpp
@@ -740,7 +740,11 @@ void HTMLInputElement::aboutToUnload()
bool HTMLInputElement::shouldUseInputMethod() const
{
- return m_type == TEXT || m_type == SEARCH || m_type == ISINDEX;
+ // The reason IME's are disabled for the password field is because IMEs
+ // can access the underlying password and display it in clear text --
+ // e.g. you can use it to access the stored password for any site
+ // with only trivial effort.
+ return isTextField() && inputType() != PASSWORD;
}
void HTMLInputElement::handleFocusEvent()
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLMetaElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLMetaElement.cpp
index cf667ca..6c49323 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLMetaElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLMetaElement.cpp
@@ -63,9 +63,15 @@ void HTMLMetaElement::insertedIntoDocument()
void HTMLMetaElement::process()
{
+ if (!inDocument() || m_content.isNull())
+ return;
+
+ if (equalIgnoringCase(name(), "viewport"))
+ document()->processViewport(m_content);
+
// Get the document to process the tag, but only if we're actually part of DOM tree (changing a meta tag while
// it's not in the tree shouldn't have any effect on the document)
- if (inDocument() && !m_equiv.isNull() && !m_content.isNull())
+ if (!m_equiv.isNull())
document()->processHttpEquiv(m_equiv, m_content);
}
diff --git a/src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp b/src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp
index 0323e97..316caab 100644
--- a/src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp
+++ b/src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp
@@ -1274,7 +1274,11 @@ bool FrameLoader::requestObject(RenderEmbeddedObject* renderer, const String& ur
bool useFallback;
if (shouldUsePlugin(completedURL, mimeType, renderer->hasFallbackContent(), useFallback)) {
Settings* settings = m_frame->settings();
- if (!allowPlugins(AboutToInstantiatePlugin)
+ if ((!allowPlugins(AboutToInstantiatePlugin)
+ // Application plugins are plugins implemented by the user agent, for example Qt plugins,
+ // as opposed to third-party code such as flash. The user agent decides whether or not they are
+ // permitted, rather than WebKit.
+ && !MIMETypeRegistry::isApplicationPluginMIMEType(mimeType))
|| (!settings->isJavaEnabled() && MIMETypeRegistry::isJavaAppletMIMEType(mimeType)))
return false;
if (isDocumentSandboxed(SandboxPlugins))
diff --git a/src/3rdparty/webkit/WebCore/page/ChromeClient.h b/src/3rdparty/webkit/WebCore/page/ChromeClient.h
index 34e2893..0bfdbaf 100644
--- a/src/3rdparty/webkit/WebCore/page/ChromeClient.h
+++ b/src/3rdparty/webkit/WebCore/page/ChromeClient.h
@@ -56,6 +56,7 @@ namespace WebCore {
class Widget;
struct FrameLoadRequest;
+ struct ViewportArguments;
struct WindowFeatures;
#if USE(ACCELERATED_COMPOSITING)
@@ -145,6 +146,8 @@ namespace WebCore {
virtual void setToolTip(const String&, TextDirection) = 0;
+ virtual void didReceiveViewportArguments(Frame*, const ViewportArguments&) const { }
+
virtual void print(Frame*) = 0;
#if ENABLE(DATABASE)
@@ -211,6 +214,9 @@ namespace WebCore {
// Sets a flag to specify that the view needs to be updated, so we need
// to do an eager layout before the drawing.
virtual void scheduleCompositingLayerSync() = 0;
+ // Returns whether or not the client can render the composited layer,
+ // regardless of the settings.
+ virtual bool allowsAcceleratedCompositing() const { return true; }
#endif
virtual bool supportsFullscreenForNode(const Node*) { return false; }
@@ -231,10 +237,11 @@ namespace WebCore {
#endif
#if ENABLE(WIDGETS_10_SUPPORT)
- virtual bool isDocked() { return false; }
+ virtual bool isWindowed() { return false; }
virtual bool isFloating() { return false; }
- virtual bool isApplication() { return false; }
virtual bool isFullscreen() { return false; }
+ virtual bool isMaximized() { return false; }
+ virtual bool isMinimized() { return false; }
#endif
protected:
diff --git a/src/3rdparty/webkit/WebCore/page/FocusController.cpp b/src/3rdparty/webkit/WebCore/page/FocusController.cpp
index 089fb8f..fdd117b 100644
--- a/src/3rdparty/webkit/WebCore/page/FocusController.cpp
+++ b/src/3rdparty/webkit/WebCore/page/FocusController.cpp
@@ -341,51 +341,96 @@ bool FocusController::advanceFocusDirectionally(FocusDirection direction, Keyboa
return true;
}
-static void updateFocusCandidateIfCloser(Node* focusedNode, Node* candidate, long long distance, FocusCandidate& closestFocusCandidate)
+// FIXME: Make this method more modular, and simpler to understand and maintain.
+static void updateFocusCandidateIfCloser(Node* focusedNode, const FocusCandidate& candidate, FocusCandidate& closest)
{
- // Bail out if |distance| is bigger than the current closest candidate.
- if (distance >= closestFocusCandidate.distance)
+ bool sameDocument = candidate.document() == closest.document();
+ if (sameDocument) {
+ if (closest.alignment > candidate.alignment
+ || (closest.parentAlignment && candidate.alignment > closest.parentAlignment))
+ return;
+ } else if (closest.alignment > candidate.alignment
+ && (closest.parentAlignment && candidate.alignment > closest.parentAlignment))
return;
- // If |focusedNode| and |candidate| are in the same document AND
- // current |closestFocusCandidadte| is not in an {i}frame that is
- // preferable to get focused.
- if (focusedNode->document() == candidate->document()
- && distance < closestFocusCandidate.parentDistance) {
- closestFocusCandidate.node = candidate;
- closestFocusCandidate.distance = distance;
- closestFocusCandidate.parentDistance = maxDistance();
- } else if (focusedNode->document() != candidate->document()) {
- // If the |focusedNode| is in an inner document and the |candidate| is
- // in a different document, we only consider to change focus if there is
- // not another already good focusable candidate in the same document as
- // |focusedNode|.
- if (!((isInRootDocument(candidate) && !isInRootDocument(focusedNode))
- && focusedNode->document() == closestFocusCandidate.document())) {
- closestFocusCandidate.node = candidate;
- closestFocusCandidate.distance = distance;
- }
+ if (candidate.alignment != None
+ || (closest.parentAlignment >= candidate.alignment
+ && closest.document() == candidate.document())) {
+
+ // If we are now in an higher precedent case, lets reset the current closest's
+ // distance so we force it to be bigger than any result we will get from
+ // spatialDistance().
+ if (closest.alignment < candidate.alignment
+ && closest.parentAlignment < candidate.alignment)
+ closest.distance = maxDistance();
+
+ closest.alignment = candidate.alignment;
+ }
+
+ // Bail out if candidate's distance is larger than that of the closest candidate.
+ if (candidate.distance >= closest.distance)
+ return;
+
+ if (closest.isNull()) {
+ closest = candidate;
+ return;
+ }
+
+ // If the focused node and the candadate are in the same document and current
+ // closest candidate is not in an {i}frame that is preferable to get focused ...
+ if (focusedNode->document() == candidate.document()
+ && candidate.distance < closest.parentDistance)
+ closest = candidate;
+ else if (focusedNode->document() != candidate.document()) {
+ // If the focusedNode is in an inner document and candidate is in a
+ // different document, we only consider to change focus if there is not
+ // another already good focusable candidate in the same document as focusedNode.
+ if (!((isInRootDocument(candidate.node) && !isInRootDocument(focusedNode))
+ && focusedNode->document() == closest.document()))
+ closest = candidate;
}
}
-void FocusController::findFocusableNodeInDirection(Document* document, Node* focusedNode, FocusDirection direction, KeyboardEvent* event, FocusCandidate& closestFocusCandidate)
+void FocusController::findFocusableNodeInDirection(Document* document, Node* focusedNode,
+ FocusDirection direction, KeyboardEvent* event,
+ FocusCandidate& closestFocusCandidate,
+ const FocusCandidate& candidateParent)
{
ASSERT(document);
+ ASSERT(candidateParent.isNull() || static_cast<HTMLFrameOwnerElement*>(candidateParent.node));
- // Walk all the child nodes and update focusCandidate if we find a nearer node.
+ // Walk all the child nodes and update closestFocusCandidate if we find a nearer node.
for (Node* candidate = document->firstChild(); candidate; candidate = candidate->traverseNextNode()) {
// Inner documents case.
+
if (candidate->isFrameOwnerElement())
deepFindFocusableNodeInDirection(focusedNode, candidate, direction, event, closestFocusCandidate);
else if (candidate != focusedNode && candidate->isKeyboardFocusable(event)) {
- long long distance = distanceInDirection(focusedNode, candidate,
- direction, closestFocusCandidate);
- updateFocusCandidateIfCloser(focusedNode, candidate, distance, closestFocusCandidate);
+ FocusCandidate currentFocusCandidate(candidate);
+
+ // Get distance and alignment from current candidate.
+ distanceDataForNode(direction, focusedNode, currentFocusCandidate);
+
+ // Bail out if distance is maximum.
+ if (currentFocusCandidate.distance == maxDistance())
+ continue;
+
+ // If candidateParent is not null, it means that we are in a recursive call
+ // from deepFineFocusableNodeInDirection (i.e. processing an element in an iframe),
+ // and holds the distance and alignment data of the iframe element itself.
+ if (!candidateParent.isNull()) {
+ currentFocusCandidate.parentAlignment = candidateParent.alignment;
+ currentFocusCandidate.parentDistance = candidateParent.distance;
+ }
+
+ updateFocusCandidateIfCloser(focusedNode, currentFocusCandidate, closestFocusCandidate);
}
}
}
-void FocusController::deepFindFocusableNodeInDirection(Node* focusedNode, Node* candidate, FocusDirection direction, KeyboardEvent* event, FocusCandidate& closestFocusCandidate)
+void FocusController::deepFindFocusableNodeInDirection(Node* focusedNode, Node* candidate,
+ FocusDirection direction, KeyboardEvent* event,
+ FocusCandidate& closestFocusCandidate)
{
HTMLFrameOwnerElement* owner = static_cast<HTMLFrameOwnerElement*>(candidate);
if (!owner->contentFrame())
@@ -400,20 +445,12 @@ void FocusController::deepFindFocusableNodeInDirection(Node* focusedNode, Node*
else {
// Check if the current {i}frame element itself is a good candidate
// to move focus to. If it is, then we traverse its inner nodes.
- // Lets pass a copy of the best candidate, to not get fooled by a
- // frame without focusable elements.
- FocusCandidate focusCandidateCopy = closestFocusCandidate;
- long long distance = distanceInDirection(focusedNode, candidate, direction, focusCandidateCopy);
- if (distance < focusCandidateCopy.distance) {
- focusCandidateCopy.parentAlignment = focusCandidateCopy.alignment;
- focusCandidateCopy.parentDistance = distance;
-
- findFocusableNodeInDirection(innerDocument, focusedNode, direction, event, focusCandidateCopy);
-
- // If we really have an inner closer focus candidate node, take it.
- if (closestFocusCandidate.node != focusCandidateCopy.node)
- closestFocusCandidate = focusCandidateCopy;
- }
+ FocusCandidate candidateParent = FocusCandidate(candidate);
+ distanceDataForNode(direction, focusedNode, candidateParent);
+
+ // FIXME: Consider alignment?
+ if (candidateParent.distance < closestFocusCandidate.distance)
+ findFocusableNodeInDirection(innerDocument, focusedNode, direction, event, closestFocusCandidate, candidateParent);
}
}
diff --git a/src/3rdparty/webkit/WebCore/page/FocusController.h b/src/3rdparty/webkit/WebCore/page/FocusController.h
index 75591c7..dfa3780 100644
--- a/src/3rdparty/webkit/WebCore/page/FocusController.h
+++ b/src/3rdparty/webkit/WebCore/page/FocusController.h
@@ -27,6 +27,7 @@
#define FocusController_h
#include "FocusDirection.h"
+#include "SpatialNavigation.h"
#include <wtf/Forward.h>
#include <wtf/Noncopyable.h>
#include <wtf/RefPtr.h>
@@ -38,7 +39,6 @@ class Frame;
class KeyboardEvent;
class Node;
class Page;
-struct FocusCandidate;
class FocusController : public Noncopyable {
public:
@@ -63,7 +63,8 @@ private:
bool advanceFocusDirectionally(FocusDirection, KeyboardEvent*);
bool advanceFocusInDocumentOrder(FocusDirection, KeyboardEvent*, bool initialFocus);
- void findFocusableNodeInDirection(Document*, Node*, FocusDirection, KeyboardEvent*, FocusCandidate&);
+ void findFocusableNodeInDirection(Document*, Node*, FocusDirection, KeyboardEvent*, FocusCandidate& closestFocusCandidate,
+ const FocusCandidate& parentCandidate = FocusCandidate());
void deepFindFocusableNodeInDirection(Node*, Node*, FocusDirection, KeyboardEvent*, FocusCandidate&);
Page* m_page;
diff --git a/src/3rdparty/webkit/WebCore/page/FrameView.cpp b/src/3rdparty/webkit/WebCore/page/FrameView.cpp
index 45764de..39c92de 100644
--- a/src/3rdparty/webkit/WebCore/page/FrameView.cpp
+++ b/src/3rdparty/webkit/WebCore/page/FrameView.cpp
@@ -1067,6 +1067,7 @@ void FrameView::scrollPositionChanged()
if (!m_nestedLayoutCount) {
if (RenderView* root = m_frame->contentRenderer()) {
root->updateWidgetPositions();
+ root->layer()->updateRepaintRectsAfterScroll();
#if USE(ACCELERATED_COMPOSITING)
if (root->usesCompositing())
root->compositor()->updateCompositingLayers(CompositingUpdateOnScroll);
diff --git a/src/3rdparty/webkit/WebCore/page/SpatialNavigation.cpp b/src/3rdparty/webkit/WebCore/page/SpatialNavigation.cpp
index 86c9c5d..890eacd 100644
--- a/src/3rdparty/webkit/WebCore/page/SpatialNavigation.cpp
+++ b/src/3rdparty/webkit/WebCore/page/SpatialNavigation.cpp
@@ -46,16 +46,21 @@ static bool areRectsFullyAligned(FocusDirection, const IntRect&, const IntRect&)
static bool areRectsPartiallyAligned(FocusDirection, const IntRect&, const IntRect&);
static bool isRectInDirection(FocusDirection, const IntRect&, const IntRect&);
static void deflateIfOverlapped(IntRect&, IntRect&);
+static bool checkNegativeCoordsForNode(Node*, const IntRect&);
-long long distanceInDirection(Node* start, Node* dest, FocusDirection direction, FocusCandidate& candidate)
+void distanceDataForNode(FocusDirection direction, Node* start, FocusCandidate& candidate)
{
RenderObject* startRender = start->renderer();
- if (!startRender)
- return maxDistance();
+ if (!startRender) {
+ candidate.distance = maxDistance();
+ return;
+ }
- RenderObject* destRender = dest->renderer();
- if (!destRender)
- return maxDistance();
+ RenderObject* destRender = candidate.node->renderer();
+ if (!destRender) {
+ candidate.distance = maxDistance();
+ return;
+ }
IntRect curRect = renderRectRelativeToRootDocument(startRender);
IntRect targetRect = renderRectRelativeToRootDocument(destRender);
@@ -64,40 +69,34 @@ long long distanceInDirection(Node* start, Node* dest, FocusDirection direction,
// deflate both.
deflateIfOverlapped(curRect, targetRect);
+ // If empty rects or negative width or height, bail out.
if (curRect.isEmpty() || targetRect.isEmpty()
- || targetRect.x() < 0 || targetRect.y() < 0)
- return maxDistance();
+ || targetRect.width() <= 0 || targetRect.height() <= 0) {
+ candidate.distance = maxDistance();
+ return;
+ }
- if (!isRectInDirection(direction, curRect, targetRect))
- return maxDistance();
+ // Negative coordinates can be used if node is scrolled up offscreen.
+ if (!checkNegativeCoordsForNode(start, curRect)) {
+ candidate.distance = maxDistance();
+ return;
+ }
+
+ if (!checkNegativeCoordsForNode(candidate.node, targetRect)) {
+ candidate.distance = maxDistance();
+ return;
+ }
+
+ if (!isRectInDirection(direction, curRect, targetRect)) {
+ candidate.distance = maxDistance();
+ return;
+ }
// The distance between two nodes is not to be considered alone when evaluating/looking
// for the best focus candidate node. Alignment of rects can be also a good point to be
// considered in order to make the algorithm to behavior in a more intuitive way.
- RectsAlignment alignment = alignmentForRects(direction, curRect, targetRect);
-
- bool sameDocument = dest->document() == candidate.document();
- if (sameDocument) {
- if (candidate.alignment > alignment || (candidate.parentAlignment && alignment > candidate.parentAlignment))
- return maxDistance();
- } else if (candidate.alignment > alignment && (candidate.parentAlignment && alignment > candidate.parentAlignment))
- return maxDistance();
-
- // FIXME_tonikitoo: simplify the logic here !
- if (alignment != None
- || (!candidate.isNull() && candidate.parentAlignment >= alignment
- && candidate.document() == dest->document())) {
-
- // If we are now in an higher precedent case, lets reset the current |candidate|'s
- // |distance| so we force it to be bigger than the result we will get from
- // |spatialDistance| (see below).
- if (candidate.alignment < alignment && candidate.parentAlignment < alignment)
- candidate.distance = maxDistance();
-
- candidate.alignment = alignment;
- }
-
- return spatialDistance(direction, curRect, targetRect);
+ candidate.alignment = alignmentForRects(direction, curRect, targetRect);
+ candidate.distance = spatialDistance(direction, curRect, targetRect);
}
// FIXME: This function does not behave correctly with transformed frames.
@@ -107,6 +106,11 @@ static IntRect renderRectRelativeToRootDocument(RenderObject* render)
IntRect rect(render->absoluteClippedOverflowRect());
+ if (rect.isEmpty()) {
+ Element* e = static_cast<Element*>(render->node());
+ rect = e->getRect();
+ }
+
// In cases when the |render|'s associated node is in a scrollable inner
// document, we only consider its scrollOffset if it is not offscreen.
Node* node = render->node();
@@ -432,6 +436,9 @@ bool hasOffscreenRect(Node* node)
return true;
IntRect rect(render->absoluteClippedOverflowRect());
+ if (rect.isEmpty())
+ return true;
+
return !containerViewportRect.intersects(rect);
}
@@ -500,4 +507,24 @@ static void deflateIfOverlapped(IntRect& a, IntRect& b)
b.inflate(fudgeFactor);
}
+static bool checkNegativeCoordsForNode(Node* node, const IntRect& curRect)
+{
+ ASSERT(node || node->renderer());
+
+ if (curRect.x() > 0 && curRect.y() > 0)
+ return true;
+
+ bool canBeScrolled = false;
+
+ RenderObject* renderer = node->renderer();
+ for (; renderer; renderer = renderer->parent()) {
+ if (renderer->isBox() && toRenderBox(renderer)->canBeScrolledAndHasScrollableArea()) {
+ canBeScrolled = true;
+ break;
+ }
+ }
+
+ return canBeScrolled;
+}
+
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/page/SpatialNavigation.h b/src/3rdparty/webkit/WebCore/page/SpatialNavigation.h
index 7c183df..90ff1cf 100644
--- a/src/3rdparty/webkit/WebCore/page/SpatialNavigation.h
+++ b/src/3rdparty/webkit/WebCore/page/SpatialNavigation.h
@@ -118,7 +118,7 @@ struct FocusCandidate {
RectsAlignment parentAlignment;
};
-long long distanceInDirection(Node*, Node*, FocusDirection, FocusCandidate&);
+void distanceDataForNode(FocusDirection direction, Node* start, FocusCandidate& candidate);
bool scrollInDirection(Frame*, FocusDirection);
void scrollIntoView(Element*);
bool hasOffscreenRect(Node*);
diff --git a/src/3rdparty/webkit/WebCore/page/qt/EventHandlerQt.cpp b/src/3rdparty/webkit/WebCore/page/qt/EventHandlerQt.cpp
index 2fcce5b..5b24eae 100644
--- a/src/3rdparty/webkit/WebCore/page/qt/EventHandlerQt.cpp
+++ b/src/3rdparty/webkit/WebCore/page/qt/EventHandlerQt.cpp
@@ -51,7 +51,7 @@
#include "NotImplemented.h"
QT_BEGIN_NAMESPACE
-Q_DECL_IMPORT extern bool qt_tab_all_widgets; // from qapplication.cpp
+Q_GUI_EXPORT extern bool qt_tab_all_widgets; // from qapplication.cpp
QT_END_NAMESPACE
namespace WebCore {
diff --git a/src/3rdparty/webkit/WebCore/platform/Arena.h b/src/3rdparty/webkit/WebCore/platform/Arena.h
index b6f6931..bc49307 100644
--- a/src/3rdparty/webkit/WebCore/platform/Arena.h
+++ b/src/3rdparty/webkit/WebCore/platform/Arena.h
@@ -44,7 +44,7 @@
namespace WebCore {
-typedef unsigned long uword;
+typedef uintptr_t uword;
struct Arena {
Arena* next; // next arena
diff --git a/src/3rdparty/webkit/WebCore/platform/MIMETypeRegistry.h b/src/3rdparty/webkit/WebCore/platform/MIMETypeRegistry.h
index 8801ac1..27c2c3a 100644
--- a/src/3rdparty/webkit/WebCore/platform/MIMETypeRegistry.h
+++ b/src/3rdparty/webkit/WebCore/platform/MIMETypeRegistry.h
@@ -67,6 +67,10 @@ public:
// Check to see if a mime type is a valid Java applet mime type
static bool isJavaAppletMIMEType(const String& mimeType);
+ // Check to see if a mime type is a plugin implemented by the
+ // browser (e.g. a Qt Plugin).
+ static bool isApplicationPluginMIMEType(const String& mimeType);
+
static HashSet<String>& getSupportedImageMIMETypes();
static HashSet<String>& getSupportedImageResourceMIMETypes();
static HashSet<String>& getSupportedImageMIMETypesForEncoding();
diff --git a/src/3rdparty/webkit/WebCore/platform/StaticConstructors.h b/src/3rdparty/webkit/WebCore/platform/StaticConstructors.h
index c0a9a53..0d817a4df 100644
--- a/src/3rdparty/webkit/WebCore/platform/StaticConstructors.h
+++ b/src/3rdparty/webkit/WebCore/platform/StaticConstructors.h
@@ -51,7 +51,7 @@
#ifndef SKIP_STATIC_CONSTRUCTORS_ON_GCC
// Define an global in the normal way.
-#if COMPILER(MSVC7)
+#if COMPILER(MSVC7_OR_LOWER)
#define DEFINE_GLOBAL(type, name) \
const type name;
#elif COMPILER(WINSCW)
@@ -65,7 +65,7 @@
#else
// Define an correctly-sized array of pointers to avoid static initialization.
// Use an array of pointers instead of an array of char in case there is some alignment issue.
-#if COMPILER(MSVC7)
+#if COMPILER(MSVC7_OR_LOWER)
#define DEFINE_GLOBAL(type, name) \
void * name[(sizeof(type) + sizeof(void *) - 1) / sizeof(void *)];
#elif COMPILER(WINSCW)
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontPlatformDataQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontPlatformDataQt.cpp
index 0a1075f..0565deb 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontPlatformDataQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontPlatformDataQt.cpp
@@ -58,6 +58,9 @@ FontPlatformData::FontPlatformData(const FontDescription& description, const Ato
font.setLetterSpacing(QFont::AbsoluteSpacing, letterSpacing);
const bool smallCaps = description.smallCaps();
font.setCapitalization(smallCaps ? QFont::SmallCaps : QFont::MixedCase);
+#if QT_VERSION >= QT_VERSION_CHECK(4, 7, 0)
+ font.setStyleStrategy(QFont::ForceIntegerMetrics);
+#endif
m_data->bold = font.bold();
m_data->size = font.pointSizeF();
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp
index fd75e34..1e92dcc 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp
@@ -180,9 +180,7 @@ float Font::floatWidthForComplexText(const TextRun& run, HashSet<const SimpleFon
String sanitized = Font::normalizeSpaces(String(run.characters(), run.length()));
QString string = fromRawDataWithoutRef(sanitized);
- QTextLayout layout(string, font());
- QTextLine line = setupLayout(&layout, run);
- int w = int(line.naturalTextWidth());
+ int w = QFontMetrics(font()).width(string);
// WebKit expects us to ignore word spacing on the first character (as opposed to what Qt does)
if (treatAsSpace(run[0]))
w -= m_wordSpacing;
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp
index 2913eef..1c4c275 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp
@@ -32,15 +32,13 @@
#include <QtCore/qmetaobject.h>
#include <QtCore/qset.h>
#include <QtCore/qtimer.h>
-#include <QtGui/qbitmap.h>
#include <QtGui/qcolor.h>
#include <QtGui/qgraphicseffect.h>
#include <QtGui/qgraphicsitem.h>
#include <QtGui/qgraphicsscene.h>
-#include <QtGui/qmatrix4x4.h>
#include <QtGui/qpainter.h>
-#include <QtGui/qpalette.h>
#include <QtGui/qpixmap.h>
+#include <QtGui/qpixmapcache.h>
#include <QtGui/qstyleoption.h>
namespace WebCore {
@@ -134,6 +132,8 @@ public:
// the compositor lets us special-case images and colors, so we try to do so
enum StaticContentType { HTMLContentType, PixmapContentType, ColorContentType, MediaContentType};
+ const GraphicsLayerQtImpl* rootLayer() const;
+
GraphicsLayerQtImpl(GraphicsLayerQt* newLayer);
virtual ~GraphicsLayerQtImpl();
@@ -142,28 +142,25 @@ public:
virtual QRectF boundingRect() const;
virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*);
- // we manage transforms ourselves because transform-origin acts differently in webkit and in Qt
+ // We manage transforms ourselves because transform-origin acts differently in webkit and in Qt, and we need it as a fallback in case we encounter an un-invertible matrix
void setBaseTransform(const TransformationMatrix&);
- QTransform computeTransform(const TransformationMatrix& baseTransform) const;
void updateTransform();
// let the compositor-API tell us which properties were changed
void notifyChange(ChangeMask);
+ // actual rendering of the web-content into a QPixmap
+ // We prefer to use our own caching because it gives us a higher level of granularity than QGraphicsItem cache modes -
+ // sometimes we need to cache the contents even `though the item needs to be updated, e.g. when the background-color is changed.
+ // TODO: investigate if QGraphicsItem caching can be improved to support that out of the box.
+ QPixmap recache(const QRegion&);
+
// called when the compositor is ready for us to show the changes on screen
// this is called indirectly from ChromeClientQt::setNeedsOneShotDrawingSynchronization
// (meaning the sync would happen together with the next draw)
// or ChromeClientQt::scheduleCompositingLayerSync (meaning the sync will happen ASAP)
void flushChanges(bool recursive = true, bool forceTransformUpdate = false);
- // optimization: when we have an animation running on an element with no contents, that has child-elements with contents,
- // ALL of them have to have ItemCoordinateCache and not DeviceCoordinateCache
- void adjustCachingRecursively(bool animationIsRunning);
-
- // optimization: returns true if this or an ancestor has a transform animation running.
- // this enables us to use ItemCoordinatesCache while the animation is running, otherwise we have to recache for every frame
- bool isTransformAnimationRunning() const;
-
public slots:
// we need to notify the client (aka the layer compositor) when the animation actually starts
void notifyAnimationStarted();
@@ -179,6 +176,7 @@ public:
GraphicsLayerQt* m_layer;
TransformationMatrix m_baseTransform;
+ TransformationMatrix m_transformRelativeToRootLayer;
bool m_transformAnimationRunning;
bool m_opacityAnimationRunning;
QWeakPointer<MaskEffectQt> m_maskEffect;
@@ -207,6 +205,7 @@ public:
int m_changeMask;
QSizeF m_size;
+ QPixmapCache::Key m_backingStoreKey;
#ifndef QT_NO_ANIMATION
QList<QWeakPointer<QAbstractAnimation> > m_animations;
#endif
@@ -259,9 +258,6 @@ GraphicsLayerQtImpl::GraphicsLayerQtImpl(GraphicsLayerQt* newLayer)
// they are ignored and passed to the item below.
setEnabled(true);
- // we'll set the cache when we know what's going on
- setCacheMode(NoCache);
-
connect(this, SIGNAL(notifyAnimationStartedAsync()), this, SLOT(notifyAnimationStarted()), Qt::QueuedConnection);
}
@@ -287,80 +283,138 @@ GraphicsLayerQtImpl::~GraphicsLayerQtImpl()
#endif
}
-void GraphicsLayerQtImpl::adjustCachingRecursively(bool animationIsRunning)
+const GraphicsLayerQtImpl* GraphicsLayerQtImpl::rootLayer() const
{
- // optimization: we make sure all our children have ItemCoordinateCache -
- // otherwise we end up re-rendering them during the animation
- const QList<QGraphicsItem*> children = childItems();
-
- for (QList<QGraphicsItem*>::const_iterator it = children.begin(); it != children.end(); ++it) {
- if (QGraphicsItem* item = *it)
- if (GraphicsLayerQtImpl* layer = qobject_cast<GraphicsLayerQtImpl*>(item->toGraphicsObject())) {
- if (layer->m_layer->drawsContent() && layer->m_currentContent.contentType == HTMLContentType)
- layer->setCacheMode(animationIsRunning ? QGraphicsItem::ItemCoordinateCache : QGraphicsItem::DeviceCoordinateCache);
- }
- }
+ if (const GraphicsLayerQtImpl* parent = qobject_cast<const GraphicsLayerQtImpl*>(parentObject()))
+ return parent->rootLayer();
+ return this;
}
-void GraphicsLayerQtImpl::updateTransform()
-{
- setBaseTransform(isTransformAnimationRunning() ? m_baseTransform : m_layer->transform());
-}
-void GraphicsLayerQtImpl::setBaseTransform(const TransformationMatrix& baseTransform)
-{
- m_baseTransform = baseTransform;
- setTransform(computeTransform(baseTransform));
-}
-QTransform GraphicsLayerQtImpl::computeTransform(const TransformationMatrix& baseTransform) const
+QPixmap GraphicsLayerQtImpl::recache(const QRegion& regionToUpdate)
{
- if (!m_layer)
- return baseTransform;
+ if (!m_layer->drawsContent())
+ return QPixmap();
- TransformationMatrix computedTransform;
+ QRegion region = regionToUpdate;
+ QPixmap pixmap;
- // The origin for childrenTransform is always the center of the ancestor which contains the childrenTransform.
- // this has to do with how WebCore implements -webkit-perspective and -webkit-perspective-origin, which are the CSS
- // attribute that call setChildrenTransform
- QPointF offset = -pos() - boundingRect().bottomRight() / 2;
+ // We might be drawing into an existing cache.
+ if (!QPixmapCache::find(m_backingStoreKey, &pixmap))
+ region = QRegion(QRect(0, 0, m_size.width(), m_size.height()));
- for (const GraphicsLayerQtImpl* ancestor = this; (ancestor = qobject_cast<GraphicsLayerQtImpl*>(ancestor->parentObject())); ) {
- if (!ancestor->m_state.childrenTransform.isIdentity()) {
- const QPointF offset = mapFromItem(ancestor, QPointF(ancestor->m_size.width() / 2, ancestor->m_size.height() / 2));
- computedTransform
- .translate(offset.x(), offset.y())
- .multLeft(ancestor->m_state.childrenTransform)
- .translate(-offset.x(), -offset.y());
- break;
- }
+ if (m_size != pixmap.size()) {
+ pixmap = QPixmap(m_size.toSize());
+ if (!m_layer->contentsOpaque())
+ pixmap.fill(Qt::transparent);
+ m_pendingContent.regionToUpdate = QRegion(QRect(QPoint(0, 0), m_size.toSize()));
}
+ QPainter painter(&pixmap);
+ GraphicsContext gc(&painter);
+
+ // Clear the area in cache that we're drawing into
+ painter.setCompositionMode(QPainter::CompositionMode_Clear);
+ painter.fillRect(region.boundingRect(), Qt::transparent);
+
+ // Render the actual contents into the cache
+ painter.setCompositionMode(QPainter::CompositionMode_SourceOver);
+ m_layer->paintGraphicsLayerContents(gc, region.boundingRect());
+
+ m_backingStoreKey = QPixmapCache::insert(pixmap);
+ return pixmap;
+}
+
+void GraphicsLayerQtImpl::updateTransform()
+{
+ if (!m_transformAnimationRunning)
+ m_baseTransform = m_layer->transform();
+
+ TransformationMatrix localTransform;
+
+ GraphicsLayerQtImpl* parent = qobject_cast<GraphicsLayerQtImpl*>(parentObject());
+
// webkit has relative-to-size originPoint, graphics-view has a pixel originPoint, here we convert
// we have to manage this ourselves because QGraphicsView's transformOrigin is incompatible
const qreal originX = m_state.anchorPoint.x() * m_size.width();
const qreal originY = m_state.anchorPoint.y() * m_size.height();
- computedTransform
- .translate3d(originX, originY, m_state.anchorPoint.z())
- .multLeft(baseTransform)
+
+ // We ignore QGraphicsItem::pos completely, and use only transforms - because we have to maintain that ourselves for 3D.
+ localTransform
+ .translate3d(originX + m_state.pos.x(), originY + m_state.pos.y(), m_state.anchorPoint.z())
+ .multLeft(m_baseTransform)
.translate3d(-originX, -originY, -m_state.anchorPoint.z());
- // now we project to 2D
- return QTransform(computedTransform);
+ // This is the actual 3D transform of this item, with the ancestors' transform baked in.
+ m_transformRelativeToRootLayer = TransformationMatrix(parent ? parent->m_transformRelativeToRootLayer : TransformationMatrix())
+ .multLeft(localTransform);
+
+ // Now we have enough information to determine if the layer is facing backwards.
+ if (!m_state.backfaceVisibility && m_transformRelativeToRootLayer.inverse().m33() < 0) {
+ setVisible(false);
+ // No point in making extra calculations for invisible elements.
+ return;
+ }
+
+ // Simplistic depth test - we stack the item behind its parent if its computed z is lower than the parent's computed z at the item's center point.
+ if (parent) {
+ const QPointF centerPointMappedToRoot = rootLayer()->mapFromItem(this, m_size.width() / 2, m_size.height() / 2);
+ setFlag(ItemStacksBehindParent,
+ m_transformRelativeToRootLayer.mapPoint(FloatPoint3D(centerPointMappedToRoot.x(), centerPointMappedToRoot.y(), 0)).z() <
+ parent->m_transformRelativeToRootLayer.mapPoint(FloatPoint3D(centerPointMappedToRoot.x(), centerPointMappedToRoot.y(), 0)).z());
+ }
+
+ // The item is front-facing or backface-visibility is on.
+ setVisible(true);
+
+ // Flatten to 2D-space of this item if it doesn't preserve 3D.
+ if (!m_state.preserves3D) {
+ m_transformRelativeToRootLayer.setM13(0);
+ m_transformRelativeToRootLayer.setM23(0);
+ m_transformRelativeToRootLayer.setM31(0);
+ m_transformRelativeToRootLayer.setM32(0);
+ m_transformRelativeToRootLayer.setM33(1);
+ m_transformRelativeToRootLayer.setM34(0);
+ m_transformRelativeToRootLayer.setM43(0);
+ }
+
+ // Apply perspective for the use of this item's children. Perspective is always applied from the item's center.
+ if (!m_state.childrenTransform.isIdentity())
+ m_transformRelativeToRootLayer
+ .translate(m_size.width() / 2, m_size.height() /2)
+ .multLeft(m_state.childrenTransform)
+ .translate(-m_size.width() / 2, -m_size.height() /2);
+
+ bool inverseOk = true;
+ // Use QTransform::inverse to extrapolate the relative transform of this item, based on the parent's transform relative to
+ // the root layer and the desired transform for this item relative to the root layer.
+ const QTransform parentTransform = parent ? parent->itemTransform(rootLayer()) : QTransform();
+ const QTransform transform2D = QTransform(m_transformRelativeToRootLayer) * parentTransform.inverted(&inverseOk);
+
+ // In rare cases the transformation cannot be inversed - in that case we don't apply the transformation at all, otherwise we'd flicker.
+ // FIXME: This should be amended when Qt moves to a real 3D scene-graph.
+ if (!inverseOk)
+ return;
+
+ setTransform(transform2D);
+
+ const QList<QGraphicsItem*> children = childItems();
+ for (QList<QGraphicsItem*>::const_iterator it = children.begin(); it != children.end(); ++it)
+ if (GraphicsLayerQtImpl* layer= qobject_cast<GraphicsLayerQtImpl*>((*it)->toGraphicsObject()))
+ layer->updateTransform();
}
-bool GraphicsLayerQtImpl::isTransformAnimationRunning() const
+void GraphicsLayerQtImpl::setBaseTransform(const TransformationMatrix& baseTransform)
{
- if (m_transformAnimationRunning)
- return true;
- if (GraphicsLayerQtImpl* parent = qobject_cast<GraphicsLayerQtImpl*>(parentObject()))
- return parent->isTransformAnimationRunning();
- return false;
+ m_baseTransform = baseTransform;
+ updateTransform();
}
QPainterPath GraphicsLayerQtImpl::opaqueArea() const
{
QPainterPath painterPath;
+
// we try out best to return the opaque area, maybe it will help graphics-view render less items
if (m_currentContent.backgroundColor.isValid() && m_currentContent.backgroundColor.alpha() == 0xff)
painterPath.addRect(boundingRect());
@@ -384,14 +438,16 @@ QRectF GraphicsLayerQtImpl::boundingRect() const
void GraphicsLayerQtImpl::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget)
{
if (m_currentContent.backgroundColor.isValid())
- painter->fillRect(option->exposedRect, QColor(m_currentContent.backgroundColor));
+ painter->fillRect(option->rect, QColor(m_currentContent.backgroundColor));
switch (m_currentContent.contentType) {
case HTMLContentType:
if (m_state.drawsContent) {
- // this is the expensive bit. we try to minimize calls to this area by proper caching
- GraphicsContext gc(painter);
- m_layer->paintGraphicsLayerContents(gc, option->exposedRect.toAlignedRect());
+ QPixmap backingStore;
+ // We might need to recache, in case we try to paint and the cache was purged (e.g. if it was full).
+ if (!QPixmapCache::find(m_backingStoreKey, &backingStore) || backingStore.size() != m_size.toSize())
+ backingStore = recache(QRegion(m_state.contentsRect));
+ painter->drawPixmap(0, 0, backingStore);
}
break;
case PixmapContentType:
@@ -471,15 +527,11 @@ void GraphicsLayerQtImpl::flushChanges(bool recursive, bool forceUpdateTransform
if (m_layer->maskLayer()) {
if (GraphicsLayerQtImpl* mask = qobject_cast<GraphicsLayerQtImpl*>(m_layer->maskLayer()->platformLayer()->toGraphicsObject())) {
mask->m_maskEffect = new MaskEffectQt(this, mask);
- mask->setCacheMode(NoCache);
setGraphicsEffect(mask->m_maskEffect.data());
}
}
}
- if ((m_changeMask & PositionChange) && (m_layer->position() != m_state.pos))
- setPos(m_layer->position().x(), m_layer->position().y());
-
if (m_changeMask & SizeChange) {
if (m_layer->size() != m_state.size) {
prepareGeometryChange();
@@ -489,9 +541,10 @@ void GraphicsLayerQtImpl::flushChanges(bool recursive, bool forceUpdateTransform
// FIXME: this is a hack, due to a probable QGraphicsScene bug when rapidly modifying the perspective
// but without this line we get graphic artifacts
if ((m_changeMask & ChildrenTransformChange) && m_state.childrenTransform != m_layer->childrenTransform())
- scene()->update();
+ if (scene())
+ scene()->update();
- if (m_changeMask & (ChildrenTransformChange | Preserves3DChange | TransformChange | AnchorPointChange | SizeChange)) {
+ if (m_changeMask & (ChildrenTransformChange | Preserves3DChange | TransformChange | AnchorPointChange | SizeChange | BackfaceVisibilityChange | PositionChange)) {
// due to the differences between the way WebCore handles transforms and the way Qt handles transforms,
// all these elements affect the transforms of all the descendants.
forceUpdateTransform = true;
@@ -510,8 +563,6 @@ void GraphicsLayerQtImpl::flushChanges(bool recursive, bool forceUpdateTransform
break;
case ColorContentType:
- // no point in caching a solid-color rectangle
- setCacheMode(m_layer->maskLayer() ? QGraphicsItem::DeviceCoordinateCache : QGraphicsItem::NoCache);
if (m_pendingContent.contentType != m_currentContent.contentType || m_pendingContent.contentsBackgroundColor != m_currentContent.contentsBackgroundColor)
update();
m_state.drawsContent = false;
@@ -526,14 +577,6 @@ void GraphicsLayerQtImpl::flushChanges(bool recursive, bool forceUpdateTransform
update();
if (!m_state.drawsContent && m_layer->drawsContent())
update();
- if (m_layer->drawsContent() && !m_maskEffect) {
- setCacheMode(isTransformAnimationRunning() ? ItemCoordinateCache : DeviceCoordinateCache);
-
- // HTML content: we want to use exposedRect so we don't use WebCore rendering if we don't have to
- setFlag(QGraphicsItem::ItemUsesExtendedStyleOption, true);
- }
- else
- setCacheMode(NoCache);
setFlag(ItemHasNoContents, !m_layer->drawsContent());
break;
@@ -563,15 +606,16 @@ void GraphicsLayerQtImpl::flushChanges(bool recursive, bool forceUpdateTransform
if (m_maskEffect)
m_maskEffect.data()->update();
- else if (m_changeMask & DisplayChange)
+ else if (m_changeMask & DisplayChange) {
+ // Recache now: all the content is ready and we don't want to wait until the paint event.
+ recache(m_pendingContent.regionToUpdate);
update(m_pendingContent.regionToUpdate.boundingRect());
+ m_pendingContent.regionToUpdate = QRegion();
+ }
if ((m_changeMask & BackgroundColorChange) && (m_pendingContent.backgroundColor != m_currentContent.backgroundColor))
update();
- // FIXME: the following flags are currently not handled, as they don't have a clear test or are in low priority
- // GeometryOrientationChange, ContentsOrientationChange, BackfaceVisibilityChange, ChildrenTransformChange, Preserves3DChange
-
m_state.maskLayer = m_layer->maskLayer();
m_state.pos = m_layer->position();
m_state.anchorPoint = m_layer->anchorPoint();
@@ -591,7 +635,6 @@ void GraphicsLayerQtImpl::flushChanges(bool recursive, bool forceUpdateTransform
m_currentContent.contentType = m_pendingContent.contentType;
m_currentContent.mediaLayer = m_pendingContent.mediaLayer;
m_currentContent.backgroundColor = m_pendingContent.backgroundColor;
- m_currentContent.regionToUpdate |= m_pendingContent.regionToUpdate;
m_currentContent.contentsBackgroundColor = m_pendingContent.contentsBackgroundColor;
m_pendingContent.regionToUpdate = QRegion();
m_changeMask = NoChanges;
@@ -1014,6 +1057,7 @@ public:
, m_webkitPropertyID(values.property())
, m_webkitAnimation(anim)
, m_keyframesName(name)
+ , m_fillsForwards(false)
{
}
@@ -1037,6 +1081,7 @@ public:
// we might need this in case the same animation is added again (i.e. resumed by WebCore)
const Animation* m_webkitAnimation;
QString m_keyframesName;
+ bool m_fillsForwards;
};
// we'd rather have a templatized QAbstractAnimation than QPropertyAnimation / QVariantAnimation;
@@ -1121,10 +1166,8 @@ public:
~TransformAnimationQt()
{
- // this came up during the compositing/animation LayoutTests
- // when the animation dies, the transform has to go back to default
- if (m_layer)
- m_layer.data()->updateTransform();
+ if (m_fillsForwards)
+ setCurrentTime(1);
}
// the idea is that we let WebCore manage the transform-operations
@@ -1135,34 +1178,28 @@ public:
{
TransformationMatrix transformMatrix;
- // sometimes the animation values from WebCore are misleading and we have to use the actual matrix as source
- // The Mac implementation simply doesn't try to accelerate those (e.g. 360deg rotation), but we do.
- if (progress == 1 || !targetOperations.size() || sourceOperations == targetOperations) {
- TransformationMatrix sourceMatrix;
- sourceOperations.apply(m_boxSize, sourceMatrix);
- transformMatrix = m_sourceMatrix;
- transformMatrix.blend(sourceMatrix, 1 - progress);
- } else {
- bool validTransformLists = true;
- const int sourceOperationCount = sourceOperations.size();
- if (sourceOperationCount) {
- if (targetOperations.size() != sourceOperationCount)
- validTransformLists = false;
- else
- for (size_t j = 0; j < sourceOperationCount && validTransformLists; ++j)
- if (!sourceOperations.operations()[j]->isSameType(*targetOperations.operations()[j]))
- validTransformLists = false;
- }
+ bool validTransformLists = true;
+ const int sourceOperationCount = sourceOperations.size();
+ if (sourceOperationCount) {
+ if (targetOperations.size() != sourceOperationCount)
+ validTransformLists = false;
+ else
+ for (size_t j = 0; j < sourceOperationCount && validTransformLists; ++j)
+ if (!sourceOperations.operations()[j]->isSameType(*targetOperations.operations()[j]))
+ validTransformLists = false;
+ }
- if (validTransformLists) {
- for (size_t i = 0; i < targetOperations.size(); ++i)
- targetOperations.operations()[i]->blend(sourceOperations.at(i), progress)->apply(transformMatrix, m_boxSize);
- } else {
- targetOperations.apply(m_boxSize, transformMatrix);
- transformMatrix.blend(m_sourceMatrix, progress);
- }
+ if (validTransformLists) {
+ for (size_t i = 0; i < targetOperations.size(); ++i)
+ targetOperations.operations()[i]->blend(sourceOperations.at(i), progress)->apply(transformMatrix, m_boxSize);
+ } else {
+ targetOperations.apply(m_boxSize, transformMatrix);
+ transformMatrix.blend(m_sourceMatrix, progress);
}
+
m_layer.data()->setBaseTransform(transformMatrix);
+ if (m_fillsForwards)
+ m_layer.data()->m_layer->setTransform(m_layer.data()->m_baseTransform);
}
virtual void updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState)
@@ -1177,10 +1214,11 @@ public:
if (newState == QAbstractAnimation::Running) {
m_sourceMatrix = m_layer.data()->m_layer->transform();
m_layer.data()->m_transformAnimationRunning = true;
- m_layer.data()->adjustCachingRecursively(true);
} else if (newState == QAbstractAnimation::Stopped) {
+ // We update the transform back to the default. This already takes fill-modes into account.
m_layer.data()->m_transformAnimationRunning = false;
- m_layer.data()->adjustCachingRecursively(false);
+ if (m_layer && m_layer.data()->m_layer)
+ m_layer.data()->setBaseTransform(m_layer.data()->m_layer->transform());
}
}
@@ -1194,6 +1232,11 @@ public:
{
}
+ ~OpacityAnimationQt()
+ {
+ if (m_fillsForwards)
+ setCurrentTime(1);
+ }
virtual void applyFrame(const qreal& fromValue, const qreal& toValue, qreal progress)
{
qreal opacity = qBound(qreal(0), fromValue + (toValue-fromValue)*progress, qreal(1));
@@ -1204,6 +1247,8 @@ public:
m_layer.data()->scene()->update();
m_layer.data()->setOpacity(opacity);
+ if (m_fillsForwards)
+ m_layer.data()->m_layer->setOpacity(opacity);
}
virtual void updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState)
@@ -1212,6 +1257,12 @@ public:
if (m_layer)
m_layer.data()->m_opacityAnimationRunning = (newState == QAbstractAnimation::Running);
+
+ // If stopped, we update the opacity back to the default. This already takes fill-modes into account.
+ if (newState == Stopped)
+ if (m_layer && m_layer.data()->m_layer)
+ m_layer.data()->setOpacity(m_layer.data()->m_layer->opacity());
+
}
};
@@ -1220,7 +1271,7 @@ bool GraphicsLayerQt::addAnimation(const KeyframeValueList& values, const IntSiz
if (!anim->duration() || !anim->iterationCount())
return false;
- QAbstractAnimation* newAnim = 0;
+ AnimationQtBase* newAnim = 0;
// fixed: we might already have the Qt animation object associated with this WebCore::Animation object
for (QList<QWeakPointer<QAbstractAnimation> >::iterator it = m_impl->m_animations.begin(); it != m_impl->m_animations.end(); ++it) {
@@ -1245,6 +1296,7 @@ bool GraphicsLayerQt::addAnimation(const KeyframeValueList& values, const IntSiz
// we make sure WebCore::Animation and QAnimation are on the same terms
newAnim->setLoopCount(anim->iterationCount());
+ newAnim->m_fillsForwards = anim->fillsForwards();
m_impl->m_animations.append(QWeakPointer<QAbstractAnimation>(newAnim));
QObject::connect(&m_impl->m_suspendTimer, SIGNAL(timeout()), newAnim, SLOT(resume()));
}
@@ -1252,6 +1304,10 @@ bool GraphicsLayerQt::addAnimation(const KeyframeValueList& values, const IntSiz
// flush now or flicker...
m_impl->flushChanges(false);
+ // when fill-mode is backwards/both, we set the value to 0 before the delay takes place
+ if (anim->fillsBackwards())
+ newAnim->setCurrentTime(0);
+
if (anim->delay())
QTimer::singleShot(anim->delay() * 1000, newAnim, SLOT(start()));
else
@@ -1272,6 +1328,8 @@ void GraphicsLayerQt::removeAnimationsForProperty(AnimatedPropertyID id)
if (*it) {
AnimationQtBase* anim = static_cast<AnimationQtBase*>(it->data());
if (anim && anim->m_webkitPropertyID == id) {
+ // We need to stop the animation right away, or it might flicker before it's deleted.
+ anim->stop();
anim->deleteLater();
it = m_impl->m_animations.erase(it);
--it;
@@ -1286,7 +1344,9 @@ void GraphicsLayerQt::removeAnimationsForKeyframes(const String& name)
if (*it) {
AnimationQtBase* anim = static_cast<AnimationQtBase*>((*it).data());
if (anim && anim->m_keyframesName == QString(name)) {
- (*it).data()->deleteLater();
+ // We need to stop the animation right away, or it might flicker before it's deleted.
+ anim->stop();
+ anim->deleteLater();
it = m_impl->m_animations.erase(it);
--it;
}
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/transforms/TransformationMatrix.h b/src/3rdparty/webkit/WebCore/platform/graphics/transforms/TransformationMatrix.h
index cdf101d..96b4baa 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/transforms/TransformationMatrix.h
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/transforms/TransformationMatrix.h
@@ -47,7 +47,7 @@
#endif
#if PLATFORM(WIN) || (PLATFORM(QT) && OS(WINDOWS)) || (PLATFORM(WX) && OS(WINDOWS))
-#if COMPILER(MINGW)
+#if COMPILER(MINGW) && !COMPILER(MINGW64)
typedef struct _XFORM XFORM;
#else
typedef struct tagXFORM XFORM;
diff --git a/src/3rdparty/webkit/WebCore/platform/mac/MIMETypeRegistryMac.mm b/src/3rdparty/webkit/WebCore/platform/mac/MIMETypeRegistryMac.mm
index 7d43505..82348e0 100644
--- a/src/3rdparty/webkit/WebCore/platform/mac/MIMETypeRegistryMac.mm
+++ b/src/3rdparty/webkit/WebCore/platform/mac/MIMETypeRegistryMac.mm
@@ -56,4 +56,9 @@ String MIMETypeRegistry::getPreferredExtensionForMIMEType(const String& type)
return wkGetPreferredExtensionForMIMEType(type);
}
+bool MIMETypeRegistry::isApplicationPluginMIMEType(const String&)
+{
+ return false;
+}
+
}
diff --git a/src/3rdparty/webkit/WebCore/platform/network/qt/ResourceRequestQt.cpp b/src/3rdparty/webkit/WebCore/platform/network/qt/ResourceRequestQt.cpp
index 341e6ae..fea64a0 100644
--- a/src/3rdparty/webkit/WebCore/platform/network/qt/ResourceRequestQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/network/qt/ResourceRequestQt.cpp
@@ -32,12 +32,14 @@ namespace WebCore {
// To achieve the best result we want WebKit to schedule the jobs so we
// are using the limit as found in Qt. To allow Qt to fill its queue
// and prepare jobs we will schedule two more downloads.
+// Per TCP connection there is 1 current processed, 3 possibly pipelined
+// and 2 ready to re-fill the pipeline.
unsigned initializeMaximumHTTPConnectionCountPerHost()
{
#ifdef Q_OS_SYMBIAN
- return 3 + 2;
+ return 3 * (1 + 3 + 2);
#else
- return 6 + 2;
+ return 6 * (1 + 3 + 2);
#endif
}
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/MIMETypeRegistryQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/MIMETypeRegistryQt.cpp
index 22cee6f..4161f81 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/MIMETypeRegistryQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/MIMETypeRegistryQt.cpp
@@ -82,4 +82,10 @@ String MIMETypeRegistry::getMIMETypeForExtension(const String &ext)
return "application/octet-stream";
}
+bool MIMETypeRegistry::isApplicationPluginMIMEType(const String& mimeType)
+{
+ return mimeType.startsWith("application/x-qt-plugin", false)
+ || mimeType.startsWith("application/x-qt-styled-widget", false);
+}
+
}
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/QWebPageClient.h b/src/3rdparty/webkit/WebCore/platform/qt/QWebPageClient.h
index f03ff08..467941f 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/QWebPageClient.h
+++ b/src/3rdparty/webkit/WebCore/platform/qt/QWebPageClient.h
@@ -55,6 +55,7 @@ public:
// if scheduleSync is true, we schedule a sync ourselves. otherwise,
// we wait for the next update and sync the layers then.
virtual void markForSync(bool scheduleSync = false) {}
+ virtual bool allowsAcceleratedCompositing() const { return false; }
#endif
#if QT_VERSION >= 0x040600
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/SharedTimerQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/SharedTimerQt.cpp
index e9bcaee..7c0fd05 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/SharedTimerQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/SharedTimerQt.cpp
@@ -40,6 +40,8 @@
namespace WebCore {
class SharedTimerQt : public QObject {
+ Q_OBJECT
+
friend void setSharedTimerFiredFunction(void (*f)());
public:
static SharedTimerQt* inst();
@@ -50,15 +52,18 @@ public:
protected:
void timerEvent(QTimerEvent* ev);
+private slots:
+ void destroy();
+
private:
- SharedTimerQt(QObject* parent);
+ SharedTimerQt();
~SharedTimerQt();
QBasicTimer m_timer;
void (*m_timerFunction)();
};
-SharedTimerQt::SharedTimerQt(QObject* parent)
- : QObject(parent)
+SharedTimerQt::SharedTimerQt()
+ : QObject()
, m_timerFunction(0)
{}
@@ -68,11 +73,18 @@ SharedTimerQt::~SharedTimerQt()
(m_timerFunction)();
}
+void SharedTimerQt::destroy()
+{
+ delete this;
+}
+
SharedTimerQt* SharedTimerQt::inst()
{
static QPointer<SharedTimerQt> timer;
- if (!timer)
- timer = new SharedTimerQt(QCoreApplication::instance());
+ if (!timer) {
+ timer = new SharedTimerQt();
+ timer->connect(QCoreApplication::instance(), SIGNAL(aboutToQuit()), SLOT(destroy()));
+ }
return timer;
}
@@ -129,6 +141,8 @@ void stopSharedTimer()
SharedTimerQt::inst()->stop();
}
+#include "SharedTimerQt.moc"
+
}
// vim: ts=4 sw=4 et
diff --git a/src/3rdparty/webkit/WebCore/platform/text/TextStream.cpp b/src/3rdparty/webkit/WebCore/platform/text/TextStream.cpp
index ab73891..eed17a5 100644
--- a/src/3rdparty/webkit/WebCore/platform/text/TextStream.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/text/TextStream.cpp
@@ -108,7 +108,7 @@ String TextStream::release()
return String::adopt(m_text);
}
-#if OS(WINDOWS) && CPU(X86_64) && COMPILER(MSVC)
+#if OS(WINDOWS) && CPU(X86_64)
TextStream& TextStream::operator<<(__int64 i)
{
char buffer[printBufferSize];
diff --git a/src/3rdparty/webkit/WebCore/platform/text/TextStream.h b/src/3rdparty/webkit/WebCore/platform/text/TextStream.h
index 1225505..522da53 100644
--- a/src/3rdparty/webkit/WebCore/platform/text/TextStream.h
+++ b/src/3rdparty/webkit/WebCore/platform/text/TextStream.h
@@ -45,7 +45,7 @@ public:
TextStream& operator<<(const char*);
TextStream& operator<<(void*);
TextStream& operator<<(const String&);
-#if OS(WINDOWS) && CPU(X86_64) && COMPILER(MSVC)
+#if OS(WINDOWS) && CPU(X86_64)
TextStream& operator<<(unsigned __int64);
TextStream& operator<<(__int64);
#endif
diff --git a/src/3rdparty/webkit/WebCore/plugins/PluginView.cpp b/src/3rdparty/webkit/WebCore/plugins/PluginView.cpp
index 38acdd9..df9a29b 100644
--- a/src/3rdparty/webkit/WebCore/plugins/PluginView.cpp
+++ b/src/3rdparty/webkit/WebCore/plugins/PluginView.cpp
@@ -345,7 +345,7 @@ void PluginView::stop()
WNDPROC currentWndProc = (WNDPROC)GetWindowLongPtr(platformPluginWidget(), GWLP_WNDPROC);
if (currentWndProc == PluginViewWndProc)
- SetWindowLongPtr(platformPluginWidget(), GWLP_WNDPROC, (LONG)m_pluginWndProc);
+ SetWindowLongPtr(platformPluginWidget(), GWLP_WNDPROC, (LONG_PTR)m_pluginWndProc);
#endif
}
#endif // XP_WIN
@@ -1296,9 +1296,7 @@ void PluginView::keepAlive(NPP instance)
view->keepAlive();
}
-#endif
-#if ENABLE(NETSCAPE_PLUGIN_API)
NPError PluginView::getValueStatic(NPNVariable variable, void* value)
{
LOG(Plugins, "PluginView::getValueStatic(%s)", prettyNameForNPNVariable(variable).data());
@@ -1309,7 +1307,6 @@ NPError PluginView::getValueStatic(NPNVariable variable, void* value)
return NPERR_GENERIC_ERROR;
}
-#endif
NPError PluginView::getValue(NPNVariable variable, void* value)
{
@@ -1319,13 +1316,10 @@ NPError PluginView::getValue(NPNVariable variable, void* value)
if (platformGetValue(variable, value, &result))
return result;
-#if ENABLE(NETSCAPE_PLUGIN_API)
if (platformGetValueStatic(variable, value, &result))
return result;
-#endif
switch (variable) {
-#if ENABLE(NETSCAPE_PLUGIN_API)
case NPNVWindowNPObject: {
if (m_isJavaScriptPaused)
return NPERR_GENERIC_ERROR;
@@ -1360,7 +1354,6 @@ NPError PluginView::getValue(NPNVariable variable, void* value)
return NPERR_NO_ERROR;
}
-#endif
case NPNVprivateModeBool: {
Page* page = m_parentFrame->page();
@@ -1374,6 +1367,7 @@ NPError PluginView::getValue(NPNVariable variable, void* value)
return NPERR_GENERIC_ERROR;
}
}
+#endif
void PluginView::privateBrowsingStateChanged(bool privateBrowsingEnabled)
{
diff --git a/src/3rdparty/webkit/WebCore/plugins/PluginView.h b/src/3rdparty/webkit/WebCore/plugins/PluginView.h
index 21a25f6..51b2127 100644
--- a/src/3rdparty/webkit/WebCore/plugins/PluginView.h
+++ b/src/3rdparty/webkit/WebCore/plugins/PluginView.h
@@ -139,8 +139,9 @@ namespace WebCore {
static const char* userAgentStatic();
#endif
void status(const char* message);
- NPError getValue(NPNVariable variable, void* value);
+
#if ENABLE(NETSCAPE_PLUGIN_API)
+ NPError getValue(NPNVariable variable, void* value);
static NPError getValueStatic(NPNVariable variable, void* value);
#endif
NPError setValue(NPPVariable variable, void* value);
diff --git a/src/3rdparty/webkit/WebCore/plugins/PluginViewNone.cpp b/src/3rdparty/webkit/WebCore/plugins/PluginViewNone.cpp
index ed5ad1b..bd51a98 100644
--- a/src/3rdparty/webkit/WebCore/plugins/PluginViewNone.cpp
+++ b/src/3rdparty/webkit/WebCore/plugins/PluginViewNone.cpp
@@ -67,12 +67,12 @@ NPError PluginView::handlePostReadFile(Vector<char>&, uint32, const char*)
return 0;
}
+#if ENABLE(NETSCAPE_PLUGIN_API)
bool PluginView::platformGetValue(NPNVariable, void*, NPError*)
{
return false;
}
-#if ENABLE(NETSCAPE_PLUGIN_API)
bool PluginView::platformGetValueStatic(NPNVariable, void*, NPError*)
{
return false;
@@ -126,4 +126,14 @@ void PluginView::keepAlive(NPP)
}
#endif
+#if PLATFORM(MAC) || PLATFORM(CHROMIUM) || PLATFORM(EFL)
+void PluginView::privateBrowsingStateChanged(bool)
+{
+}
+
+void PluginView::setJavaScriptPaused(bool)
+{
+}
+#endif
+
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/plugins/symbian/PluginViewSymbian.cpp b/src/3rdparty/webkit/WebCore/plugins/symbian/PluginViewSymbian.cpp
index bae3b7f..108fcca 100644
--- a/src/3rdparty/webkit/WebCore/plugins/symbian/PluginViewSymbian.cpp
+++ b/src/3rdparty/webkit/WebCore/plugins/symbian/PluginViewSymbian.cpp
@@ -414,11 +414,11 @@ bool PluginView::platformStart()
void PluginView::platformDestroy()
{
- QWebPageClient* client = m_parentFrame->view()->hostWindow()->platformPageClient();
- if (client && qobject_cast<QGraphicsWebView*>(client->pluginParent()))
- delete static_cast<PluginContainerSymbian*>(platformPluginWidget())->proxy();
- else
- delete platformPluginWidget();
+ if (platformPluginWidget()) {
+ PluginContainerSymbian* container = static_cast<PluginContainerSymbian*>(platformPluginWidget());
+ delete container->proxy();
+ delete container;
+ }
}
void PluginView::halt()
diff --git a/src/3rdparty/webkit/WebCore/plugins/win/PluginViewWin.cpp b/src/3rdparty/webkit/WebCore/plugins/win/PluginViewWin.cpp
index 9d869ab..e37714a 100644
--- a/src/3rdparty/webkit/WebCore/plugins/win/PluginViewWin.cpp
+++ b/src/3rdparty/webkit/WebCore/plugins/win/PluginViewWin.cpp
@@ -544,7 +544,7 @@ void PluginView::paintIntoTransformedContext(HDC hdc)
NPEvent npEvent;
npEvent.event = WM_WINDOWPOSCHANGED;
- npEvent.lParam = reinterpret_cast<uint32>(&windowpos);
+ npEvent.lParam = reinterpret_cast<uintptr_t>(&windowpos);
npEvent.wParam = 0;
dispatchNPEvent(npEvent);
@@ -552,7 +552,7 @@ void PluginView::paintIntoTransformedContext(HDC hdc)
setNPWindowRect(frameRect());
npEvent.event = WM_PAINT;
- npEvent.wParam = reinterpret_cast<uint32>(hdc);
+ npEvent.wParam = reinterpret_cast<uintptr_t>(hdc);
// This is supposed to be a pointer to the dirty rect, but it seems that the Flash plugin
// ignores it so we just pass null.
@@ -829,7 +829,7 @@ void PluginView::setNPWindowRect(const IntRect& rect)
#else
WNDPROC currentWndProc = (WNDPROC)GetWindowLongPtr(platformPluginWidget(), GWLP_WNDPROC);
if (currentWndProc != PluginViewWndProc)
- m_pluginWndProc = (WNDPROC)SetWindowLongPtr(platformPluginWidget(), GWLP_WNDPROC, (LONG)PluginViewWndProc);
+ m_pluginWndProc = (WNDPROC)SetWindowLongPtr(platformPluginWidget(), GWLP_WNDPROC, (LONG_PTR)PluginViewWndProc);
#endif
}
}
@@ -978,7 +978,7 @@ bool PluginView::platformStart()
// Calling SetWindowLongPtrA here makes the window proc ASCII, which is required by at least
// the Shockwave Director plug-in.
-#if OS(WINDOWS) && CPU(X86_64) && COMPILER(MSVC)
+#if OS(WINDOWS) && CPU(X86_64)
::SetWindowLongPtrA(platformPluginWidget(), GWLP_WNDPROC, (LONG_PTR)DefWindowProcA);
#elif OS(WINCE)
::SetWindowLong(platformPluginWidget(), GWL_WNDPROC, (LONG)DefWindowProc);
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderBox.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderBox.cpp
index 1c0e837..c6818f8 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderBox.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderBox.cpp
@@ -1179,10 +1179,9 @@ void RenderBox::computeRectForRepaint(RenderBoxModelObject* repaintContainer, In
IntPoint topLeft = rect.location();
topLeft.move(x(), y());
- if (style()->position() == FixedPosition)
- fixed = true;
+ EPosition position = style()->position();
- if (o->isBlockFlow() && style()->position() != AbsolutePosition && style()->position() != FixedPosition) {
+ if (o->isBlockFlow() && position != AbsolutePosition && position != FixedPosition) {
RenderBlock* cb = toRenderBlock(o);
if (cb->hasColumns()) {
IntRect repaintRect(topLeft, rect.size());
@@ -1195,16 +1194,17 @@ void RenderBox::computeRectForRepaint(RenderBoxModelObject* repaintContainer, In
// We are now in our parent container's coordinate space. Apply our transform to obtain a bounding box
// in the parent's coordinate space that encloses us.
if (layer() && layer()->transform()) {
- fixed = false;
+ fixed = position == FixedPosition;
rect = layer()->transform()->mapRect(rect);
// FIXME: this clobbers topLeft adjustment done for multicol above
topLeft = rect.location();
topLeft.move(x(), y());
- }
+ } else if (position == FixedPosition)
+ fixed = true;
- if (style()->position() == AbsolutePosition && o->isRelPositioned() && o->isRenderInline())
+ if (position == AbsolutePosition && o->isRelPositioned() && o->isRenderInline())
topLeft += toRenderInline(o)->relativePositionedInlineOffset(this);
- else if (style()->position() == RelativePosition && layer()) {
+ else if (position == RelativePosition && layer()) {
// Apply the relative position offset when invalidating a rectangle. The layer
// is translated, but the render box isn't, so we need to do this to get the
// right dirty rect. Since this is called from RenderObject::setStyle, the relative position
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderLayer.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderLayer.cpp
index 15ffb64..3314772 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderLayer.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderLayer.cpp
@@ -332,6 +332,22 @@ void RenderLayer::computeRepaintRects()
m_outlineBox = renderer()->outlineBoundsForRepaint(repaintContainer);
}
+void RenderLayer::updateRepaintRectsAfterScroll(bool fixed)
+{
+ if (fixed || renderer()->style()->position() == FixedPosition) {
+ computeRepaintRects();
+ fixed = true;
+ } else if (renderer()->hasTransform()) {
+ // Transforms act as fixed position containers, so nothing inside a
+ // transformed element can be fixed relative to the viewport if the
+ // transformed element is not fixed itself or child of a fixed element.
+ return;
+ }
+
+ for (RenderLayer* child = firstChild(); child; child = child->nextSibling())
+ child->updateRepaintRectsAfterScroll(fixed);
+}
+
void RenderLayer::updateTransform()
{
// hasTransform() on the renderer is also true when there is transform-style: preserve-3d or perspective set,
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderLayer.h b/src/3rdparty/webkit/WebCore/rendering/RenderLayer.h
index 9210e95..81a66e1 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderLayer.h
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderLayer.h
@@ -395,6 +395,7 @@ public:
// Return a cached repaint rect, computed relative to the layer renderer's containerForRepaint.
IntRect repaintRect() const { return m_repaintRect; }
void computeRepaintRects();
+ void updateRepaintRectsAfterScroll(bool fixed = false);
void setNeedsFullRepaint(bool f = true) { m_needsFullRepaint = f; }
int staticX() const { return m_staticX; }
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderLayerCompositor.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderLayerCompositor.cpp
index 93af664..c295a2c 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderLayerCompositor.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderLayerCompositor.cpp
@@ -128,6 +128,15 @@ void RenderLayerCompositor::cacheAcceleratedCompositingFlags()
showRepaintCounter = settings->showRepaintCounter();
}
+ // We allow the chrome to override the settings, in case the page is rendered
+ // on a chrome that doesn't allow accelerated compositing.
+ if (hasAcceleratedCompositing) {
+ Frame* frame = m_renderView->frameView()->frame();
+ Page* page = frame ? frame->page() : 0;
+ if (page)
+ hasAcceleratedCompositing = page->chrome()->client()->allowsAcceleratedCompositing();
+ }
+
if (hasAcceleratedCompositing != m_hasAcceleratedCompositing || showDebugBorders != m_showDebugBorders || showRepaintCounter != m_showRepaintCounter)
setCompositingLayersNeedRebuild();
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp
index ad66750..3c86770 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp
@@ -122,6 +122,9 @@ public:
virtual void setRootGraphicsLayer(QGraphicsItem* layer);
virtual void markForSync(bool scheduleSync);
void updateCompositingScrollPosition();
+
+ // QGraphicsWebView can render composited layers
+ virtual bool allowsAcceleratedCompositing() const { return true; }
#endif
void updateResizesToContentsForPage();
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.cpp
index 61ec9d2..d852012 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.cpp
@@ -33,7 +33,7 @@
enum {
InitialHistoryVersion = 1,
- DefaultHistoryVersion = 2
+ DefaultHistoryVersion = InitialHistoryVersion
};
/*!
@@ -524,7 +524,7 @@ QDataStream& operator>>(QDataStream& source, QWebHistory& history)
source >> version;
- if (version <= 2) {
+ if (version == 1) {
int count;
int currentIndex;
source >> count >> currentIndex;
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp
index 007aeac..f28524a 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp
@@ -1492,7 +1492,7 @@ QVariant QWebPage::inputMethodQuery(Qt::InputMethodQuery property) const
// We can't access absoluteCaretBounds() while the view needs to layout.
return QVariant();
}
- return QVariant(frame->selection()->absoluteCaretBounds());
+ return QVariant(view->contentsToWindow(frame->selection()->absoluteCaretBounds()));
}
case Qt::ImFont: {
if (renderTextControl) {
@@ -2048,9 +2048,9 @@ QWebPage *QWebPage::createWindow(WebWindowType type)
}
/*!
- This function is called whenever WebKit encounters a HTML object element with type "application/x-qt-plugin".
- The \a classid, \a url, \a paramNames and \a paramValues correspond to the HTML object element attributes and
- child elements to configure the embeddable object.
+ This function is called whenever WebKit encounters a HTML object element with type "application/x-qt-plugin". It is
+ called regardless of the value of QWebSettings::PluginsEnabled. The \a classid, \a url, \a paramNames and \a paramValues
+ correspond to the HTML object element attributes and child elements to configure the embeddable object.
*/
QObject *QWebPage::createPlugin(const QString &classid, const QUrl &url, const QStringList &paramNames, const QStringList &paramValues)
{
@@ -2208,7 +2208,6 @@ void QWebPage::setViewportSize(const QSize &size) const
if (frame->d->frame && frame->d->frame->view()) {
WebCore::FrameView* view = frame->d->frame->view();
view->setFrameRect(QRect(QPoint(0, 0), size));
- view->forceLayout();
view->adjustViewSize();
}
}
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp
index c759445..2305c7f 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp
@@ -298,7 +298,9 @@ QWebSettings* QWebSettings::globalSettings()
Support for browser plugins can enabled by setting the
\l{QWebSettings::PluginsEnabled}{PluginsEnabled} attribute. For many applications,
this attribute is enabled for all pages by setting it on the
- \l{globalSettings()}{global settings object}.
+ \l{globalSettings()}{global settings object}. QtWebKit will always ignore this setting
+ \when processing Qt plugins. The decision to allow a Qt plugin is made by the client
+ \in its reimplementation of QWebPage::createPlugin.
\section1 Web Application Support
@@ -366,7 +368,8 @@ QWebSettings* QWebSettings::globalSettings()
programs.
\value JavaEnabled Enables or disables Java applets.
Currently Java applets are not supported.
- \value PluginsEnabled Enables or disables plugins in Web pages.
+ \value PluginsEnabled Enables or disables plugins in Web pages. Qt plugins
+ with a mimetype such as "application/x-qt-plugin" are not affected by this setting.
\value PrivateBrowsingEnabled Private browsing prevents WebKit from
recording visited pages in the history and storing web page icons.
\value JavascriptCanOpenWindows Specifies whether JavaScript programs
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp
index fcd1f4b..3ba1678 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp
@@ -415,9 +415,6 @@ void QWebView::setPage(QWebPage* page)
this, SLOT(updateMicroFocus()));
connect(d->page, SIGNAL(destroyed()),
this, SLOT(_q_pageDestroyed()));
-#if USE(ACCELERATED_COMPOSITING)
- d->page->d->page->settings()->setAcceleratedCompositingEnabled(false);
-#endif
}
setAttribute(Qt::WA_OpaquePaintEvent, d->page);
update();
diff --git a/src/3rdparty/webkit/WebKit/qt/ChangeLog b/src/3rdparty/webkit/WebKit/qt/ChangeLog
index 5e550f9..8594f09 100644
--- a/src/3rdparty/webkit/WebKit/qt/ChangeLog
+++ b/src/3rdparty/webkit/WebKit/qt/ChangeLog
@@ -1,3 +1,230 @@
+2010-04-29 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Remove unnecessary call to FrameView::forceLayout() in setViewportSize()
+ This prevents a double relayout on resize.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38179
+
+ Thanks to Nate Whetsell <nathan.whetsell@gmail.com> for spotting this.
+
+ * Api/qwebpage.cpp:
+ (QWebPage::setViewportSize):
+
+2010-04-29 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] REGRESSION(r57982): tst_qwebpage::showModalDialog() crashes
+ https://bugs.webkit.org/show_bug.cgi?id=38314
+
+ Make sure that there's always a main frame when returning from createWindow()
+ to the caller in WebCore.
+
+ * WebCoreSupport/ChromeClientQt.cpp:
+ (WebCore::ChromeClientQt::createWindow):
+
+2010-04-28 Janne Koskinen <janne.p.koskinen@digia.com>
+
+ Reviewed by Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] WINS DEF file freeze
+
+ Updated WINSCW def file with added and removed symbols.
+
+ * symbian/bwins/QtWebKitu.def:
+
+2010-04-22 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Remove translatable strings from the hybridPixmap test.
+ https://bugs.webkit.org/show_bug.cgi?id=37867
+
+ * tests/hybridPixmap/widget.ui:
+
+2010-04-22 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Fix autotests .qrc file paths when built in Qt.
+
+ Compiling auto-tests from qt/tests/auto/qweb* produced
+ failing tests since these .pro files include the
+ ones in WebKit/qt/tests and the .qrc file was
+ not added to RESOURCES
+
+ * tests/benchmarks/loading/loading.pro:
+ * tests/benchmarks/painting/painting.pro:
+ * tests/qgraphicswebview/qgraphicswebview.pro:
+ * tests/qwebelement/qwebelement.pro:
+ * tests/qwebframe/qwebframe.pro:
+ * tests/qwebhistory/qwebhistory.pro:
+ * tests/qwebhistoryinterface/qwebhistoryinterface.pro:
+ * tests/qwebinspector/qwebinspector.pro:
+ * tests/qwebpage/qwebpage.pro:
+ * tests/qwebplugindatabase/qwebplugindatabase.pro:
+ * tests/qwebview/qwebview.pro:
+ * tests/tests.pri:
+
+2010-04-26 Bruno Schmidt <bruno.schmidt@gmail.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Exposing an QVariantMap containing QObjectStar to Javascript
+ causes Segmentation Fault
+ https://bugs.webkit.org/show_bug.cgi?id=34729
+
+ If an QVariantMap containing QObjectStar is added to the to QtWebkit
+ Javascript, it's use causes Segmentation Fault.
+ It happens because, in the case QMetaType::QVariantMap, the "root"
+ object that is inside of a PassRefPtr is passed recursively inside a
+ loop to recover the content of the map, but the PassRefPtr semantics
+ prohibit its use inside a loop, so the "root" object mus be passed
+ using the method "PassRefPtr::get" in order to keep the current
+ reference.
+
+ * tests/qwebframe/tst_qwebframe.cpp:
+ (MyQObject::MyQObject): new property variantMapProperty
+ (MyQObject::variantMapProperty): read variantMapProperty
+ (MyQObject::setVariantMapProperty): write variantMapProperty
+
+2010-04-26 Thiago Macieira <thiago.macieira@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix the include header <qstring.h> -> <QtCore/qstring.h>
+
+ The module/header.h style inclusion removes the need to have -I$QTDIR/include/depending-module
+ in the include search path for the application.
+
+ * Api/qwebkitversion.h:
+
+2010-04-21 Yi Shen <yi.4.shen@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Check the request empty or not in ChromeClientQt::createWindow()
+ https://bugs.webkit.org/show_bug.cgi?id=37821
+
+ * WebCoreSupport/ChromeClientQt.cpp:
+ (WebCore::ChromeClientQt::createWindow):
+
+2010-04-22 John Pavan <john.pavan@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] inputMethodQuery returns coordinates in web page coordinates rather than in item coordinates.
+ https://bugs.webkit.org/show_bug.cgi?id=37163
+
+
+ QWebPage::inputMethodQuery is modified so that it
+ returns coordinates in the widget's coordinate system.
+ Tests are added for QGraphicsWebView and QWebView
+ to verify that this behavior is correct after the webpage
+ has been scrolled.
+
+ * Api/qwebpage.cpp:
+ (QWebPage::inputMethodQuery):
+ * tests/qgraphicswebview/tst_qgraphicswebview.cpp:
+ (tst_QGraphicsWebView::microFocusCoordinates):
+ * tests/qwebview/tst_qwebview.cpp:
+ (tst_QWebView::microFocusCoordinates):
+
+2010-04-21 No'am Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Simon Fraser.
+
+ [Qt] Fix or remove the runtime flag for accelerated compositing.
+ https://bugs.webkit.org/show_bug.cgi?id=37313
+
+ This lets the QWebPageClient "veto" the settings value for accelerated compositing.
+ In this case we allow accelerated compositing only on QGraphicsWebView.
+
+ * Api/qgraphicswebview.cpp:
+ (QGraphicsWebViewPrivate::allowsAcceleratedCompositing):
+ * WebCoreSupport/ChromeClientQt.cpp:
+ (WebCore::ChromeClientQt::allowsAcceleratedCompositing):
+ * WebCoreSupport/ChromeClientQt.h:
+
+2010-04-22 Robert Hogan <robert@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix createPlugin() tests in tst_qwebpage to match behaviour of Qt plugins
+ when PluginsEnabled is false.
+
+ tst_qwebpage should have been updated as part of r56662.
+ (See https://bugs.webkit.org/show_bug.cgi?id=32196)
+
+ Updated documentation of QWebPage::createPlugin and QWebSetting::pluginsEnabled
+ to match the new behaviour.
+
+ * Api/qwebpage.cpp: Update docs.
+ * Api/qwebsettings.cpp: Update docs.
+ * tests/qwebpage/tst_qwebpage.cpp:
+ (createPlugin):
+ (tst_QWebPage::createPluginWithPluginsEnabled):
+ (tst_QWebPage::createPluginWithPluginsDisabled):
+
+2010-04-09 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Kenneth Christiansen and Tor Arne Vestbø.
+
+ REGRESSION(r56552): Broken scrollbars size
+ https://bugs.webkit.org/show_bug.cgi?id=36853
+
+ The regression was caused by r56552, which introduced a fix to bug
+ webkit.org/b/21300. The bug solved an issue with the resize handle on mac,
+ but did it in a way that affected all Qt platforms and thus broke the behavior
+ on non-mac platforms.
+
+ This patch makes the mac specific change ifdef'ed and only applied for the mac
+ platform.
+
+ * WebCoreSupport/ChromeClientQt.cpp:
+ (WebCore::ChromeClientQt::windowResizerRect):
+
+2010-04-19 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix compilation against namespaced Qt.
+
+ * WebCoreSupport/ChromeClientQt.h:
+ * WebCoreSupport/QtFallbackWebPopup.h:
+
+2010-04-14 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Changing view mode names due to specification changes
+ https://bugs.webkit.org/show_bug.cgi?id=37615
+
+ test: fast/media/media-feature-wgt-view-mode.html
+
+ specification: http://dev.w3.org/2006/waf/widgets-vmmf/
+
+ * WebCoreSupport/ChromeClientQt.cpp:
+ (WebCore::ChromeClientQt::isWindowed):
+ (WebCore::ChromeClientQt::isFullscreen):
+ (WebCore::ChromeClientQt::isMaximized):
+ (WebCore::ChromeClientQt::isMinimized):
+ * WebCoreSupport/ChromeClientQt.h:
+
+2010-04-14 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Rendering artifacts on Qt plugins when scrolling the page
+ https://bugs.webkit.org/show_bug.cgi?id=37152
+
+ Because we no longer repaint the entire viewport on scroll,
+ we must trigger a repaint of QtPluginWidgets when their geometry changes.
+
+ * WebCoreSupport/FrameLoaderClientQt.cpp:
+
2010-04-09 Yi Shen <yi.4.shen@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
@@ -10,6 +237,38 @@
* tests/qwebframe/tst_qwebframe.cpp:
+2010-04-15 Bruno Schmidt <bruno.schmidt@gmail.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Null QObjects properties cause Segmentation Fault
+ https://bugs.webkit.org/show_bug.cgi?id=34730
+
+ QObjects exported to the QWebkit javascript with properties that are
+ a null "QObject*" cause Segmentation Fault.
+
+ If an QObject is added to the javascript context and it contains
+ properties of the type QObject* with NULL value, calling the property
+ causes Segmentation Fault.
+
+ Follow the tests for the corrections done over WebCore.
+
+ * tests/qwebframe/tst_qwebframe.cpp:
+ (MyQObject::MyQObject): init the field m_objectStar
+ (MyQObject::objectStarProperty): read the Object* prop
+ (MyQObject::setObjectStarProperty): write the Object* prop
+ (tst_QWebFrame::getSetStaticProperty): new tests for the new prop
+
+2010-04-15 Kent Hansen <kent.hansen@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Mark QWebFrame::overloadedSlots autotest as expected failure
+
+ https://bugs.webkit.org/show_bug.cgi?id=37319
+
+ * tests/qwebframe/tst_qwebframe.cpp:
+
2010-04-09 Tasuku Suzuki <tasuku.suzuki@nokia.com>
Reviewed by Simon Hausmann.
diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
index 45986b3..9eb10d6 100644
--- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
@@ -165,7 +165,13 @@ Page* ChromeClientQt::createWindow(Frame*, const FrameLoadRequest& request, cons
QWebPage *newPage = m_webPage->createWindow(features.dialog ? QWebPage::WebModalDialog : QWebPage::WebBrowserWindow);
if (!newPage)
return 0;
- newPage->mainFrame()->load(request.resourceRequest().url());
+
+ // A call to QWebPage::mainFrame() implicitly creates the main frame.
+ // Make sure it exists, as WebCore expects it when returning from this call.
+ QWebFrame* mainFrame = newPage->mainFrame();
+
+ if (!request.isEmpty())
+ mainFrame->load(request.resourceRequest().url());
return newPage->d->page;
}
@@ -330,6 +336,7 @@ bool ChromeClientQt::tabsToLinks() const
IntRect ChromeClientQt::windowResizerRect() const
{
+#if defined(Q_WS_MAC)
if (!m_webPage)
return IntRect();
@@ -359,6 +366,9 @@ IntRect ChromeClientQt::windowResizerRect() const
QRect resizeCornerRect = QRect(resizeCornerTopLeft, QSize(scollbarThickness, scollbarThickness));
return resizeCornerRect.intersected(pageClient->geometryRelativeToOwnerWidget());
+#else
+ return IntRect();
+#endif
}
void ChromeClientQt::invalidateWindow(const IntRect&, bool)
@@ -542,6 +552,12 @@ void ChromeClientQt::scheduleCompositingLayerSync()
if (platformPageClient())
platformPageClient()->markForSync(true);
}
+
+bool ChromeClientQt::allowsAcceleratedCompositing() const
+{
+ return (platformPageClient() && platformPageClient()->allowsAcceleratedCompositing());
+}
+
#endif
QtAbstractWebPopup* ChromeClientQt::createSelectPopup()
@@ -554,9 +570,9 @@ QtAbstractWebPopup* ChromeClientQt::createSelectPopup()
}
#if ENABLE(WIDGETS_10_SUPPORT)
-bool ChromeClientQt::isDocked()
+bool ChromeClientQt::isWindowed()
{
- return m_webPage->d->viewMode == "mini";
+ return m_webPage->d->viewMode == "windowed";
}
bool ChromeClientQt::isFloating()
@@ -564,14 +580,19 @@ bool ChromeClientQt::isFloating()
return m_webPage->d->viewMode == "floating";
}
-bool ChromeClientQt::isApplication()
+bool ChromeClientQt::isFullscreen()
{
- return m_webPage->d->viewMode == "application";
+ return m_webPage->d->viewMode == "fullscreen";
}
-bool ChromeClientQt::isFullscreen()
+bool ChromeClientQt::isMaximized()
{
- return m_webPage->d->viewMode == "fullscreen";
+ return m_webPage->d->viewMode == "maximized";
+}
+
+bool ChromeClientQt::isMinimized()
+{
+ return m_webPage->d->viewMode == "minimized";
}
#endif
diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.h b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.h
index f8f217b..f0a7c8c 100644
--- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.h
+++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.h
@@ -137,6 +137,7 @@ namespace WebCore {
virtual void attachRootGraphicsLayer(Frame*, GraphicsLayer*);
virtual void setNeedsOneShotDrawingSynchronization();
virtual void scheduleCompositingLayerSync();
+ virtual bool allowsAcceleratedCompositing() const;
#endif
#if ENABLE(TOUCH_EVENTS)
@@ -158,10 +159,11 @@ namespace WebCore {
virtual void cancelGeolocationPermissionRequestForFrame(Frame*) { }
#if ENABLE(WIDGETS_10_SUPPORT)
- virtual bool isDocked();
+ virtual bool isWindowed();
virtual bool isFloating();
- virtual bool isApplication();
virtual bool isFullscreen();
+ virtual bool isMaximized();
+ virtual bool isMinimized();
#endif
QtAbstractWebPopup* createSelectPopup();
diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
index 5b1dd30..4ad008b 100644
--- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
@@ -1176,6 +1176,8 @@ public:
platformWidget()->setMask(clipRegion);
handleVisibility();
+
+ platformWidget()->update();
}
virtual void show()
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/benchmarks/loading/loading.pro b/src/3rdparty/webkit/WebKit/qt/tests/benchmarks/loading/loading.pro
index 258930c..99c64a5 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/benchmarks/loading/loading.pro
+++ b/src/3rdparty/webkit/WebKit/qt/tests/benchmarks/loading/loading.pro
@@ -1,3 +1,3 @@
isEmpty(OUTPUT_DIR): OUTPUT_DIR = ../../../../..
-exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
include(../../tests.pri)
+exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/benchmarks/painting/painting.pro b/src/3rdparty/webkit/WebKit/qt/tests/benchmarks/painting/painting.pro
index 258930c..99c64a5 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/benchmarks/painting/painting.pro
+++ b/src/3rdparty/webkit/WebKit/qt/tests/benchmarks/painting/painting.pro
@@ -1,3 +1,3 @@
isEmpty(OUTPUT_DIR): OUTPUT_DIR = ../../../../..
-exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
include(../../tests.pri)
+exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/hybridPixmap/widget.ui b/src/3rdparty/webkit/WebKit/qt/tests/hybridPixmap/widget.ui
index ae5e0b5..272d6a7 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/hybridPixmap/widget.ui
+++ b/src/3rdparty/webkit/WebKit/qt/tests/hybridPixmap/widget.ui
@@ -18,7 +18,7 @@
<widget class="WebView" name="webView" native="true">
<property name="url" stdset="0">
<url>
- <string>about:blank</string>
+ <string notr="true">about:blank</string>
</url>
</property>
</widget>
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qgraphicswebview/qgraphicswebview.pro b/src/3rdparty/webkit/WebKit/qt/tests/qgraphicswebview/qgraphicswebview.pro
index 6777615..e915d60 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qgraphicswebview/qgraphicswebview.pro
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qgraphicswebview/qgraphicswebview.pro
@@ -1,3 +1,3 @@
isEmpty(OUTPUT_DIR): OUTPUT_DIR = ../../../..
-exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
include(../tests.pri)
+exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qgraphicswebview/tst_qgraphicswebview.cpp b/src/3rdparty/webkit/WebKit/qt/tests/qgraphicswebview/tst_qgraphicswebview.cpp
index 657e09f..14f5820 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qgraphicswebview/tst_qgraphicswebview.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qgraphicswebview/tst_qgraphicswebview.cpp
@@ -31,6 +31,7 @@ class tst_QGraphicsWebView : public QObject
private slots:
void qgraphicswebview();
void crashOnViewlessWebPages();
+ void microFocusCoordinates();
};
void tst_QGraphicsWebView::qgraphicswebview()
@@ -102,6 +103,40 @@ void tst_QGraphicsWebView::crashOnViewlessWebPages()
QVERIFY(waitForSignal(page, SIGNAL(loadFinished(bool))));
}
+void tst_QGraphicsWebView::microFocusCoordinates()
+{
+ QWebPage* page = new QWebPage;
+ QGraphicsWebView* webView = new QGraphicsWebView;
+ webView->setPage( page );
+ QGraphicsView* view = new QGraphicsView;
+ QGraphicsScene* scene = new QGraphicsScene(view);
+ view->setScene(scene);
+ scene->addItem(webView);
+ view->setGeometry(QRect(0,0,500,500));
+
+ page->mainFrame()->setHtml("<html><body>" \
+ "<input type='text' id='input1' style='font--family: serif' value='' maxlength='20'/><br>" \
+ "<canvas id='canvas1' width='500' height='500'/>" \
+ "<input type='password'/><br>" \
+ "<canvas id='canvas2' width='500' height='500'/>" \
+ "</body></html>");
+
+ page->mainFrame()->setFocus();
+
+ QVariant initialMicroFocus = page->inputMethodQuery(Qt::ImMicroFocus);
+ QVERIFY(initialMicroFocus.isValid());
+
+ page->mainFrame()->scroll(0,300);
+
+ QVariant currentMicroFocus = page->inputMethodQuery(Qt::ImMicroFocus);
+ QVERIFY(currentMicroFocus.isValid());
+
+ QCOMPARE(initialMicroFocus.toRect().translated(QPoint(0,-300)), currentMicroFocus.toRect());
+
+ delete view;
+}
+
+
QTEST_MAIN(tst_QGraphicsWebView)
#include "tst_qgraphicswebview.moc"
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebelement/qwebelement.pro b/src/3rdparty/webkit/WebKit/qt/tests/qwebelement/qwebelement.pro
index 6777615..e915d60 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebelement/qwebelement.pro
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebelement/qwebelement.pro
@@ -1,3 +1,3 @@
isEmpty(OUTPUT_DIR): OUTPUT_DIR = ../../../..
-exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
include(../tests.pri)
+exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/qwebframe.pro b/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/qwebframe.pro
index 6777615..e915d60 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/qwebframe.pro
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/qwebframe.pro
@@ -1,3 +1,3 @@
isEmpty(OUTPUT_DIR): OUTPUT_DIR = ../../../..
-exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
include(../tests.pri)
+exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp b/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp
index ca14f6c..bea7a67 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp
@@ -57,6 +57,7 @@ class MyQObject : public QObject
Q_PROPERTY(int intProperty READ intProperty WRITE setIntProperty)
Q_PROPERTY(QVariant variantProperty READ variantProperty WRITE setVariantProperty)
Q_PROPERTY(QVariantList variantListProperty READ variantListProperty WRITE setVariantListProperty)
+ Q_PROPERTY(QVariantMap variantMapProperty READ variantMapProperty WRITE setVariantMapProperty)
Q_PROPERTY(QString stringProperty READ stringProperty WRITE setStringProperty)
Q_PROPERTY(QStringList stringListProperty READ stringListProperty WRITE setStringListProperty)
Q_PROPERTY(QByteArray byteArrayProperty READ byteArrayProperty WRITE setByteArrayProperty)
@@ -67,6 +68,7 @@ class MyQObject : public QObject
Q_PROPERTY(QKeySequence shortcut READ shortcut WRITE setShortcut)
Q_PROPERTY(CustomType propWithCustomType READ propWithCustomType WRITE setPropWithCustomType)
Q_PROPERTY(QWebElement webElementProperty READ webElementProperty WRITE setWebElementProperty)
+ Q_PROPERTY(QObject* objectStarProperty READ objectStarProperty WRITE setObjectStarProperty)
Q_ENUMS(Policy Strategy)
Q_FLAGS(Ability)
@@ -104,7 +106,13 @@ public:
m_hiddenValue(456.0),
m_writeOnlyValue(789),
m_readOnlyValue(987),
- m_qtFunctionInvoked(-1) { }
+ m_objectStar(0),
+ m_qtFunctionInvoked(-1)
+ {
+ m_variantMapValue.insert("a", QVariant(123));
+ m_variantMapValue.insert("b", QVariant(QLatin1String("foo")));
+ m_variantMapValue.insert("c", QVariant::fromValue<QObject*>(this));
+ }
~MyQObject() { }
@@ -129,6 +137,13 @@ public:
m_variantListValue = value;
}
+ QVariantMap variantMapProperty() const {
+ return m_variantMapValue;
+ }
+ void setVariantMapProperty(const QVariantMap &value) {
+ m_variantMapValue = value;
+ }
+
QString stringProperty() const {
return m_stringValue;
}
@@ -197,6 +212,15 @@ public:
m_customType = c;
}
+ QObject* objectStarProperty() const {
+ return m_objectStar;
+ }
+
+ void setObjectStarProperty(QObject* object) {
+ m_objectStar = object;
+ }
+
+
int qtFunctionInvoked() const {
return m_qtFunctionInvoked;
}
@@ -472,6 +496,7 @@ private:
int m_intValue;
QVariant m_variantValue;
QVariantList m_variantListValue;
+ QVariantMap m_variantMapValue;
QString m_stringValue;
QStringList m_stringListValue;
QByteArray m_byteArrayValue;
@@ -482,6 +507,7 @@ private:
QKeySequence m_shortcut;
QWebElement m_webElement;
CustomType m_customType;
+ QObject* m_objectStar;
int m_qtFunctionInvoked;
QVariantList m_actuals;
};
@@ -747,6 +773,21 @@ void tst_QWebFrame::getSetStaticProperty()
{
QString type;
+ QVariant ret = evalJSV("myObject.variantMapProperty", type);
+ QCOMPARE(type, sObject);
+ QCOMPARE(ret.type(), QVariant::Map);
+ QVariantMap vm = ret.value<QVariantMap>();
+ QCOMPARE(vm.size(), 3);
+ QCOMPARE(vm.value("a").toInt(), 123);
+ QCOMPARE(vm.value("b").toString(), QLatin1String("foo"));
+ QCOMPARE(vm.value("c").value<QObject*>(), m_myObject);
+ }
+ QCOMPARE(evalJS("myObject.variantMapProperty.a === 123"), sTrue);
+ QCOMPARE(evalJS("myObject.variantMapProperty.b === 'foo'"), sTrue);
+ QCOMPARE(evalJS("myObject.variantMapProperty.c.variantMapProperty.b === 'foo'"), sTrue);
+
+ {
+ QString type;
QVariant ret = evalJSV("myObject.stringListProperty", type);
QCOMPARE(type, sArray);
QCOMPARE(ret.type(), QVariant::List);
@@ -878,6 +919,21 @@ void tst_QWebFrame::getSetStaticProperty()
QCOMPARE(evalJS("myObject.readOnlyProperty = 654;"
"myObject.readOnlyProperty == 987"), sTrue);
QCOMPARE(m_myObject->readOnlyProperty(), 987);
+
+ // QObject* property
+ m_myObject->setObjectStarProperty(0);
+ QCOMPARE(m_myObject->objectStarProperty(), (QObject*)0);
+ QCOMPARE(evalJS("myObject.objectStarProperty == null"), sTrue);
+ QCOMPARE(evalJS("typeof myObject.objectStarProperty"), sObject);
+ QCOMPARE(evalJS("Boolean(myObject.objectStarProperty)"), sFalse);
+ QCOMPARE(evalJS("String(myObject.objectStarProperty) == 'null'"), sTrue);
+ QCOMPARE(evalJS("myObject.objectStarProperty.objectStarProperty"),
+ sUndefined);
+ m_myObject->setObjectStarProperty(this);
+ QCOMPARE(evalJS("myObject.objectStarProperty != null"), sTrue);
+ QCOMPARE(evalJS("typeof myObject.objectStarProperty"), sObject);
+ QCOMPARE(evalJS("Boolean(myObject.objectStarProperty)"), sTrue);
+ QCOMPARE(evalJS("String(myObject.objectStarProperty) != 'null'"), sTrue);
}
void tst_QWebFrame::getSetDynamicProperty()
@@ -2841,7 +2897,7 @@ void tst_QWebFrame::evaluateWillCauseRepaint()
#if QT_VERSION >= QT_VERSION_CHECK(4, 6, 0)
QTest::qWaitForWindowShown(&view);
#else
- QTest::qWait(2000);
+ QTest::qWait(2000);
#endif
view.page()->mainFrame()->evaluateJavaScript(
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebhistory/qwebhistory.pro b/src/3rdparty/webkit/WebKit/qt/tests/qwebhistory/qwebhistory.pro
index 6777615..e915d60 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebhistory/qwebhistory.pro
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebhistory/qwebhistory.pro
@@ -1,3 +1,3 @@
isEmpty(OUTPUT_DIR): OUTPUT_DIR = ../../../..
-exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
include(../tests.pri)
+exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebhistoryinterface/qwebhistoryinterface.pro b/src/3rdparty/webkit/WebKit/qt/tests/qwebhistoryinterface/qwebhistoryinterface.pro
index 6777615..e915d60 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebhistoryinterface/qwebhistoryinterface.pro
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebhistoryinterface/qwebhistoryinterface.pro
@@ -1,3 +1,3 @@
isEmpty(OUTPUT_DIR): OUTPUT_DIR = ../../../..
-exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
include(../tests.pri)
+exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebinspector/qwebinspector.pro b/src/3rdparty/webkit/WebKit/qt/tests/qwebinspector/qwebinspector.pro
index 6777615..e915d60 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebinspector/qwebinspector.pro
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebinspector/qwebinspector.pro
@@ -1,3 +1,3 @@
isEmpty(OUTPUT_DIR): OUTPUT_DIR = ../../../..
-exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
include(../tests.pri)
+exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/qwebpage.pro b/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/qwebpage.pro
index 6777615..e915d60 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/qwebpage.pro
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/qwebpage.pro
@@ -1,3 +1,3 @@
isEmpty(OUTPUT_DIR): OUTPUT_DIR = ../../../..
-exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
include(../tests.pri)
+exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp b/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
index 1f97e69..85d4b60 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
@@ -80,7 +80,8 @@ private slots:
void modified();
void contextMenuCrash();
void database();
- void createPlugin();
+ void createPluginWithPluginsEnabled();
+ void createPluginWithPluginsDisabled();
void destroyPlugin_data();
void destroyPlugin();
void createViewlessPlugin_data();
@@ -518,27 +519,20 @@ protected:
}
};
-void tst_QWebPage::createPlugin()
+static void createPlugin(QWebView *view)
{
- QSignalSpy loadSpy(m_view, SIGNAL(loadFinished(bool)));
+ QSignalSpy loadSpy(view, SIGNAL(loadFinished(bool)));
- PluginPage* newPage = new PluginPage(m_view);
- m_view->setPage(newPage);
+ PluginPage* newPage = new PluginPage(view);
+ view->setPage(newPage);
- // plugins not enabled by default, so the plugin shouldn't be loaded
- m_view->setHtml(QString("<html><body><object type='application/x-qt-plugin' classid='pushbutton' id='mybutton'/></body></html>"));
+ // type has to be application/x-qt-plugin
+ view->setHtml(QString("<html><body><object type='application/x-foobarbaz' classid='pushbutton' id='mybutton'/></body></html>"));
QTRY_COMPARE(loadSpy.count(), 1);
QCOMPARE(newPage->calls.count(), 0);
- m_view->settings()->setAttribute(QWebSettings::PluginsEnabled, true);
-
- // type has to be application/x-qt-plugin
- m_view->setHtml(QString("<html><body><object type='application/x-foobarbaz' classid='pushbutton' id='mybutton'/></body></html>"));
+ view->setHtml(QString("<html><body><object type='application/x-qt-plugin' classid='pushbutton' id='mybutton'/></body></html>"));
QTRY_COMPARE(loadSpy.count(), 2);
- QCOMPARE(newPage->calls.count(), 0);
-
- m_view->setHtml(QString("<html><body><object type='application/x-qt-plugin' classid='pushbutton' id='mybutton'/></body></html>"));
- QTRY_COMPARE(loadSpy.count(), 3);
QCOMPARE(newPage->calls.count(), 1);
{
PluginPage::CallInfo ci = newPage->calls.takeFirst();
@@ -569,11 +563,11 @@ void tst_QWebPage::createPlugin()
QCOMPARE(newPage->mainFrame()->evaluateJavaScript("mybutton.clicked.toString()").toString(),
QString::fromLatin1("function clicked() {\n [native code]\n}"));
- m_view->setHtml(QString("<html><body><table>"
+ view->setHtml(QString("<html><body><table>"
"<tr><object type='application/x-qt-plugin' classid='lineedit' id='myedit'/></tr>"
"<tr><object type='application/x-qt-plugin' classid='pushbutton' id='mybutton'/></tr>"
"</table></body></html>"), QUrl("http://foo.bar.baz"));
- QTRY_COMPARE(loadSpy.count(), 4);
+ QTRY_COMPARE(loadSpy.count(), 3);
QCOMPARE(newPage->calls.count(), 2);
{
PluginPage::CallInfo ci = newPage->calls.takeFirst();
@@ -605,14 +599,22 @@ void tst_QWebPage::createPlugin()
QVERIFY(ci.returnValue != 0);
QVERIFY(ci.returnValue->inherits("QPushButton"));
}
+}
- m_view->settings()->setAttribute(QWebSettings::PluginsEnabled, false);
-
- m_view->setHtml(QString("<html><body><object type='application/x-qt-plugin' classid='pushbutton' id='mybutton'/></body></html>"));
- QTRY_COMPARE(loadSpy.count(), 5);
- QCOMPARE(newPage->calls.count(), 0);
+void tst_QWebPage::createPluginWithPluginsEnabled()
+{
+ m_view->settings()->setAttribute(QWebSettings::PluginsEnabled, true);
+ createPlugin(m_view);
}
+void tst_QWebPage::createPluginWithPluginsDisabled()
+{
+ // Qt Plugins should be loaded by QtWebKit even when PluginsEnabled is
+ // false. The client decides whether a Qt plugin is enabled or not when
+ // it decides whether or not to instantiate it.
+ m_view->settings()->setAttribute(QWebSettings::PluginsEnabled, false);
+ createPlugin(m_view);
+}
// Standard base class for template PluginTracerPage. In tests it is used as interface.
class PluginCounterPage : public QWebPage {
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebplugindatabase/qwebplugindatabase.pro b/src/3rdparty/webkit/WebKit/qt/tests/qwebplugindatabase/qwebplugindatabase.pro
index 6777615..e915d60 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebplugindatabase/qwebplugindatabase.pro
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebplugindatabase/qwebplugindatabase.pro
@@ -1,3 +1,3 @@
isEmpty(OUTPUT_DIR): OUTPUT_DIR = ../../../..
-exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
include(../tests.pri)
+exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebview/qwebview.pro b/src/3rdparty/webkit/WebKit/qt/tests/qwebview/qwebview.pro
index 6777615..e915d60 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebview/qwebview.pro
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebview/qwebview.pro
@@ -1,3 +1,3 @@
isEmpty(OUTPUT_DIR): OUTPUT_DIR = ../../../..
-exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
include(../tests.pri)
+exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebview/tst_qwebview.cpp b/src/3rdparty/webkit/WebKit/qt/tests/qwebview/tst_qwebview.cpp
index ebcf4bb..100399e 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebview/tst_qwebview.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebview/tst_qwebview.cpp
@@ -48,6 +48,7 @@ private slots:
void reusePage_data();
void reusePage();
+ void microFocusCoordinates();
void crashTests();
};
@@ -203,6 +204,31 @@ void tst_QWebView::crashTests()
QTRY_VERIFY(tester.m_executed); // If fail it means that the test wasn't executed.
}
+void tst_QWebView::microFocusCoordinates()
+{
+ QWebPage* page = new QWebPage;
+ QWebView* webView = new QWebView;
+ webView->setPage( page );
+
+ page->mainFrame()->setHtml("<html><body>" \
+ "<input type='text' id='input1' style='font--family: serif' value='' maxlength='20'/><br>" \
+ "<canvas id='canvas1' width='500' height='500'/>" \
+ "<input type='password'/><br>" \
+ "<canvas id='canvas2' width='500' height='500'/>" \
+ "</body></html>");
+
+ page->mainFrame()->setFocus();
+
+ QVariant initialMicroFocus = page->inputMethodQuery(Qt::ImMicroFocus);
+ QVERIFY(initialMicroFocus.isValid());
+
+ page->mainFrame()->scroll(0,50);
+
+ QVariant currentMicroFocus = page->inputMethodQuery(Qt::ImMicroFocus);
+ QVERIFY(currentMicroFocus.isValid());
+
+ QCOMPARE(initialMicroFocus.toRect().translated(QPoint(0,-50)), currentMicroFocus.toRect());
+}
QTEST_MAIN(tst_QWebView)
#include "tst_qwebview.moc"
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/tests.pri b/src/3rdparty/webkit/WebKit/qt/tests/tests.pri
index 0a8f98c..525e662 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/tests.pri
+++ b/src/3rdparty/webkit/WebKit/qt/tests/tests.pri
@@ -2,6 +2,7 @@ TEMPLATE = app
CONFIG -= app_bundle
VPATH += $$_PRO_FILE_PWD_
+# Add the tst_ prefix, In QTDIR_build it's done by qttest_p4.prf
!CONFIG(QTDIR_build):TARGET = tst_$$TARGET
SOURCES += $${TARGET}.cpp
INCLUDEPATH += \
diff --git a/src/corelib/kernel/qeventdispatcher_symbian.cpp b/src/corelib/kernel/qeventdispatcher_symbian.cpp
index 4566ec0..a6d486e 100644
--- a/src/corelib/kernel/qeventdispatcher_symbian.cpp
+++ b/src/corelib/kernel/qeventdispatcher_symbian.cpp
@@ -642,8 +642,8 @@ public:
QIdleDetectorThread()
: m_state(STATE_RUN), m_stop(false)
{
- qt_symbian_throwIfError(m_lock.CreateLocal());
- TInt err = m_idleDetectorThread.Create(KNullDesC(), &idleDetectorThreadFunc, 1024, &User::Allocator(), this);
+ qt_symbian_throwIfError(m_lock.CreateLocal(0));
+ TInt err = m_idleDetectorThread.Create(KNullDesC(), &idleDetectorThreadFunc, 1024, NULL, this);
if (err != KErrNone)
m_lock.Close();
qt_symbian_throwIfError(err);
@@ -694,7 +694,7 @@ private:
enum IdleStates {STATE_KICKED, STATE_RUN} m_state;
bool m_stop;
RThread m_idleDetectorThread;
- RFastLock m_lock;
+ RSemaphore m_lock;
};
Q_GLOBAL_STATIC(QIdleDetectorThread, idleDetectorThread);
diff --git a/src/corelib/tools/qbytearray.cpp b/src/corelib/tools/qbytearray.cpp
index c5f70b0..29a7263 100644
--- a/src/corelib/tools/qbytearray.cpp
+++ b/src/corelib/tools/qbytearray.cpp
@@ -3814,7 +3814,7 @@ QByteArray QByteArray::number(double n, char f, int prec)
accepting a \c{const char *} expected to be '\\0'-terminated will
fail.
- \sa data(), constData()
+ \sa setRawData(), data(), constData()
*/
QByteArray QByteArray::fromRawData(const char *data, int size)
@@ -3834,6 +3834,37 @@ QByteArray QByteArray::fromRawData(const char *data, int size)
}
/*!
+ \since 4.7
+
+ Resets the QByteArray to use the first \a size bytes of the
+ \a data array. The bytes are \e not copied. The QByteArray will
+ contain the \a data pointer. The caller guarantees that \a data
+ will not be deleted or modified as long as this QByteArray and any
+ copies of it exist that have not been modified.
+
+ This function can be used instead of fromRawData() to re-use
+ existings QByteArray objects to save memory re-allocations.
+
+ \sa fromRawData(), data(), constData()
+*/
+QByteArray &QByteArray::setRawData(const char *data, uint size)
+{
+ if (d->ref != 1 || d->alloc) {
+ *this = fromRawData(data, size);
+ } else {
+ if (data) {
+ d->data = const_cast<char *>(data);
+ } else {
+ d->data = d->array;
+ size = 0;
+ }
+ d->alloc = d->size = size;
+ *d->array = '\0';
+ }
+ return *this;
+}
+
+/*!
Returns a decoded copy of the Base64 array \a base64. Input is not checked
for validity; invalid characters in the input are skipped, enabling the
decoding process to continue with subsequent characters.
@@ -4228,12 +4259,6 @@ QByteArray QByteArray::toPercentEncoding(const QByteArray &exclude, const QByteA
*/
/*!
- \fn QByteArray& QByteArray::setRawData(const char *a, uint n)
-
- Use fromRawData() instead.
-*/
-
-/*!
\fn void QByteArray::resetRawData(const char *data, uint n)
Use clear() instead.
diff --git a/src/corelib/tools/qbytearray.h b/src/corelib/tools/qbytearray.h
index 0b77512..a3fe3f5 100644
--- a/src/corelib/tools/qbytearray.h
+++ b/src/corelib/tools/qbytearray.h
@@ -299,6 +299,7 @@ public:
QByteArray &setNum(qulonglong, int base = 10);
QByteArray &setNum(float, char f = 'g', int prec = 6);
QByteArray &setNum(double, char f = 'g', int prec = 6);
+ QByteArray &setRawData(const char *a, uint n); // ### Qt 5: use an int
static QByteArray number(int, int base = 10);
static QByteArray number(uint, int base = 10);
@@ -343,8 +344,6 @@ public:
inline QT3_SUPPORT QByteArray& duplicate(const QByteArray& a) { *this = a; return *this; }
inline QT3_SUPPORT QByteArray& duplicate(const char *a, uint n)
{ *this = QByteArray(a, n); return *this; }
- inline QT3_SUPPORT QByteArray& setRawData(const char *a, uint n)
- { *this = fromRawData(a, n); return *this; }
inline QT3_SUPPORT void resetRawData(const char *, uint) { clear(); }
inline QT3_SUPPORT QByteArray lower() const { return toLower(); }
inline QT3_SUPPORT QByteArray upper() const { return toUpper(); }
diff --git a/src/corelib/tools/qscopedpointer.cpp b/src/corelib/tools/qscopedpointer.cpp
index e7dd769..b06112d 100644
--- a/src/corelib/tools/qscopedpointer.cpp
+++ b/src/corelib/tools/qscopedpointer.cpp
@@ -57,7 +57,7 @@ QT_BEGIN_NAMESPACE
called resource acquisition is initialization(RAII).
QScopedPointer guarantees that the object pointed to will get deleted when
- the current scope dissapears.
+ the current scope disappears.
Consider this function which does heap allocations, and have various exit points:
@@ -227,7 +227,7 @@ QT_BEGIN_NAMESPACE
/*!
\class QScopedArrayPointer
-
+
\brief The QScopedArrayPointer class stores a pointer to a
dynamically allocated array of objects, and deletes it upon
destruction.
diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp
index 2f12b80..0169b20 100644
--- a/src/corelib/tools/qstring.cpp
+++ b/src/corelib/tools/qstring.cpp
@@ -7056,7 +7056,7 @@ void QString::updateProperties() const
'\\0'-terminated string (although utf16() does, at the cost of
copying the raw data).
- \sa fromUtf16()
+ \sa fromUtf16(), setRawData()
*/
QString QString::fromRawData(const QChar *unicode, int size)
{
@@ -7075,6 +7075,44 @@ QString QString::fromRawData(const QChar *unicode, int size)
return QString(x, 0);
}
+/*!
+ \since 4.7
+
+ Resets the QString to use the first \a size Unicode characters
+ in the array \a unicode. The data in \a unicode is \e not
+ copied. The caller must be able to guarantee that \a unicode will
+ not be deleted or modified as long as the QString (or an
+ unmodified copy of it) exists.
+
+ This function can be used instead of fromRawData() to re-use
+ existings QString objects to save memory re-allocations.
+
+ \sa fromRawData()
+*/
+QString &QString::setRawData(const QChar *unicode, int size)
+{
+ if (d->ref != 1 || d->alloc) {
+ *this = fromRawData(unicode, size);
+ } else {
+#ifdef QT3_SUPPORT
+ if (d->asciiCache) {
+ Q_ASSERT(asciiCache);
+ asciiCache->remove(d);
+ }
+#endif
+ if (unicode) {
+ d->data = (ushort *)unicode;
+ } else {
+ d->data = d->array;
+ size = 0;
+ }
+ d->alloc = d->size = size;
+ *d->array = '\0';
+ d->clean = d->asciiCache = d->simpletext = d->righttoleft = d->capacity = 0;
+ }
+ return *this;
+}
+
/*! \class QLatin1String
\brief The QLatin1String class provides a thin wrapper around an US-ASCII/Latin-1 encoded string literal.
diff --git a/src/corelib/tools/qstring.h b/src/corelib/tools/qstring.h
index ea12c2f..a1c4e77 100644
--- a/src/corelib/tools/qstring.h
+++ b/src/corelib/tools/qstring.h
@@ -343,6 +343,7 @@ public:
int toWCharArray(wchar_t *array) const;
static QString fromWCharArray(const wchar_t *, int size = -1);
+ QString &setRawData(const QChar *unicode, int size);
QString &setUnicode(const QChar *unicode, int size);
inline QString &setUtf16(const ushort *utf16, int size);
diff --git a/src/dbus/qdbusinterface.cpp b/src/dbus/qdbusinterface.cpp
index 7cc43ed..b989cab 100644
--- a/src/dbus/qdbusinterface.cpp
+++ b/src/dbus/qdbusinterface.cpp
@@ -260,7 +260,7 @@ void *QDBusInterface::qt_metacast(const char *_clname)
int QDBusInterface::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QDBusAbstractInterface::qt_metacall(_c, _id, _a);
- if (_id < 0 || !d_func()->isValid)
+ if (_id < 0 || !d_func()->isValid || !d_func()->metaObject)
return _id;
return d_func()->metacall(_c, _id, _a);
}
diff --git a/src/declarative/graphicsitems/qdeclarativeitem.cpp b/src/declarative/graphicsitems/qdeclarativeitem.cpp
index bc0c65e..096e4bf 100644
--- a/src/declarative/graphicsitems/qdeclarativeitem.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeitem.cpp
@@ -1268,11 +1268,6 @@ QDeclarativeKeysAttached *QDeclarativeKeysAttached::qmlAttachedProperties(QObjec
*/
/*!
- \property QDeclarativeItem::effect
- \internal
-*/
-
-/*!
\property QDeclarativeItem::focus
\internal
*/
diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp
index bd0f0d8..8cee021 100644
--- a/src/gui/graphicsview/qgraphicsscene.cpp
+++ b/src/gui/graphicsview/qgraphicsscene.cpp
@@ -820,13 +820,13 @@ void QGraphicsScenePrivate::setFocusItemHelper(QGraphicsItem *item,
#endif //QT_NO_IM
}
- if (item) {
+ if (item)
focusItem = item;
+ updateInputMethodSensitivityInViews();
+ if (item) {
QFocusEvent event(QEvent::FocusIn, focusReason);
sendEvent(item, &event);
}
-
- updateInputMethodSensitivityInViews();
}
/*!
diff --git a/src/gui/graphicsview/qgraphicswidget.cpp b/src/gui/graphicsview/qgraphicswidget.cpp
index bc8ccb01..06a44b7 100644
--- a/src/gui/graphicsview/qgraphicswidget.cpp
+++ b/src/gui/graphicsview/qgraphicswidget.cpp
@@ -324,11 +324,9 @@ void QGraphicsWidget::resize(const QSizeF &size)
*/
/*!
-
\fn QGraphicsWidget::geometryChanged()
- This signal gets emitted whenever the geometry of the item changes
- \internal
+ This signal gets emitted whenever the geometry is changed in setGeometry().
*/
/*!
@@ -408,12 +406,6 @@ void QGraphicsWidget::setGeometry(const QRectF &rect)
}
/*!
- \fn QGraphicsWidget::geometryChanged()
-
- This signal gets emitted whenever the geometry is changed in setGeometry().
-*/
-
-/*!
\fn QRectF QGraphicsWidget::rect() const
Returns the item's local rect as a QRectF. This function is equivalent
diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
index b42e0ab..610ac3c 100644
--- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
+++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
@@ -87,7 +87,7 @@ QCoeFepInputContext::QCoeFepInputContext(QObject *parent)
m_fepState->SetDefaultInputMode( EAknEditorTextInputMode );
m_fepState->SetPermittedInputModes( EAknEditorAllInputModes );
m_fepState->SetDefaultCase( EAknEditorLowerCase );
- m_fepState->SetPermittedCases( EAknEditorLowerCase|EAknEditorUpperCase );
+ m_fepState->SetPermittedCases( EAknEditorAllCaseModes );
m_fepState->SetSpecialCharacterTableResourceId(R_AVKON_SPECIAL_CHARACTER_TABLE_DIALOG);
m_fepState->SetNumericKeymap( EAknEditorStandardNumberModeKeymap );
}
diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp
index 5f7813b..f4c7304 100644
--- a/src/gui/kernel/qapplication_s60.cpp
+++ b/src/gui/kernel/qapplication_s60.cpp
@@ -440,7 +440,7 @@ void QSymbianControl::translateAdvancedPointerEvent(const TAdvancedPointerEvent
state |= Qt::TouchPointPrimary;
touchPoint.setState(state);
- QPointF screenPos = QPointF(event->iPosition.iX, event->iPosition.iY);
+ QPointF screenPos = qwidget->mapToGlobal(QPoint(event->iPosition.iX, event->iPosition.iY));
touchPoint.setScreenPos(screenPos);
touchPoint.setNormalizedPos(QPointF(screenPos.x() / screenGeometry.width(),
screenPos.y() / screenGeometry.height()));
diff --git a/src/gui/kernel/qpalette.cpp b/src/gui/kernel/qpalette.cpp
index 6e8c90e..98e8f66 100644
--- a/src/gui/kernel/qpalette.cpp
+++ b/src/gui/kernel/qpalette.cpp
@@ -795,7 +795,7 @@ const QBrush &QPalette::brush(ColorGroup gr, ColorRole cr) const
/*!
\fn void QPalette::setColor(ColorGroup group, ColorRole role, const QColor &color)
- Sets the brush in the specified color \a group, used for the given
+ Sets the color in the specified color \a group, used for the given
color \a role, to the specified solid \a color.
\sa setBrush() color() ColorRole
diff --git a/src/gui/kernel/qwidget_mac.mm b/src/gui/kernel/qwidget_mac.mm
index d7cd2eb..e29b755 100644
--- a/src/gui/kernel/qwidget_mac.mm
+++ b/src/gui/kernel/qwidget_mac.mm
@@ -2300,6 +2300,12 @@ void QWidgetPrivate::finishCreateWindow_sys_Cocoa(void * /*NSWindow * */ voidWin
if (q->testAttribute(Qt::WA_DropSiteRegistered))
registerDropSite(true);
transferChildren();
+
+ // Tell Cocoa explicit that we wan't the view to receive key events
+ // (regardless of focus policy) because this is how it works on other
+ // platforms (and in the carbon port):
+ if (!qApp->focusWidget())
+ [windowRef makeFirstResponder:nsview];
}
if (topExtra->posFromMove) {
diff --git a/src/gui/text/qfontdatabase_s60.cpp b/src/gui/text/qfontdatabase_s60.cpp
index 3ad0806..95774f9 100644
--- a/src/gui/text/qfontdatabase_s60.cpp
+++ b/src/gui/text/qfontdatabase_s60.cpp
@@ -98,18 +98,26 @@ public:
QSymbianFontDatabaseExtrasImplementation();
~QSymbianFontDatabaseExtrasImplementation();
- const QSymbianTypeFaceExtras *extras(const QString &typeface) const;
+ const QSymbianTypeFaceExtras *extras(const QString &typeface, bool bold, bool italic) const;
private:
RHeap* m_heap;
CFontStore *m_store;
COpenFontRasterizer *m_rasterizer;
- mutable QHash<QString, const QSymbianTypeFaceExtras *> m_extras;
+ mutable QList<const QSymbianTypeFaceExtras *> m_extras;
+ mutable QHash<QString, const QSymbianTypeFaceExtras *> m_extrasHash;
};
QSymbianFontDatabaseExtrasImplementation::QSymbianFontDatabaseExtrasImplementation()
{
- m_heap = User::ChunkHeap(NULL, 0x1000, 0x100000);
+ QStringList filters;
+ filters.append(QLatin1String("*.ttf"));
+ filters.append(QLatin1String("*.ccc"));
+ const QFileInfoList fontFiles = alternativeFilePaths(QLatin1String("resource\\Fonts"), filters);
+
+ const TInt heapMinLength = 0x1000;
+ const TInt heapMaxLength = qMax(0x20000 * fontFiles.count(), heapMinLength);
+ m_heap = User::ChunkHeap(NULL, heapMinLength, heapMaxLength);
QT_TRAP_THROWING(
m_store = CFontStore::NewL(m_heap);
m_rasterizer = COpenFontRasterizer::NewL(TUid::Uid(0x101F7F5E));
@@ -117,19 +125,16 @@ QSymbianFontDatabaseExtrasImplementation::QSymbianFontDatabaseExtrasImplementati
m_store->InstallRasterizerL(m_rasterizer);
CleanupStack::Pop(m_rasterizer););
- QStringList filters;
- filters.append(QString::fromLatin1("*.ttf"));
- filters.append(QString::fromLatin1("*.ccc"));
- const QFileInfoList fontFiles = alternativeFilePaths(QString::fromLatin1("resource\\Fonts"), filters);
foreach (const QFileInfo &fontFileInfo, fontFiles) {
const QString fontFile = QDir::toNativeSeparators(fontFileInfo.absoluteFilePath());
TPtrC fontFilePtr(qt_QString2TPtrC(fontFile));
QT_TRAP_THROWING(m_store->AddFileL(fontFilePtr));
}
}
+
QSymbianFontDatabaseExtrasImplementation::~QSymbianFontDatabaseExtrasImplementation()
{
- typedef QHash<QString, const QSymbianTypeFaceExtras *>::iterator iterator;
+ typedef QList<const QSymbianTypeFaceExtras *>::iterator iterator;
for (iterator p = m_extras.begin(); p != m_extras.end(); ++p) {
m_store->ReleaseFont((*p)->fontOwner());
delete *p;
@@ -156,13 +161,18 @@ COpenFont* OpenFontFromBitmapFont(const CBitmapFont* aBitmapFont)
}
#endif // FNTSTORE_H_INLINES_SUPPORT_FMM
-const QSymbianTypeFaceExtras *QSymbianFontDatabaseExtrasImplementation::extras(const QString &typeface) const
+const QSymbianTypeFaceExtras *QSymbianFontDatabaseExtrasImplementation::extras(const QString &typeface,
+ bool bold, bool italic) const
{
- if (!m_extras.contains(typeface)) {
+ const QString searchKey = typeface + QString::number(int(bold)) + QString::number(int(italic));
+ if (!m_extrasHash.contains(searchKey)) {
CFont* font = NULL;
- TFontSpec spec(qt_QString2TPtrC(typeface), 1);
- spec.iHeight = 1;
- const TInt err = m_store->GetNearestFontToDesignHeightInPixels(font, spec);
+ TFontSpec searchSpec(qt_QString2TPtrC(typeface), 1);
+ if (bold)
+ searchSpec.iFontStyle.SetStrokeWeight(EStrokeWeightBold);
+ if (italic)
+ searchSpec.iFontStyle.SetPosture(EPostureItalic);
+ const TInt err = m_store->GetNearestFontToDesignHeightInPixels(font, searchSpec);
Q_ASSERT(err == KErrNone && font);
const CBitmapFont *bitmapFont = static_cast<CBitmapFont*>(font);
COpenFont *openFont =
@@ -171,9 +181,20 @@ const QSymbianTypeFaceExtras *QSymbianFontDatabaseExtrasImplementation::extras(c
#else
OpenFontFromBitmapFont(bitmapFont);
#endif // FNTSTORE_H_INLINES_SUPPORT_FMM
- m_extras.insert(typeface, new QSymbianTypeFaceExtras(font, openFont));
+ const TOpenFontFaceAttrib* const attrib = openFont->FaceAttrib();
+ const QString foundKey =
+ QString((const QChar*)attrib->FullName().Ptr(), attrib->FullName().Length());
+ if (!m_extrasHash.contains(foundKey)) {
+ QSymbianTypeFaceExtras *extras = new QSymbianTypeFaceExtras(font, openFont);
+ m_extras.append(extras);
+ m_extrasHash.insert(searchKey, extras);
+ m_extrasHash.insert(foundKey, extras);
+ } else {
+ m_store->ReleaseFont(font);
+ m_extrasHash.insert(searchKey, m_extrasHash.value(foundKey));
+ }
}
- return m_extras.value(typeface);
+ return m_extrasHash.value(searchKey);
}
#else
class QFontEngineFTS60 : public QFontEngineFT
@@ -273,7 +294,8 @@ static void initializeDb()
style->smoothScalable = typefaceSupport.iIsScalable;
style->pixelSize(0, true);
- const QSymbianTypeFaceExtras *typeFaceExtras = dbExtras->extras(familyName);
+ const QSymbianTypeFaceExtras *typeFaceExtras =
+ dbExtras->extras(familyName, faceAttrib.IsBold(), faceAttrib.IsItalic());
const QByteArray os2Table = typeFaceExtras->getSfntTable(MAKE_TAG('O', 'S', '/', '2'));
const unsigned char* data = reinterpret_cast<const unsigned char*>(os2Table.constData());
const unsigned char* ulUnicodeRange = data + 42;
@@ -396,7 +418,8 @@ QFontEngine *QFontDatabase::findFont(int script, const QFontPrivate *, const QFo
#if defined(QT_NO_FREETYPE)
const QSymbianFontDatabaseExtrasImplementation *dbExtras =
static_cast<const QSymbianFontDatabaseExtrasImplementation*>(db->symbianExtras);
- const QSymbianTypeFaceExtras *typeFaceExtras = dbExtras->extras(fontFamily);
+ const QSymbianTypeFaceExtras *typeFaceExtras =
+ dbExtras->extras(fontFamily, request.weight > QFont::Normal, request.style != QFont::StyleNormal);
fe = new QFontEngineS60(request, typeFaceExtras);
#else
QFontEngine::FaceId faceId;
diff --git a/src/gui/text/qfontengine_s60.cpp b/src/gui/text/qfontengine_s60.cpp
index a9960e4..93f02ff 100644
--- a/src/gui/text/qfontengine_s60.cpp
+++ b/src/gui/text/qfontengine_s60.cpp
@@ -59,13 +59,10 @@ QSymbianTypeFaceExtras::QSymbianTypeFaceExtras(CFont* fontOwner, COpenFont *font
, m_symbolCMap(false)
, m_fontOwner(fontOwner)
{
- TAny *shapingExtension = NULL;
- m_font->ExtendedInterface(KUidOpenFontShapingExtension, shapingExtension);
- m_shapingExtension = static_cast<MOpenFontShapingExtension*>(shapingExtension);
TAny *trueTypeExtension = NULL;
m_font->ExtendedInterface(KUidOpenFontTrueTypeExtension, trueTypeExtension);
m_trueTypeExtension = static_cast<MOpenFontTrueTypeExtension*>(trueTypeExtension);
- Q_ASSERT(m_shapingExtension && m_trueTypeExtension);
+ Q_ASSERT(m_trueTypeExtension);
}
QByteArray QSymbianTypeFaceExtras::getSfntTable(uint tag) const
@@ -114,26 +111,6 @@ const unsigned char *QSymbianTypeFaceExtras::cmap() const
return m_cmap;
}
-QPainterPath QSymbianTypeFaceExtras::glyphOutline(glyph_t glyph) const
-{
- QPainterPath result;
- QPolygonF polygon;
- TInt glyphIndex = glyph;
- TInt pointNumber = 0;
- TInt x, y;
- while (m_shapingExtension->GlyphPointInFontUnits(glyphIndex, pointNumber++, x, y)) {
- const QPointF point(qreal(x) / 0xffff, qreal(y) / 0xffff);
- if (polygon.contains(point)) {
- result.addPolygon(polygon);
- result.closeSubpath();
- polygon.clear();
- } else {
- polygon.append(point);
- }
- }
- return result;
-}
-
CFont *QSymbianTypeFaceExtras::fontOwner() const
{
return m_fontOwner;
diff --git a/src/gui/text/qfontengine_s60_p.h b/src/gui/text/qfontengine_s60_p.h
index b6b117f..6883730 100644
--- a/src/gui/text/qfontengine_s60_p.h
+++ b/src/gui/text/qfontengine_s60_p.h
@@ -62,7 +62,7 @@ class CFont;
QT_BEGIN_NAMESPACE
-// ..gives us access to truetype tables, UTF-16<->GlyphID mapping, and glyph outlines
+// ..gives us access to truetype tables
class QSymbianTypeFaceExtras
{
public:
@@ -71,12 +71,10 @@ public:
QByteArray getSfntTable(uint tag) const;
bool getSfntTableData(uint tag, uchar *buffer, uint *length) const;
const unsigned char *cmap() const;
- QPainterPath glyphOutline(glyph_t glyph) const;
CFont *fontOwner() const;
private:
COpenFont *m_font;
- const MOpenFontShapingExtension *m_shapingExtension;
mutable MOpenFontTrueTypeExtension *m_trueTypeExtension;
mutable const unsigned char *m_cmap;
mutable bool m_symbolCMap;
diff --git a/src/gui/text/qtextdocument.cpp b/src/gui/text/qtextdocument.cpp
index 3e556a7..afba678 100644
--- a/src/gui/text/qtextdocument.cpp
+++ b/src/gui/text/qtextdocument.cpp
@@ -1704,7 +1704,7 @@ void QTextDocument::print(QPrinter *printer) const
return;
const QTextDocument *doc = this;
- QTextDocument *clonedDoc = 0;
+ QScopedPointer<QTextDocument> clonedDoc;
(void)doc->documentLayout(); // make sure that there is a layout
QRectF body = QRectF(QPointF(0, 0), d->pageSize);
@@ -1737,7 +1737,7 @@ void QTextDocument::print(QPrinter *printer) const
printerPageSize.height() / scaledPageSize.height());
} else {
doc = clone(const_cast<QTextDocument *>(this));
- clonedDoc = const_cast<QTextDocument *>(doc);
+ clonedDoc.reset(const_cast<QTextDocument *>(doc));
for (QTextBlock srcBlock = firstBlock(), dstBlock = clonedDoc->firstBlock();
srcBlock.isValid() && dstBlock.isValid();
@@ -1812,7 +1812,7 @@ void QTextDocument::print(QPrinter *printer) const
for (int j = 0; j < pageCopies; ++j) {
if (printer->printerState() == QPrinter::Aborted
|| printer->printerState() == QPrinter::Error)
- goto UserCanceled;
+ return;
printPage(page, &p, doc, body, pageNumberPos);
if (j < pageCopies - 1)
printer->newPage();
@@ -1832,9 +1832,6 @@ void QTextDocument::print(QPrinter *printer) const
if ( i < docCopies - 1)
printer->newPage();
}
-
-UserCanceled:
- delete clonedDoc;
}
#endif
diff --git a/src/gui/widgets/qmenu_symbian.cpp b/src/gui/widgets/qmenu_symbian.cpp
index 4a9cfed..ab2bdea 100644
--- a/src/gui/widgets/qmenu_symbian.cpp
+++ b/src/gui/widgets/qmenu_symbian.cpp
@@ -149,8 +149,12 @@ static void qt_symbian_insert_action(QSymbianMenuAction* action, QList<SymbianMe
"Too many menu actions");
const int underlineShortCut = QApplication::style()->styleHint(QStyle::SH_UnderlineShortcut);
- QString iconText = action->action->iconText();
- TPtrC menuItemText = qt_QString2TPtrC( underlineShortCut ? action->action->text() : iconText);
+ QString actionText;
+ if (underlineShortCut)
+ actionText = action->action->text().left(CEikMenuPaneItem::SData::ENominalTextLength);
+ else
+ actionText = action->action->iconText().left(CEikMenuPaneItem::SData::ENominalTextLength);
+ TPtrC menuItemText = qt_QString2TPtrC(actionText);
if (action->action->menu()) {
SymbianMenuItem* menuItem = new SymbianMenuItem();
menuItem->menuItemData.iCascadeId = action->command;
diff --git a/src/gui/widgets/qtabwidget.cpp b/src/gui/widgets/qtabwidget.cpp
index 047a905..4a61935 100644
--- a/src/gui/widgets/qtabwidget.cpp
+++ b/src/gui/widgets/qtabwidget.cpp
@@ -542,6 +542,8 @@ void QTabWidget::setTabEnabled(int index, bool enable)
{
Q_D(QTabWidget);
d->tabs->setTabEnabled(index, enable);
+ if (QWidget *widget = d->stack->widget(index))
+ widget->setEnabled(enable);
}
/*!
diff --git a/src/network/access/qnetworkcookiejar.cpp b/src/network/access/qnetworkcookiejar.cpp
index 8727095..0b3a918 100644
--- a/src/network/access/qnetworkcookiejar.cpp
+++ b/src/network/access/qnetworkcookiejar.cpp
@@ -269,6 +269,7 @@ QList<QNetworkCookie> QNetworkCookieJar::cookiesForUrl(const QUrl &url) const
Q_D(const QNetworkCookieJar);
QDateTime now = QDateTime::currentDateTime();
QList<QNetworkCookie> result;
+ bool isEncrypted = url.scheme().toLower() == QLatin1String("https");
// scan our cookies for something that matches
QList<QNetworkCookie>::ConstIterator it = d->allCookies.constBegin(),
@@ -280,6 +281,8 @@ QList<QNetworkCookie> QNetworkCookieJar::cookiesForUrl(const QUrl &url) const
continue;
if (!(*it).isSessionCookie() && (*it).expirationDate() < now)
continue;
+ if ((*it).isSecure() && !isEncrypted)
+ continue;
// insert this cookie into result, sorted by path
QList<QNetworkCookie>::Iterator insertIt = result.begin();
diff --git a/src/xmlpatterns/type/qschematype_p.h b/src/xmlpatterns/type/qschematype_p.h
index 1b26fb8..ff8b86b 100644
--- a/src/xmlpatterns/type/qschematype_p.h
+++ b/src/xmlpatterns/type/qschematype_p.h
@@ -174,7 +174,7 @@ namespace QPatternist
* a QXmlName instance stored as a member.
*
* If the type code was refactored to not be store globally and
- * therfore by design would be tied to a name pool, this argument could
+ * therefore by design would be tied to a name pool, this argument could
* be removed.
*/
virtual QXmlName name(const NamePool::Ptr &np) const = 0;
diff --git a/tests/auto/macnativeevents/expectedeventlist.cpp b/tests/auto/macnativeevents/expectedeventlist.cpp
index b1fb9a6..0679dcb 100644
--- a/tests/auto/macnativeevents/expectedeventlist.cpp
+++ b/tests/auto/macnativeevents/expectedeventlist.cpp
@@ -97,6 +97,9 @@ void ExpectedEventList::compareMouseEvents(QEvent *received, QEvent *expected)
{
QMouseEvent *e1 = static_cast<QMouseEvent *>(received);
QMouseEvent *e2 = static_cast<QMouseEvent *>(expected);
+
+ // Do a manual check first to be able to write more sensible
+ // debug output if we know we're going to fail:
if (e1->pos() == e2->pos()
&& (e1->globalPos() == e2->globalPos())
&& (e1->button() == e2->button())
@@ -104,6 +107,9 @@ void ExpectedEventList::compareMouseEvents(QEvent *received, QEvent *expected)
&& (e1->modifiers() == e2->modifiers()))
return; // equal
+ // INVARIANT: The two events are not equal. So we fail. Depending
+ // on whether debug mode is no or not, we let QTest fail. Otherwise
+ // we let the test continue for debugging puposes.
int eventListNr = eventCount - eventList.size();
if (!debug) {
qWarning() << "Expected event" << eventListNr << "differs from received event:";
@@ -119,12 +125,34 @@ void ExpectedEventList::compareMouseEvents(QEvent *received, QEvent *expected)
}
}
-void ExpectedEventList::compareKeyEvents(QEvent *event1, QEvent *event2)
+void ExpectedEventList::compareKeyEvents(QEvent *received, QEvent *expected)
{
- QKeyEvent *e1 = static_cast<QKeyEvent *>(event1);
- QKeyEvent *e2 = static_cast<QKeyEvent *>(event2);
- Q_UNUSED(e1);
- Q_UNUSED(e2);
+ QKeyEvent *e1 = static_cast<QKeyEvent *>(received);
+ QKeyEvent *e2 = static_cast<QKeyEvent *>(expected);
+
+ // Do a manual check first to be able to write more sensible
+ // debug output if we know we're going to fail:
+ if (e1->key() == e2->key()
+ && (e1->modifiers() == e2->modifiers())
+ && (e1->count() == e2->count())
+ && (e1->isAutoRepeat() == e2->isAutoRepeat()))
+ return; // equal
+
+ // INVARIANT: The two events are not equal. So we fail. Depending
+ // on whether debug mode is no or not, we let QTest fail. Otherwise
+ // we let the test continue for debugging puposes.
+ int eventListNr = eventCount - eventList.size();
+ if (!debug) {
+ qWarning() << "Expected event" << eventListNr << "differs from received event:";
+ QCOMPARE(e1->key(), e2->key());
+ QCOMPARE(e1->modifiers(), e2->modifiers());
+ QCOMPARE(e1->count(), e2->count());
+ QCOMPARE(e1->isAutoRepeat(), e2->isAutoRepeat());
+ } else {
+ qWarning() << "*** FAIL *** : Expected event" << eventListNr << "differs from received event:";
+ qWarning() << "Received:" << e1 << e1->key();
+ qWarning() << "Expected:" << e2 << e2->key();
+ }
}
bool ExpectedEventList::eventFilter(QObject *, QEvent *received)
@@ -149,10 +177,9 @@ bool ExpectedEventList::eventFilter(QObject *, QEvent *received)
compareMouseEvents(received, expected);
break;
}
- case QEvent::KeyPress: {
- break;
- }
+ case QEvent::KeyPress:
case QEvent::KeyRelease: {
+ compareKeyEvents(received, expected);
break;
}
case QEvent::Resize: {
diff --git a/tests/auto/macnativeevents/tst_macnativeevents.cpp b/tests/auto/macnativeevents/tst_macnativeevents.cpp
index 70a14f5..ffd0596 100644
--- a/tests/auto/macnativeevents/tst_macnativeevents.cpp
+++ b/tests/auto/macnativeevents/tst_macnativeevents.cpp
@@ -67,6 +67,7 @@ private slots:
void testDragWindow();
void testMouseEnter();
void testChildDialogInFrontOfModalParent();
+ void testKeyPressOnToplevel();
};
void tst_MacNativeEvents::testMouseMoveLocation()
@@ -307,6 +308,28 @@ void tst_MacNativeEvents::testChildDialogInFrontOfModalParent()
QVERIFY(!child.isVisible());
}
+void tst_MacNativeEvents::testKeyPressOnToplevel()
+{
+ // Check that we receive keyevents for
+ // toplevel widgets. For leagacy reasons, and according to Qt on
+ // other platforms (carbon port + linux), we should get these events
+ // even when the focus policy is set to Qt::NoFocus when there is no
+ // other focus widget on screen:
+ QWidget w;
+ w.show();
+
+ NativeEventList native;
+ native.append(new QNativeKeyEvent(QNativeKeyEvent::Key_A, true, Qt::NoModifier));
+ native.append(new QNativeKeyEvent(QNativeKeyEvent::Key_A, false, Qt::NoModifier));
+
+ ExpectedEventList expected(&w);
+ expected.append(new QKeyEvent(QEvent::KeyPress, Qt::Key_A, Qt::NoModifier));
+ expected.append(new QKeyEvent(QEvent::KeyRelease, Qt::Key_A, Qt::NoModifier));
+
+ native.play();
+ QVERIFY2(expected.waitForAllEvents(), "the test did not receive all expected events!");
+}
+
#include "tst_macnativeevents.moc"
QTEST_MAIN(tst_MacNativeEvents)
diff --git a/tests/auto/qdbusinterface/tst_qdbusinterface.cpp b/tests/auto/qdbusinterface/tst_qdbusinterface.cpp
index 826bd70..d8ff2d3 100644
--- a/tests/auto/qdbusinterface/tst_qdbusinterface.cpp
+++ b/tests/auto/qdbusinterface/tst_qdbusinterface.cpp
@@ -157,6 +157,18 @@ public slots:
}
};
+class DerivedFromQDBusInterface: public QDBusInterface
+{
+ Q_OBJECT
+public:
+ DerivedFromQDBusInterface()
+ : QDBusInterface("com.example.Test", "/")
+ {}
+
+public slots:
+ void method() {}
+};
+
// helper function
void emitSignal(const QString &interface, const QString &name, const QString &arg)
{
@@ -183,6 +195,7 @@ private slots:
void notConnected();
void notValid();
+ void notValidDerived();
void invalidAfterServiceOwnerChanged();
void introspect();
void callMethod();
@@ -219,6 +232,7 @@ void tst_QDBusInterface::notConnected()
connection);
QVERIFY(!interface.isValid());
+ QVERIFY(!QMetaObject::invokeMethod(&interface, "ListNames", Qt::DirectConnection));
}
void tst_QDBusInterface::notValid()
@@ -230,6 +244,14 @@ void tst_QDBusInterface::notValid()
connection);
QVERIFY(!interface.isValid());
+ QVERIFY(!QMetaObject::invokeMethod(&interface, "ListNames", Qt::DirectConnection));
+}
+
+void tst_QDBusInterface::notValidDerived()
+{
+ DerivedFromQDBusInterface c;
+ QVERIFY(!c.isValid());
+ QMetaObject::invokeMethod(&c, "method", Qt::DirectConnection);
}
void tst_QDBusInterface::invalidAfterServiceOwnerChanged()
diff --git a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp
index 5e889f4..d0752af 100644
--- a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp
+++ b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp
@@ -3665,6 +3665,22 @@ void tst_QGraphicsView::update()
#endif
}
+class FocusItem : public QGraphicsRectItem
+{
+public:
+ FocusItem() : QGraphicsRectItem(0, 0, 20, 20) {
+ m_viewHasIMEnabledInFocusInEvent = false;
+ }
+
+ void focusInEvent(QFocusEvent *event)
+ {
+ QGraphicsView *view = scene()->views().first();
+ m_viewHasIMEnabledInFocusInEvent = view->testAttribute(Qt::WA_InputMethodEnabled);
+ }
+
+ bool m_viewHasIMEnabledInFocusInEvent;
+};
+
void tst_QGraphicsView::inputMethodSensitivity()
{
QGraphicsScene scene;
@@ -3674,7 +3690,7 @@ void tst_QGraphicsView::inputMethodSensitivity()
QApplication::setActiveWindow(&view);
QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
- QGraphicsRectItem *item = new QGraphicsRectItem;
+ FocusItem *item = new FocusItem;
view.setAttribute(Qt::WA_InputMethodEnabled, true);
@@ -3703,6 +3719,7 @@ void tst_QGraphicsView::inputMethodSensitivity()
scene.setFocusItem(item);
QCOMPARE(scene.focusItem(), static_cast<QGraphicsItem *>(item));
QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), true);
+ QCOMPARE(item->m_viewHasIMEnabledInFocusInEvent, true);
item->setFlag(QGraphicsItem::ItemAcceptsInputMethod, false);
QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), false);
@@ -3711,15 +3728,17 @@ void tst_QGraphicsView::inputMethodSensitivity()
QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), true);
// introduce another item that is focusable but does not accept input methods
- QGraphicsRectItem *item2 = new QGraphicsRectItem;
+ FocusItem *item2 = new FocusItem;
item2->setFlag(QGraphicsItem::ItemIsFocusable);
scene.addItem(item2);
scene.setFocusItem(item2);
QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), false);
+ QCOMPARE(item2->m_viewHasIMEnabledInFocusInEvent, false);
QCOMPARE(scene.focusItem(), static_cast<QGraphicsItem *>(item2));
scene.setFocusItem(item);
QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), true);
+ QCOMPARE(item->m_viewHasIMEnabledInFocusInEvent, true);
QCOMPARE(scene.focusItem(), static_cast<QGraphicsItem *>(item));
view.setScene(0);
@@ -3728,10 +3747,12 @@ void tst_QGraphicsView::inputMethodSensitivity()
view.setScene(&scene);
QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), true);
+ QCOMPARE(item->m_viewHasIMEnabledInFocusInEvent, true);
QCOMPARE(scene.focusItem(), static_cast<QGraphicsItem *>(item));
scene.setFocusItem(item2);
QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), false);
+ QCOMPARE(item2->m_viewHasIMEnabledInFocusInEvent, false);
QCOMPARE(scene.focusItem(), static_cast<QGraphicsItem *>(item2));
view.setScene(0);
@@ -3744,6 +3765,7 @@ void tst_QGraphicsView::inputMethodSensitivity()
view.setScene(&scene);
QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), true);
+ QCOMPARE(item->m_viewHasIMEnabledInFocusInEvent, true);
QCOMPARE(scene.focusItem(), static_cast<QGraphicsItem *>(item));
}
diff --git a/tests/auto/qnetworkcookiejar/tst_qnetworkcookiejar.cpp b/tests/auto/qnetworkcookiejar/tst_qnetworkcookiejar.cpp
index f4c4429..01b9c0c 100644
--- a/tests/auto/qnetworkcookiejar/tst_qnetworkcookiejar.cpp
+++ b/tests/auto/qnetworkcookiejar/tst_qnetworkcookiejar.cpp
@@ -304,6 +304,21 @@ void tst_QNetworkCookieJar::cookiesForUrl_data()
QTest::newRow("path-match-2") << allCookies << "http://nokia.com/web/" << result;
QTest::newRow("path-match-3") << allCookies << "http://nokia.com/web/content" << result;
+ // secure cookies
+ allCookies.clear();
+ result.clear();
+ QNetworkCookie secureCookie;
+ secureCookie.setName("a");
+ secureCookie.setPath("/web");
+ secureCookie.setDomain(".nokia.com");
+ secureCookie.setSecure(true);
+ allCookies += secureCookie;
+ QTest::newRow("no-match-secure-1") << allCookies << "http://nokia.com/web" << result;
+ QTest::newRow("no-match-secure-2") << allCookies << "http://qt.nokia.com/web" << result;
+ result += secureCookie;
+ QTest::newRow("match-secure-1") << allCookies << "https://nokia.com/web" << result;
+ QTest::newRow("match-secure-2") << allCookies << "https://qt.nokia.com/web" << result;
+
}
void tst_QNetworkCookieJar::cookiesForUrl()
diff --git a/tests/auto/qtabwidget/tst_qtabwidget.cpp b/tests/auto/qtabwidget/tst_qtabwidget.cpp
index 4491fb3..504579f 100644
--- a/tests/auto/qtabwidget/tst_qtabwidget.cpp
+++ b/tests/auto/qtabwidget/tst_qtabwidget.cpp
@@ -259,11 +259,14 @@ void tst_QTabWidget::tabEnabled()
int index = addPage();
tw->setTabEnabled(index, true);
- QVERIFY(tw->isTabEnabled(index) == true);
+ QVERIFY(tw->isTabEnabled(index));
+ QVERIFY(tw->widget(index)->isEnabled());
tw->setTabEnabled(index, false);
- QVERIFY(tw->isTabEnabled(index) == false);
+ QVERIFY(!tw->isTabEnabled(index));
+ QVERIFY(!tw->widget(index)->isEnabled());
tw->setTabEnabled(index, true);
- QVERIFY(tw->isTabEnabled(index) == true);
+ QVERIFY(tw->isTabEnabled(index));
+ QVERIFY(tw->widget(index)->isEnabled());
removePage(index);
}
diff --git a/tests/auto/selftests/tst_selftests.cpp b/tests/auto/selftests/tst_selftests.cpp
index 0cff2fd..0818b4c 100644
--- a/tests/auto/selftests/tst_selftests.cpp
+++ b/tests/auto/selftests/tst_selftests.cpp
@@ -131,11 +131,11 @@ static QList<QByteArray> splitLines(QByteArray ba)
if (index == -1) {
continue;
}
- int end = line.indexOf('"', index + strlen(markers[j][0]) + 1);
+ int end = line.indexOf('"', index + strlen(markers[j][0]));
if (end == -1) {
continue;
}
- line.replace(index, end-index, markers[j][1]);
+ line.replace(index, end-index + 1, markers[j][1]);
}
}
diff --git a/tools/designer/src/lib/shared/filterwidget.cpp b/tools/designer/src/lib/shared/filterwidget.cpp
index 07af901..9363b7c 100644
--- a/tools/designer/src/lib/shared/filterwidget.cpp
+++ b/tools/designer/src/lib/shared/filterwidget.cpp
@@ -209,10 +209,9 @@ QString FilterWidget::text() const
void FilterWidget::checkButton(const QString &text)
{
- static QString oldtext;
- if (oldtext.isEmpty() || text.isEmpty())
+ if (m_oldText.isEmpty() || text.isEmpty())
m_button->animateShow(!m_editor->text().isEmpty());
- oldtext = text;
+ m_oldText = text;
}
void FilterWidget::reset()
diff --git a/tools/designer/src/lib/shared/filterwidget_p.h b/tools/designer/src/lib/shared/filterwidget_p.h
index 423b30e..8ca2073 100644
--- a/tools/designer/src/lib/shared/filterwidget_p.h
+++ b/tools/designer/src/lib/shared/filterwidget_p.h
@@ -142,6 +142,7 @@ private:
HintLineEdit *m_editor;
IconButton *m_button;
int m_buttonwidth;
+ QString m_oldText;
};
} // namespace qdesigner_internal
diff --git a/tools/qdoc3/codeparser.cpp b/tools/qdoc3/codeparser.cpp
index a717ff1..65d9572 100644
--- a/tools/qdoc3/codeparser.cpp
+++ b/tools/qdoc3/codeparser.cpp
@@ -70,6 +70,7 @@ QT_BEGIN_NAMESPACE
QList<CodeParser *> CodeParser::parsers;
bool CodeParser::showInternal = false;
+QMap<QString,QString> CodeParser::nameToTitle;
/*!
The constructor adds this code parser to the static
@@ -250,10 +251,20 @@ void CodeParser::processCommonMetaCommand(const Location &location,
if (node->type() == Node::Fake) {
FakeNode *fake = static_cast<FakeNode *>(node);
fake->setTitle(arg);
+ nameToTitle.insert(fake->name(),arg);
}
else
location.warning(tr("Ignored '\\%1'").arg(COMMAND_TITLE));
}
}
+/*!
+ Find the page title given the page \a name and return it.
+ */
+const QString CodeParser::titleFromName(const QString& name)
+{
+ const QString t = nameToTitle.value(name);
+ return t;
+}
+
QT_END_NAMESPACE
diff --git a/tools/qdoc3/codeparser.h b/tools/qdoc3/codeparser.h
index 7b0d0eb..ebba601 100644
--- a/tools/qdoc3/codeparser.h
+++ b/tools/qdoc3/codeparser.h
@@ -78,6 +78,7 @@ class CodeParser
static void initialize(const Config& config);
static void terminate();
static CodeParser *parserForLanguage(const QString& language);
+ static const QString titleFromName(const QString& name);
protected:
QSet<QString> commonMetaCommands();
@@ -88,6 +89,7 @@ class CodeParser
private:
static QList<CodeParser *> parsers;
static bool showInternal;
+ static QMap<QString,QString> nameToTitle;
};
QT_END_NAMESPACE
diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp
index f5c304e..a0cd560 100644
--- a/tools/qdoc3/htmlgenerator.cpp
+++ b/tools/qdoc3/htmlgenerator.cpp
@@ -44,6 +44,7 @@
*/
#include "codemarker.h"
+#include "codeparser.h"
#include "helpprojectwriter.h"
#include "htmlgenerator.h"
#include "node.h"
@@ -1223,7 +1224,7 @@ void HtmlGenerator::generateClassLikeNode(const InnerNode *inner,
namespasse = static_cast<const NamespaceNode *>(inner);
rawTitle = marker->plainName(inner);
fullTitle = marker->plainFullName(inner);
- title = rawTitle + " Namespace Reference";
+ title = rawTitle + " Namespace";
}
else if (inner->type() == Node::Class) {
classe = static_cast<const ClassNode *>(inner);
@@ -1263,7 +1264,7 @@ void HtmlGenerator::generateClassLikeNode(const InnerNode *inner,
}
}
- generateHeader(title, inner, marker, true);
+ generateHeader(title, inner, marker);
sections = marker->sections(inner, CodeMarker::Summary, CodeMarker::Okay);
generateTableOfContents(inner,marker,&sections);
generateTitle(title, subtitleText, SmallSubTitle, inner, marker);
@@ -1474,7 +1475,7 @@ void HtmlGenerator::generateFakeNode(const FakeNode *fake, CodeMarker *marker)
htmlTitle = fullTitle;
}
- generateHeader(htmlTitle, fake, marker, true);
+ generateHeader(htmlTitle, fake, marker);
/*
Generate the TOC for the new doc format.
@@ -1674,6 +1675,9 @@ QString HtmlGenerator::fileExtension(const Node * /* node */) const
return "html";
}
+/*!
+ Output breadcrumb list in the html file.
+ */
void HtmlGenerator::generateBreadCrumbs(const QString& title,
const Node *node,
CodeMarker *marker)
@@ -1682,6 +1686,7 @@ void HtmlGenerator::generateBreadCrumbs(const QString& title,
if (node->type() == Node::Class) {
const ClassNode* cn = static_cast<const ClassNode*>(node);
QString name = node->moduleName();
+ out() << " <li><a href=\"modules.html\">All Modules</a></li>";
if (!name.isEmpty()) {
out() << " <li>";
breadcrumb << Atom(Atom::AutoLink,name);
@@ -1699,24 +1704,65 @@ void HtmlGenerator::generateBreadCrumbs(const QString& title,
else if (node->type() == Node::Fake) {
const FakeNode* fn = static_cast<const FakeNode*>(node);
if (node->subType() == Node::Module) {
+ out() << " <li><a href=\"modules.html\">All Modules</a></li>";
+ QString name = node->name();
+ if (!name.isEmpty()) {
+ out() << " <li>";
+ breadcrumb << Atom(Atom::AutoLink,name);
+ generateText(breadcrumb, 0, marker);
+ out() << "</li>\n";
+ }
+ }
+ else if (node->subType() == Node::Group) {
+ if (fn->name() == QString("modules"))
+ out() << " <li><a href=\"modules.html\">All Modules</a></li>";
+ else {
+ out() << " <li><a href=\"" << fn->name() << "\">" << title
+ << "</a></li>";
+ }
}
else if (node->subType() == Node::Page) {
+ if (fn->name() == QString("examples.html")) {
+ out() << " <li><a href=\"examples.html\">All Examples</a></li>";
+ }
+ else if (fn->name().startsWith("examples-")) {
+ out() << " <li><a href=\"examples.html\">All Examples</a></li>";
+ out() << " <li><a href=\"" << fn->name() << "\">" << title
+ << "</a></li>";
+ }
+ else if (fn->name() == QString("namespaces.html")) {
+ out() << " <li><a href=\"namespaces.html\">All Namespaces</a></li>";
+ }
+ else {
+ out() << " <li><a href=\"" << fn->name() << "\">" << title
+ << "</a></li>";
+ }
}
else if (node->subType() == Node::QmlClass) {
}
else if (node->subType() == Node::Example) {
+ out() << " <li><a href=\"examples.html\">All Examples</a></li>";
+ QStringList sl = fn->name().split('/');
+ QString name = "examples-" + sl.at(0) + ".html";
+ QString t = CodeParser::titleFromName(name);
+ out() << " <li><a href=\"" << name << "\">"
+ << t << "</a></li>";
+ out() << " <li><a href=\"" << sl.at(0)
+ << "-" << sl.at(sl.size()-1) << ".html\">"
+ << title << "</a></li>";
}
}
else if (node->type() == Node::Namespace) {
const NamespaceNode* nsn = static_cast<const NamespaceNode*>(node);
+ out() << " <li><a href=\"namespaces.html\">All Namespaces</a></li>";
+ out() << " <li><a href=\"" << fileName(nsn) << "\">" << title
+ << "</a></li>";
}
}
-
void HtmlGenerator::generateHeader(const QString& title,
const Node *node,
- CodeMarker *marker,
- bool mainPage)
+ CodeMarker *marker)
{
out() << QString("<?xml version=\"1.0\" encoding=\"%1\"?>\n").arg(outputEncoding);
out() << "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n";
@@ -2082,7 +2128,7 @@ QString HtmlGenerator::generateListOfAllMemberFile(const InnerNode *inner,
QString fileName = fileBase(inner) + "-members." + fileExtension(inner);
beginSubPage(inner->location(), fileName);
QString title = "List of All Members for " + inner->name();
- generateHeader(title, inner, marker, false);
+ generateHeader(title, inner, marker);
generateTitle(title, Text(), SmallSubTitle, inner, marker);
out() << "<p>This is the complete list of members for ";
generateFullName(inner, 0, marker);
@@ -2126,7 +2172,7 @@ QString HtmlGenerator::generateLowStatusMemberFile(const InnerNode *inner,
}
beginSubPage(inner->location(), fileName);
- generateHeader(title, inner, marker, false);
+ generateHeader(title, inner, marker);
generateTitle(title, Text(), SmallSubTitle, inner, marker);
if (status == CodeMarker::Compat) {
diff --git a/tools/qdoc3/htmlgenerator.h b/tools/qdoc3/htmlgenerator.h
index 68e620e..d80cbdb 100644
--- a/tools/qdoc3/htmlgenerator.h
+++ b/tools/qdoc3/htmlgenerator.h
@@ -134,8 +134,9 @@ class HtmlGenerator : public PageGenerator
void generateBreadCrumbs(const QString& title,
const Node *node,
CodeMarker *marker);
- void generateHeader(const QString& title, const Node *node = 0,
- CodeMarker *marker = 0, bool mainPage = true);
+ void generateHeader(const QString& title,
+ const Node *node = 0,
+ CodeMarker *marker = 0);
void generateTitle(const QString& title,
const Text &subTitle,
SubTitleSize subTitleSize,
diff --git a/tools/qdoc3/test/qt-defines.qdocconf b/tools/qdoc3/test/qt-defines.qdocconf
index 7449ac3..0426f4d 100644
--- a/tools/qdoc3/test/qt-defines.qdocconf
+++ b/tools/qdoc3/test/qt-defines.qdocconf
@@ -3,6 +3,7 @@ defines = Q_QDOC \
QT_.*_LIB \
QT_COMPAT \
QT_KEYPAD_NAVIGATION \
+ QT_NO_EGL \
QT3_SUPPORT \
Q_WS_.* \
Q_OS_.* \
diff --git a/tools/qdoc3/test/qt-html-templates.qdocconf b/tools/qdoc3/test/qt-html-templates.qdocconf
index 944a32c..85a29c2 100644
--- a/tools/qdoc3/test/qt-html-templates.qdocconf
+++ b/tools/qdoc3/test/qt-html-templates.qdocconf
@@ -45,6 +45,7 @@ HTML.postheader = " <div class=\"header\" id=\"qtdocheader\">\n" \
" <li><a href=\"modules.html\">All modules</a></li>\n" \
" <li><a href=\"classes.html\">All classes</a></li>\n" \
" <li><a href=\"functions.html\">All functions</a></li>\n" \
+ " <li><a href=\"namespaces.html\">All namespaces</a></li>\n" \
" <li><a href=\"platform-specific.html\">Platform specifics</a></li>\n" \
" </ul>\n" \
" </div>\n" \
diff --git a/tools/qml/qml.pro b/tools/qml/qml.pro
index 7a101d0..b33d48b 100644
--- a/tools/qml/qml.pro
+++ b/tools/qml/qml.pro
@@ -14,10 +14,14 @@ target.path = $$[QT_INSTALL_BINS]
INSTALLS += target
wince* {
-QT += scripttools \
- xml \
- phonon
+ QT += xml
+ contains(QT_CONFIG, scripttools) {
+ QT += scripttools
+ }
+ contains(QT_CONFIG, phonon) {
+ QT += phonon
+ }
contains(QT_CONFIG, xmlpatterns) {
QT += xmlpatterns
}
diff --git a/translations/qt_fr.ts b/translations/qt_fr.ts
index 7a69cbe..77feab6 100644
--- a/translations/qt_fr.ts
+++ b/translations/qt_fr.ts
@@ -44,7 +44,7 @@
<message>
<location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+375"/>
<source>&lt;html&gt;The audio playback device &lt;b&gt;%1&lt;/b&gt; does not work.&lt;br/&gt;Falling back to &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</source>
- <translation>&lt;html&gt;Le dispositif audio &lt;b&gt;%1&lt;/b&gt; ne fonctionne pas.&lt;br/&gt;Utilisation de &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</translation>
+ <translation>&lt;html&gt;Le périphérique audio &lt;b&gt;%1&lt;/b&gt; ne fonctionne pas.&lt;br/&gt;Utilisation de &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</translation>
</message>
<message>
<location line="+13"/>
@@ -102,7 +102,6 @@
<context>
<name>CloseButton</name>
<message>
- <location filename="../src/gui/widgets/qtabbar.cpp" line="+2251"/>
<source>Close Tab</source>
<translation>Fermer l&apos;onglet</translation>
</message>
@@ -176,32 +175,26 @@ so on.</source>
<context>
<name>Phonon::</name>
<message>
- <location filename="../src/3rdparty/phonon/phonon/phononnamespace.cpp" line="+55"/>
<source>Notifications</source>
- <translation></translation>
+ <translation>Notifications</translation>
</message>
<message>
- <location line="+2"/>
<source>Music</source>
<translation>Musique</translation>
</message>
<message>
- <location line="+2"/>
<source>Video</source>
<translation>Vidéo</translation>
</message>
<message>
- <location line="+2"/>
<source>Communication</source>
- <translation></translation>
+ <translation>Communication</translation>
</message>
<message>
- <location line="+2"/>
<source>Games</source>
<translation>Jeux</translation>
</message>
<message>
- <location line="+2"/>
<source>Accessibility</source>
<translation>Accessibilité</translation>
</message>
@@ -209,14 +202,12 @@ so on.</source>
<context>
<name>Phonon::Gstreamer::Backend</name>
<message>
- <location filename="../src/3rdparty/phonon/gstreamer/backend.cpp" line="+171"/>
<source>Warning: You do not seem to have the package gstreamer0.10-plugins-good installed.
Some video features have been disabled.</source>
<translation>Attention: Vous n&apos;avez apparemment pas installé le paquet gstreamer0.10-plugins-good.
Des fonctionnalités vidéo ont été desactivées.</translation>
</message>
<message>
- <location line="+5"/>
<source>Warning: You do not seem to have the base GStreamer plugins installed.
All audio and video support has been disabled</source>
<translation>Attention: Vous n&apos;avez apparemment pas installées les plugins de base de GStreamer.
@@ -231,7 +222,7 @@ Le support audio et vidéo est désactivé</translation>
Check your Gstreamer installation and make sure you
have libgstreamer-plugins-base installed.</source>
- <translation>Impossible de démarrer la lecture. Verifiez votre installation de Gstreamer et assuez-vousd&apos;avoir installé libgstreamer-plugins-base.</translation>
+ <translation>Impossible de démarrer la lecture. Verifiez votre installation de Gstreamer et assurez-vous d&apos;avoir installé libgstreamer-plugins-base.</translation>
</message>
<message>
<source>Unknown media format: %1</source>
@@ -266,68 +257,62 @@ have libgstreamer-plugins-base installed.</source>
<translation type="obsolete">Impossible de charger la source</translation>
</message>
<message>
- <location line="+113"/>
<source>A required codec is missing. You need to install the following codec(s) to play this content: %0</source>
<translation>Un codec requis est manquant. Vous devez installer le codec suivant pour jouer le contenu: %0</translation>
</message>
<message>
- <location line="+676"/>
- <location line="+8"/>
- <location line="+15"/>
- <location line="+9"/>
- <location line="+6"/>
- <location line="+19"/>
- <location line="+335"/>
- <location line="+24"/>
<source>Could not open media source.</source>
<translation>Impossible d&apos;ouvrir le média source.</translation>
</message>
<message>
- <location line="-403"/>
<source>Invalid source type.</source>
<translation>Type de source invalide.</translation>
</message>
<message>
- <location line="+377"/>
<source>Could not locate media source.</source>
<translation>Impossible de localiser le média source.</translation>
</message>
<message>
- <location line="+10"/>
<source>Could not open audio device. The device is already in use.</source>
<translation>Impossible d&apos;ouvrir le périphérique audio. Celui-ci est déjà en cours d&apos;utilisation.</translation>
</message>
<message>
- <location line="+13"/>
<source>Could not decode media source.</source>
<translation>Impossible de décoder le média source.</translation>
</message>
+ <message>
+ <source>Cannot start playback.
+
+Check your GStreamer installation and make sure you
+have libgstreamer-plugins-base installed.</source>
+ <translation>Impossible de démarrer la lecture.
+
+Vérifiez votre installation de GStreamer et assurez-vous
+d&apos;avoir installé libgstreamer-plugins-base.</translation>
+ </message>
</context>
<context>
<name>Phonon::VolumeSlider</name>
<message>
- <location filename="../src/3rdparty/phonon/phonon/volumeslider.cpp" line="+42"/>
- <location line="+18"/>
<source>Volume: %1%</source>
<translation>Volume: %1%</translation>
</message>
<message>
- <location line="-15"/>
- <location line="+18"/>
- <location line="+54"/>
<source>Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%</source>
<translation>Utilisez le slider pour ajuster le volume. La position la plus à gauche est 0%, la plus à droite est %1%</translation>
</message>
+ <message>
+ <source>Muted</source>
+ <translation>Son coupé</translation>
+ </message>
</context>
<context>
<name>Q3Accel</name>
<message>
- <location filename="../src/qt3support/other/q3accel.cpp" line="+481"/>
<source>%1, %2 not defined</source>
<translation>La séquence %1, %2 n&apos;est pas définie</translation>
</message>
<message>
- <location line="+36"/>
<source>Ambiguous %1 not handled</source>
<translation>Séquence ambiguë %1 non traitée</translation>
</message>
@@ -335,27 +320,22 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3DataTable</name>
<message>
- <location filename="../src/qt3support/sql/q3datatable.cpp" line="+285"/>
<source>True</source>
<translation>Vrai</translation>
</message>
<message>
- <location line="+1"/>
<source>False</source>
<translation>Faux</translation>
</message>
<message>
- <location line="+505"/>
<source>Insert</source>
<translation>Insérer</translation>
</message>
<message>
- <location line="+1"/>
<source>Update</source>
<translation>Actualiser</translation>
</message>
<message>
- <location line="+1"/>
<source>Delete</source>
<translation>Supprimer</translation>
</message>
@@ -363,313 +343,238 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3FileDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+864"/>
<source>Copy or Move a File</source>
<translation>Copie ou déplace un fichier</translation>
</message>
<message>
- <location line="+8"/>
<source>Read: %1</source>
<translation>Lecture : %1</translation>
</message>
<message>
- <location line="+6"/>
- <location line="+30"/>
<source>Write: %1</source>
<translation>Écriture : %1</translation>
</message>
<message>
- <location line="-22"/>
- <location line="+1575"/>
<source>Cancel</source>
<translation>Annuler</translation>
</message>
<message>
- <location line="-157"/>
- <location line="+49"/>
- <location line="+2153"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+110"/>
<source>All Files (*)</source>
<translation>Tous les fichiers (*)</translation>
</message>
<message>
- <location line="-2089"/>
<source>Name</source>
<translation>Nom</translation>
</message>
<message>
- <location line="+1"/>
<source>Size</source>
<translation>Taille</translation>
</message>
<message>
- <location line="+2"/>
<source>Type</source>
<translation>Type</translation>
</message>
<message>
- <location line="+1"/>
<source>Date</source>
<translation>Date</translation>
</message>
<message>
- <location line="+1"/>
<source>Attributes</source>
<translation>Attributs</translation>
</message>
<message>
- <location line="+35"/>
- <location line="+2031"/>
<source>&amp;OK</source>
<translation>&amp;OK</translation>
</message>
<message>
- <location line="-1991"/>
<source>Look &amp;in:</source>
<translation>Chercher &amp;dans :</translation>
</message>
<message>
- <location line="+1"/>
- <location line="+1981"/>
- <location line="+16"/>
<source>File &amp;name:</source>
<translation>&amp;Nom de fichier :</translation>
</message>
<message>
- <location line="-1996"/>
<source>File &amp;type:</source>
<translation>&amp;Type de fichier :</translation>
</message>
<message>
- <location line="+7"/>
<source>Back</source>
<translation>Précédent (historique)</translation>
</message>
<message>
- <location line="+7"/>
<source>One directory up</source>
<translation>Aller au dossier parent</translation>
</message>
<message>
- <location line="+9"/>
<source>Create New Folder</source>
<translation>Créer un nouveau dossier</translation>
</message>
<message>
- <location line="+18"/>
<source>List View</source>
<translation>Affichage liste</translation>
</message>
<message>
- <location line="+8"/>
<source>Detail View</source>
<translation>Affichage détaillé</translation>
</message>
<message>
- <location line="+9"/>
<source>Preview File Info</source>
<translation>Informations du fichier prévisualisé</translation>
</message>
<message>
- <location line="+23"/>
<source>Preview File Contents</source>
<translation>Contenu du fichier prévisualisé</translation>
</message>
<message>
- <location line="+88"/>
<source>Read-write</source>
<translation>Lecture-écriture</translation>
</message>
<message>
- <location line="+1"/>
<source>Read-only</source>
<translation>Lecture seule</translation>
</message>
<message>
- <location line="+1"/>
<source>Write-only</source>
<translation>Écriture seule</translation>
</message>
<message>
- <location line="+1"/>
<source>Inaccessible</source>
<translation>Inaccessible</translation>
</message>
<message>
- <location line="+2"/>
<source>Symlink to File</source>
<translation>Lien symbolique vers un fichier</translation>
</message>
<message>
- <location line="+1"/>
<source>Symlink to Directory</source>
<translation>Lien symbolique vers un dossier</translation>
</message>
<message>
- <location line="+1"/>
<source>Symlink to Special</source>
<translation>Lien symbolique vers un fichier spécial</translation>
</message>
<message>
- <location line="+1"/>
<source>File</source>
<translation>Fichier</translation>
</message>
<message>
- <location line="+1"/>
<source>Dir</source>
<translation>Dossier</translation>
</message>
<message>
- <location line="+1"/>
<source>Special</source>
<translation>Fichier spécial</translation>
</message>
<message>
- <location line="+704"/>
- <location line="+2100"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+337"/>
<source>Open</source>
<translation>Ouvrir</translation>
</message>
<message>
- <location line="-1990"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+84"/>
<source>Save As</source>
<translation>Enregistrer sous</translation>
</message>
<message>
- <location line="+642"/>
- <location line="+5"/>
- <location line="+355"/>
<source>&amp;Open</source>
<translation>&amp;Ouvrir</translation>
</message>
<message>
- <location line="-357"/>
- <location line="+341"/>
<source>&amp;Save</source>
<translation>&amp;Enregistrer</translation>
</message>
<message>
- <location line="-334"/>
<source>&amp;Rename</source>
<translation>&amp;Renommer</translation>
</message>
<message>
- <location line="+1"/>
<source>&amp;Delete</source>
<translation>Suppri&amp;mer</translation>
</message>
<message>
- <location line="+20"/>
<source>R&amp;eload</source>
<translation>R&amp;echarger</translation>
</message>
<message>
- <location line="+4"/>
<source>Sort by &amp;Name</source>
<translation>Trier par &amp;nom</translation>
</message>
<message>
- <location line="+2"/>
<source>Sort by &amp;Size</source>
<translation>Trier par ta&amp;ille</translation>
</message>
<message>
- <location line="+1"/>
<source>Sort by &amp;Date</source>
<translation>Trier par &amp;date</translation>
</message>
<message>
- <location line="+2"/>
<source>&amp;Unsorted</source>
<translation>&amp;Non trié</translation>
</message>
<message>
- <location line="+15"/>
<source>Sort</source>
<translation>Tri</translation>
</message>
<message>
- <location line="+4"/>
<source>Show &amp;hidden files</source>
<translation>Afficher les fic&amp;hiers cachés</translation>
</message>
<message>
- <location line="+31"/>
<source>the file</source>
<translation>le fichier</translation>
</message>
<message>
- <location line="+2"/>
<source>the directory</source>
<translation>le dossier</translation>
</message>
<message>
- <location line="+2"/>
<source>the symlink</source>
<translation>le lien symbolique</translation>
</message>
<message>
- <location line="+3"/>
<source>Delete %1</source>
<translation>Supprimer %1</translation>
</message>
<message>
- <location line="+1"/>
<source>&lt;qt&gt;Are you sure you wish to delete %1 &quot;%2&quot;?&lt;/qt&gt;</source>
<translation>&lt;qt&gt;Voulez-vous vraiment supprimer %1 &quot;%2&quot; ?&lt;/qt&gt;</translation>
</message>
<message>
- <location line="+2"/>
<source>&amp;Yes</source>
<translation>&amp;Oui</translation>
</message>
<message>
- <location line="+0"/>
<source>&amp;No</source>
<translation>&amp;Non</translation>
</message>
<message>
- <location line="+36"/>
<source>New Folder 1</source>
<translation>Nouveau dossier 1</translation>
</message>
<message>
- <location line="+5"/>
<source>New Folder</source>
<translation>Nouveau dossier</translation>
</message>
<message>
- <location line="+5"/>
<source>New Folder %1</source>
<translation>Nouveau dossier %1</translation>
</message>
<message>
- <location line="+98"/>
<source>Find Directory</source>
<translation>Chercher dans le dossier</translation>
</message>
<message>
- <location line="+5"/>
- <location line="+108"/>
<source>Directories</source>
<translation>Dossiers</translation>
</message>
<message>
- <location line="-2"/>
<source>Directory:</source>
<translation>Dossier :</translation>
</message>
<message>
- <location line="+40"/>
- <location line="+1110"/>
<source>Error</source>
<translation>Erreur</translation>
</message>
<message>
- <location line="-1109"/>
<source>%1
File not found.
Check path and filename.</source>
@@ -678,17 +583,14 @@ Impossible de trouver le fichier.
Vérifier le chemin et le nom du fichier.</translation>
</message>
<message>
- <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="-289"/>
<source>All Files (*.*)</source>
<translation>Tous les fichiers (*.*)</translation>
</message>
<message>
- <location line="+375"/>
<source>Open </source>
<translation>Ouvrir</translation>
</message>
<message>
- <location line="+155"/>
<source>Select a Directory</source>
<translation>Sélectionner un dossier</translation>
</message>
@@ -696,29 +598,24 @@ Vérifier le chemin et le nom du fichier.</translation>
<context>
<name>Q3LocalFs</name>
<message>
- <location filename="../src/qt3support/network/q3localfs.cpp" line="+130"/>
- <location line="+10"/>
<source>Could not read directory
%1</source>
<translation>Impossible de lire le dossier
%1</translation>
</message>
<message>
- <location line="+45"/>
<source>Could not create directory
%1</source>
<translation>Impossible de créer le dossier
%1</translation>
</message>
<message>
- <location line="+34"/>
<source>Could not remove file or directory
%1</source>
<translation>Impossible de supprimer le fichier ou dossier
%1</translation>
</message>
<message>
- <location line="+27"/>
<source>Could not rename
%1
to
@@ -729,14 +626,12 @@ en
%2</translation>
</message>
<message>
- <location line="+25"/>
<source>Could not open
%1</source>
<translation>Impossible d&apos;ouvrir
%1</translation>
</message>
<message>
- <location line="+68"/>
<source>Could not write
%1</source>
<translation>Impossible d&apos;écrire
@@ -746,12 +641,10 @@ en
<context>
<name>Q3MainWindow</name>
<message>
- <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2051"/>
<source>Line up</source>
<translation>Aligner</translation>
</message>
<message>
- <location line="+2"/>
<source>Customize...</source>
<translation>Personnaliser...</translation>
</message>
@@ -759,7 +652,6 @@ en
<context>
<name>Q3NetworkProtocol</name>
<message>
- <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+854"/>
<source>Operation stopped by the user</source>
<translation>Opération interrompue par l&apos;utilisateur</translation>
</message>
@@ -767,8 +659,6 @@ en
<context>
<name>Q3ProgressDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+224"/>
- <location line="+61"/>
<source>Cancel</source>
<translation>Annuler</translation>
</message>
@@ -776,28 +666,22 @@ en
<context>
<name>Q3TabDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+189"/>
- <location line="+814"/>
<source>OK</source>
<translation>OK</translation>
</message>
<message>
- <location line="-356"/>
<source>Apply</source>
<translation>Appliquer</translation>
</message>
<message>
- <location line="+43"/>
<source>Help</source>
<translation>Aide</translation>
</message>
<message>
- <location line="+45"/>
<source>Defaults</source>
<translation>Par défaut</translation>
</message>
<message>
- <location line="+50"/>
<source>Cancel</source>
<translation>Annuler</translation>
</message>
@@ -805,38 +689,30 @@ en
<context>
<name>Q3TextEdit</name>
<message>
- <location filename="../src/qt3support/text/q3textedit.cpp" line="+5429"/>
<source>&amp;Undo</source>
<translation>&amp;Annuler</translation>
</message>
<message>
- <location line="+1"/>
<source>&amp;Redo</source>
<translation>&amp;Rétablir</translation>
</message>
<message>
- <location line="+5"/>
<source>Cu&amp;t</source>
<translation>Co&amp;uper</translation>
</message>
<message>
- <location line="+1"/>
<source>&amp;Copy</source>
<translation>Cop&amp;ier</translation>
</message>
<message>
- <location line="+2"/>
<source>&amp;Paste</source>
<translation>Co&amp;ller</translation>
</message>
<message>
- <location line="+3"/>
<source>Clear</source>
<translation>Effacer</translation>
</message>
<message>
- <location line="+4"/>
- <location line="+2"/>
<source>Select All</source>
<translation>Tout sélectionner</translation>
</message>
@@ -844,75 +720,66 @@ en
<context>
<name>Q3TitleBar</name>
<message>
- <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+246"/>
<source>System</source>
<translation>Système</translation>
</message>
<message>
- <location line="+3"/>
<source>Restore up</source>
<translation>Restaurer en haut</translation>
</message>
<message>
- <location line="+1"/>
<source>Minimize</source>
<translation>Réduire</translation>
</message>
<message>
- <location line="+3"/>
<source>Restore down</source>
<translation>Restaurer en bas</translation>
</message>
<message>
- <location line="+1"/>
<source>Maximize</source>
<translation>Maximiser</translation>
</message>
<message>
- <location line="+2"/>
<source>Close</source>
<translation>Fermer</translation>
</message>
<message>
- <location line="+18"/>
<source>Contains commands to manipulate the window</source>
<translation>Contient des commandes pour manipuler la fenêtre</translation>
</message>
<message>
- <location line="+3"/>
+ <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+277"/>
<source>Puts a minimized back to normal</source>
<translation>Rend à une fenêtre minimisée son aspect normal</translation>
</message>
<message>
- <location line="+1"/>
<source>Moves the window out of the way</source>
<translation>Déplace la fenêtre à l&apos;écart</translation>
</message>
<message>
- <location line="+3"/>
<source>Puts a maximized window back to normal</source>
<translation>Rend à une fenêtre minimisée son aspect normal</translation>
</message>
<message>
- <location line="+1"/>
<source>Makes the window full screen</source>
<translation>Affiche la fenêtre en plein écran</translation>
</message>
<message>
- <location line="+2"/>
<source>Closes the window</source>
<translation>Ferme la fenêtre</translation>
</message>
<message>
- <location line="+2"/>
<source>Displays the name of the window and contains controls to manipulate it</source>
<translation>Affiche le nom de la fenêtre et contient des contrôles pour la manipuler</translation>
</message>
+ <message>
+ <source>Puts a minimized window back to normal</source>
+ <translation>Rend à une fenêtre minimisée son aspect normal</translation>
+ </message>
</context>
<context>
<name>Q3ToolBar</name>
<message>
- <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+692"/>
<source>More...</source>
<translation>Reste...</translation>
</message>
@@ -920,51 +787,38 @@ en
<context>
<name>Q3UrlOperator</name>
<message>
- <location filename="../src/qt3support/network/q3urloperator.cpp" line="+386"/>
- <location line="+260"/>
- <location line="+4"/>
<source>The protocol `%1&apos; is not supported</source>
<translation>Le protocole &apos;%1&apos; n&apos;est pas géré</translation>
</message>
<message>
- <location line="-260"/>
<source>The protocol `%1&apos; does not support listing directories</source>
<translation>Le protocole `%1&apos; ne permet pas de lister les fichiers d&apos;un dossier</translation>
</message>
<message>
- <location line="+3"/>
<source>The protocol `%1&apos; does not support creating new directories</source>
<translation>Le protocole `%1&apos; ne permet pas de créer de nouveaux dossiers</translation>
</message>
<message>
- <location line="+3"/>
<source>The protocol `%1&apos; does not support removing files or directories</source>
<translation>Le protocole `%1&apos; ne permet pas de supprimer des fichiers ou des dossiers</translation>
</message>
<message>
- <location line="+3"/>
<source>The protocol `%1&apos; does not support renaming files or directories</source>
<translation>Le protocole `%1&apos; ne permet pas de renommer des fichiers ou des dossiers</translation>
</message>
<message>
- <location line="+3"/>
<source>The protocol `%1&apos; does not support getting files</source>
<translation>Le protocole `%1&apos; ne permet pas de recevoir des fichiers</translation>
</message>
<message>
- <location line="+3"/>
<source>The protocol `%1&apos; does not support putting files</source>
<translation>Le protocole `%1&apos; ne permet pas d&apos;envoyer des fichiers</translation>
</message>
<message>
- <location line="+243"/>
- <location line="+4"/>
<source>The protocol `%1&apos; does not support copying or moving files or directories</source>
<translation>Le protocole `%1&apos; ne permet pas de copier ou de déplacer des fichiers</translation>
</message>
<message>
- <location line="+237"/>
- <location line="+1"/>
<source>(unknown)</source>
<translation>(inconnu)</translation>
</message>
@@ -972,27 +826,22 @@ en
<context>
<name>Q3Wizard</name>
<message>
- <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+177"/>
<source>&amp;Cancel</source>
<translation>&amp;Annuler</translation>
</message>
<message>
- <location line="+1"/>
<source>&lt; &amp;Back</source>
<translation>&lt; &amp;Précédent</translation>
</message>
<message>
- <location line="+1"/>
<source>&amp;Next &gt;</source>
<translation>&amp;Suivant &gt;</translation>
</message>
<message>
- <location line="+1"/>
<source>&amp;Finish</source>
<translation>&amp;Terminer</translation>
</message>
<message>
- <location line="+1"/>
<source>&amp;Help</source>
<translation>&amp;Aide</translation>
</message>
@@ -1000,44 +849,30 @@ en
<context>
<name>QAbstractSocket</name>
<message>
- <location filename="../src/network/socket/qabstractsocket.cpp" line="+868"/>
- <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+615"/>
- <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+657"/>
- <location line="+26"/>
<source>Host not found</source>
<translation>Hôte introuvable</translation>
</message>
<message>
- <location line="+50"/>
- <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+3"/>
- <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+4"/>
<source>Connection refused</source>
<translation>Connexion refusée</translation>
</message>
<message>
- <location line="+141"/>
<source>Connection timed out</source>
<translation>Connexion expirée</translation>
</message>
<message>
- <location line="-547"/>
- <location line="+787"/>
- <location line="+208"/>
<source>Operation on socket is not supported</source>
<translation>Opération sur socket non supportée</translation>
</message>
<message>
- <location line="+137"/>
<source>Socket operation timed out</source>
<translation>Opération socket expirée</translation>
</message>
<message>
- <location line="+380"/>
<source>Socket is not connected</source>
<translation>Le socket n&apos;est pas connecté</translation>
</message>
<message>
- <location filename="../src/network/socket/qsocks5socketengine.cpp" line="-8"/>
<source>Network unreachable</source>
<translation>Réseau impossible à rejoindre</translation>
</message>
@@ -1045,17 +880,14 @@ en
<context>
<name>QAbstractSpinBox</name>
<message>
- <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1199"/>
<source>&amp;Step up</source>
<translation>&amp;Augmenter</translation>
</message>
<message>
- <location line="+2"/>
<source>Step &amp;down</source>
<translation>&amp;Diminuer</translation>
</message>
<message>
- <location line="-8"/>
<source>&amp;Select All</source>
<translation>Tout &amp;sélectionner</translation>
</message>
@@ -1069,45 +901,41 @@ en
<translation>LTR</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.h" line="+352"/>
<source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
<translation>L&apos;exécutable &apos;%1&apos; requiert Qt %2 (Qt %3 présent).</translation>
</message>
<message>
- <location line="+2"/>
<source>Incompatible Qt Library Error</source>
<translation>Erreur : bibliothèque Qt incompatible</translation>
</message>
<message>
- <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+376"/>
<source>Activate</source>
<translation>Activer</translation>
</message>
<message>
- <location line="+2"/>
<source>Activates the program&apos;s main window</source>
<translation>Active la fenêtre principale du programme</translation>
</message>
+ <message>
+ <source>QT_LAYOUT_DIRECTION</source>
+ <translation>LTR</translation>
+ </message>
</context>
<context>
<name>QAxSelect</name>
<message>
- <location filename="../src/activeqt/container/qaxselect.ui"/>
<source>Select ActiveX Control</source>
<translation>Sélectionner un contrôle ActiveX</translation>
</message>
<message>
- <location/>
<source>OK</source>
<translation>OK</translation>
</message>
<message>
- <location/>
<source>&amp;Cancel</source>
<translation>&amp;Annuler</translation>
</message>
<message>
- <location/>
<source>COM &amp;Object:</source>
<translation>&amp;Objet COM :</translation>
</message>
@@ -1115,17 +943,14 @@ en
<context>
<name>QCheckBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+114"/>
<source>Uncheck</source>
<translation>Décocher</translation>
</message>
<message>
- <location line="+3"/>
<source>Check</source>
<translation>Cocher</translation>
</message>
<message>
- <location line="+1"/>
<source>Toggle</source>
<translation>Changer</translation>
</message>
@@ -1133,52 +958,42 @@ en
<context>
<name>QColorDialog</name>
<message>
- <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1253"/>
<source>Hu&amp;e:</source>
<translation>&amp;Teinte :</translation>
</message>
<message>
- <location line="+1"/>
<source>&amp;Sat:</source>
<translation>&amp;Saturation :</translation>
</message>
<message>
- <location line="+1"/>
<source>&amp;Val:</source>
<translation>&amp;Valeur :</translation>
</message>
<message>
- <location line="+1"/>
<source>&amp;Red:</source>
<translation>&amp;Rouge :</translation>
</message>
<message>
- <location line="+1"/>
<source>&amp;Green:</source>
<translation>&amp;Vert :</translation>
</message>
<message>
- <location line="+1"/>
<source>Bl&amp;ue:</source>
<translation>Ble&amp;u :</translation>
</message>
<message>
- <location line="+1"/>
<source>A&amp;lpha channel:</source>
<translation>Canal a&amp;lpha :</translation>
</message>
<message>
- <location line="+101"/>
<source>Select Color</source>
<translation>Sélectionner une couleur</translation>
</message>
<message>
- <location line="+137"/>
<source>&amp;Basic colors</source>
<translation>Couleurs de &amp;base</translation>
</message>
<message>
- <location line="+1"/>
<source>&amp;Custom colors</source>
<translation>&amp;Couleurs personnalisées</translation>
</message>
@@ -1195,7 +1010,6 @@ en
<translation type="obsolete">Annuler</translation>
</message>
<message>
- <location line="+1"/>
<source>&amp;Add to Custom Colors</source>
<translation>&amp;Ajouter aux couleurs personnalisées</translation>
</message>
@@ -1207,23 +1021,18 @@ en
<context>
<name>QComboBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1771"/>
- <location line="+65"/>
<source>Open</source>
<translation>Ouvrir</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+544"/>
<source>False</source>
<translation>Faux</translation>
</message>
<message>
- <location line="+1"/>
<source>True</source>
<translation>Vrai</translation>
</message>
<message>
- <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+0"/>
<source>Close</source>
<translation>Fermer</translation>
</message>
@@ -1273,26 +1082,50 @@ en
<comment>QSystemSemaphore</comment>
<translation>%1: ftok a échoué</translation>
</message>
+ <message>
+ <source>%1: key is empty</source>
+ <translation>%1: clé vide</translation>
+ </message>
+ <message>
+ <source>%1: unable to make key</source>
+ <translation>%1: impossible de créer la clé</translation>
+ </message>
+ <message>
+ <source>%1: ftok failed</source>
+ <translation>%1: ftok a échoué</translation>
+ </message>
+ <message>
+ <source>%1: already exists</source>
+ <translation>%1: existe déjà</translation>
+ </message>
+ <message>
+ <source>%1: does not exist</source>
+ <translation>%1: n&apos;existe pas</translation>
+ </message>
+ <message>
+ <source>%1: out of resources</source>
+ <translation>%1: plus de ressources disponibles</translation>
+ </message>
+ <message>
+ <source>%1: unknown error %2</source>
+ <translation>%1: erreur inconnue %2</translation>
+ </message>
</context>
<context>
<name>QDB2Driver</name>
<message>
- <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1276"/>
<source>Unable to connect</source>
<translation>Incapable d&apos;établir une connexion</translation>
</message>
<message>
- <location line="+303"/>
<source>Unable to commit transaction</source>
<translation>Incapable de soumettre la transaction</translation>
</message>
<message>
- <location line="+17"/>
<source>Unable to rollback transaction</source>
<translation>Incapable d&apos;annuler la transaction</translation>
</message>
<message>
- <location line="+15"/>
<source>Unable to set autocommit</source>
<translation>Impossible d&apos;activer l&apos;auto-soumission</translation>
</message>
@@ -1300,33 +1133,26 @@ en
<context>
<name>QDB2Result</name>
<message>
- <location line="-1043"/>
- <location line="+243"/>
<source>Unable to execute statement</source>
<translation>Impossible d&apos;exécuter la requête</translation>
</message>
<message>
- <location line="-206"/>
<source>Unable to prepare statement</source>
<translation>Impossible de prépare la requête</translation>
</message>
<message>
- <location line="+196"/>
<source>Unable to bind variable</source>
<translation>Impossible d&apos;attacher la variable</translation>
</message>
<message>
- <location line="+92"/>
<source>Unable to fetch record %1</source>
<translation>Impossible de récupérer l&apos;enregistrement %1</translation>
</message>
<message>
- <location line="+17"/>
<source>Unable to fetch next</source>
<translation>Impossible de récupérer le suivant</translation>
</message>
<message>
- <location line="+20"/>
<source>Unable to fetch first</source>
<translation>Impossible de récupérer le premier</translation>
</message>
@@ -1334,22 +1160,18 @@ en
<context>
<name>QDateTimeEdit</name>
<message>
- <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2295"/>
<source>AM</source>
<translation>AM</translation>
</message>
<message>
- <location line="+0"/>
<source>am</source>
<translation>am</translation>
</message>
<message>
- <location line="+2"/>
<source>PM</source>
<translation>PM</translation>
</message>
<message>
- <location line="+0"/>
<source>pm</source>
<translation>pm</translation>
</message>
@@ -1357,17 +1179,14 @@ en
<context>
<name>QDial</name>
<message>
- <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+951"/>
<source>QDial</source>
- <translation></translation>
+ <translation>QDial</translation>
</message>
<message>
- <location line="+2"/>
<source>SpeedoMeter</source>
<translation>Tachymètre</translation>
</message>
<message>
- <location line="+2"/>
<source>SliderHandle</source>
<translation>Poignée</translation>
</message>
@@ -1375,12 +1194,10 @@ en
<context>
<name>QDialog</name>
<message>
- <location filename="../src/gui/dialogs/qdialog.cpp" line="+597"/>
<source>What&apos;s This?</source>
<translation>Qu&apos;est-ce que c&apos;est ?</translation>
</message>
<message>
- <location line="-115"/>
<source>Done</source>
<translation>Terminer</translation>
</message>
@@ -1388,124 +1205,98 @@ en
<context>
<name>QDialogButtonBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1866"/>
- <location line="+464"/>
- <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+561"/>
<source>OK</source>
<translation>OK</translation>
</message>
<message>
- <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+3"/>
<source>Save</source>
<translation>Enregistrer</translation>
</message>
<message>
- <location line="+0"/>
<source>&amp;Save</source>
<translation>Enregi&amp;strer</translation>
</message>
<message>
- <location line="+3"/>
<source>Open</source>
<translation>Ouvrir</translation>
</message>
<message>
- <location line="+3"/>
<source>Cancel</source>
<translation>Annuler</translation>
</message>
<message>
- <location line="+0"/>
<source>&amp;Cancel</source>
<translation>&amp;Annuler</translation>
</message>
<message>
- <location line="+3"/>
<source>Close</source>
<translation>Fermer</translation>
</message>
<message>
- <location line="+0"/>
<source>&amp;Close</source>
<translation>&amp;Fermer</translation>
</message>
<message>
- <location line="+3"/>
<source>Apply</source>
<translation>Appliquer</translation>
</message>
<message>
- <location line="+3"/>
<source>Reset</source>
<translation>Réinitialiser</translation>
</message>
<message>
- <location line="+3"/>
<source>Help</source>
<translation>Aide</translation>
</message>
<message>
- <location line="+4"/>
<source>Don&apos;t Save</source>
<translation>Ne pas enregistrer</translation>
</message>
<message>
- <location line="+4"/>
<source>Discard</source>
<translation>Ne pas enregistrer</translation>
</message>
<message>
- <location line="+3"/>
<source>&amp;Yes</source>
<translation>&amp;Oui</translation>
</message>
<message>
- <location line="+3"/>
<source>Yes to &amp;All</source>
<translation>Oui à &amp;tout</translation>
</message>
<message>
- <location line="+3"/>
<source>&amp;No</source>
<translation>&amp;Non</translation>
</message>
<message>
- <location line="+3"/>
<source>N&amp;o to All</source>
<translation>Non à to&amp;ut</translation>
</message>
<message>
- <location line="+3"/>
<source>Save All</source>
<translation>Tout Enregistrer</translation>
</message>
<message>
- <location line="+3"/>
<source>Abort</source>
<translation>Abandonner</translation>
</message>
<message>
- <location line="+3"/>
<source>Retry</source>
<translation>Réessayer</translation>
</message>
<message>
- <location line="+3"/>
<source>Ignore</source>
<translation>Ignorer</translation>
</message>
<message>
- <location line="+3"/>
<source>Restore Defaults</source>
<translation>Restaurer les valeurs par défaut</translation>
</message>
<message>
- <location line="-29"/>
<source>Close without Saving</source>
- <translation>Fermer sans sauvegarder</translation>
+ <translation>Fermer sans enregistrer</translation>
</message>
<message>
- <location line="-27"/>
<source>&amp;OK</source>
<translation>&amp;OK</translation>
</message>
@@ -1513,17 +1304,15 @@ en
<context>
<name>QDirModel</name>
<message>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+453"/>
<source>Name</source>
<translation>Nom</translation>
</message>
<message>
- <location line="+1"/>
<source>Size</source>
<translation>Taille</translation>
</message>
<message>
- <location line="+3"/>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+457"/>
<source>Kind</source>
<comment>Match OS X Finder</comment>
<translation>Type</translation>
@@ -1535,25 +1324,29 @@ en
<translation>Type</translation>
</message>
<message>
- <location line="+6"/>
<source>Date Modified</source>
<translation>Dernière Modification</translation>
</message>
+ <message>
+ <source>Kind</source>
+ <translation>Type</translation>
+ </message>
+ <message>
+ <source>Type</source>
+ <translation>Type</translation>
+ </message>
</context>
<context>
<name>QDockWidget</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1239"/>
<source>Close</source>
<translation>Fermer</translation>
</message>
<message>
- <location line="+2"/>
<source>Dock</source>
<translation>Attacher</translation>
</message>
<message>
- <location line="+1"/>
<source>Float</source>
<translation>Détacher</translation>
</message>
@@ -1561,12 +1354,10 @@ en
<context>
<name>QDoubleSpinBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="-537"/>
<source>More</source>
<translation>Plus</translation>
</message>
<message>
- <location line="+2"/>
<source>Less</source>
<translation>Moins</translation>
</message>
@@ -1574,27 +1365,22 @@ en
<context>
<name>QErrorMessage</name>
<message>
- <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+391"/>
<source>&amp;Show this message again</source>
<translation>&amp;Afficher ce message de nouveau</translation>
</message>
<message>
- <location line="+1"/>
<source>&amp;OK</source>
<translation>&amp;OK</translation>
</message>
<message>
- <location line="-200"/>
<source>Debug Message:</source>
<translation>Message de débogage:</translation>
</message>
<message>
- <location line="+3"/>
<source>Warning:</source>
<translation>Avertissement:</translation>
</message>
<message>
- <location line="+3"/>
<source>Fatal Error:</source>
<translation>Erreur fatale:</translation>
</message>
@@ -1602,115 +1388,90 @@ en
<context>
<name>QFile</name>
<message>
- <location filename="../src/corelib/io/qfile.cpp" line="+708"/>
- <location line="+141"/>
<source>Destination file exists</source>
<translation>Le fichier destination existe</translation>
</message>
<message>
- <location line="-108"/>
<source>Cannot remove source file</source>
<translation>Impossible de supprimer le fichier source</translation>
</message>
<message>
- <location line="+120"/>
<source>Cannot open %1 for input</source>
<translation>Impossible d&apos;ouvrir %1 pour lecture</translation>
</message>
<message>
- <location line="+17"/>
<source>Cannot open for output</source>
<translation>Impossible d&apos;ouvrir pour écriture</translation>
</message>
<message>
- <location line="+10"/>
<source>Failure to write block</source>
<translation>Impossible d&apos;écrire un bloc</translation>
</message>
<message>
- <location line="+13"/>
<source>Cannot create %1 for output</source>
<translation>Impossible de créer %1 pour écriture</translation>
</message>
+ <message>
+ <source>Will not rename sequential file using block copy</source>
+ <translation>Ne renommera pas le fichier séquentiel avec la copie bloc</translation>
+ </message>
</context>
<context>
<name>QFileDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.ui"/>
- <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/>
<source>Back</source>
<translation>Précédent (historique)</translation>
</message>
<message>
- <location/>
- <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/>
<source>List View</source>
<translation>Affichage liste</translation>
</message>
<message>
- <location/>
- <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/>
<source>Detail View</source>
<translation>Affichage détaillé</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+498"/>
<source>Open</source>
<translation>Ouvrir</translation>
</message>
<message>
- <location line="+680"/>
- <location line="+50"/>
- <location line="+1471"/>
- <location line="+75"/>
<source>&amp;Open</source>
<translation>&amp;Ouvrir</translation>
</message>
<message>
- <location line="-1596"/>
- <location line="+50"/>
<source>&amp;Save</source>
<translation>&amp;Enregistrer</translation>
</message>
<message>
- <location line="-699"/>
<source>&amp;Rename</source>
<translation>&amp;Renommer</translation>
</message>
<message>
- <location line="+1"/>
<source>&amp;Delete</source>
<translation>Suppri&amp;mer</translation>
</message>
<message>
- <location line="+1"/>
<source>Show &amp;hidden files</source>
<translation>Afficher les fic&amp;hiers cachés</translation>
</message>
<message>
- <location line="+650"/>
<source>Directories</source>
<translation>Dossiers</translation>
</message>
<message>
- <location line="+1869"/>
<source>Recent Places</source>
<translation>Emplacements récents</translation>
</message>
<message>
- <location line="-2535"/>
- <location line="+444"/>
<source>All Files (*)</source>
<translation>Tous les fichiers (*)</translation>
</message>
<message>
- <location line="+1054"/>
<source>%1 already exists.
Do you want to replace it?</source>
<translation>Le fichier %1 existe déjà. Voulez-vous l&apos;écraser ?</translation>
</message>
<message>
- <location line="+20"/>
<source>%1
File not found.
Please verify the correct file name was given.</source>
@@ -1719,25 +1480,18 @@ Fichier introuvable.
Veuillez vérifier que le nom du fichier est correct.</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+402"/>
<source>My Computer</source>
<translation>Poste de travail</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.ui"/>
- <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/>
<source>Parent Directory</source>
<translation>Dossier parent</translation>
</message>
<message>
- <location/>
- <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/>
<source>Files of type:</source>
<translation>Fichiers de type :</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-1496"/>
- <location line="+648"/>
<source>Directory:</source>
<translation>Dossier :</translation>
</message>
@@ -1750,8 +1504,6 @@ Fichier introuvable.
Veuillez vérifier que le nom du fichier est correct</translation>
</message>
<message>
- <location line="+794"/>
- <location line="+862"/>
<source>%1
Directory not found.
Please verify the correct directory name was given.</source>
@@ -1760,153 +1512,136 @@ Dossier introuvable.
Veuillez vérifier que le nom du dossier est correct.</translation>
</message>
<message>
- <location line="-218"/>
<source>&apos;%1&apos; is write protected.
Do you want to delete it anyway?</source>
<translation>&apos;%1&apos; est protégé en écriture.
Voulez-vous quand même le supprimer ?</translation>
</message>
<message>
- <location line="+5"/>
<source>Are sure you want to delete &apos;%1&apos;?</source>
<translation>Etes-vous sûr de vouloir supprimer &apos;%1&apos; ?</translation>
</message>
<message>
- <location line="+15"/>
<source>Could not delete directory.</source>
<translation>Impossible de supprimer le dossier.</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+160"/>
<source>All Files (*.*)</source>
<translation>Tous les fichiers (*.*)</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2143"/>
<source>Save As</source>
<translation>Enregistrer sous</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+411"/>
<source>Drive</source>
<translation>Unité</translation>
</message>
<message>
- <location line="+3"/>
- <location line="+1"/>
<source>File</source>
<translation>Fichier</translation>
</message>
<message>
- <location line="+29"/>
<source>Unknown</source>
<translation>Inconnu</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-4"/>
<source>Find Directory</source>
<translation>Chercher dans le dossier</translation>
</message>
<message>
- <location line="+29"/>
<source>Show </source>
<translation>Montrer </translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.ui"/>
- <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/>
<source>Forward</source>
<translation>Successeur</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+1970"/>
<source>New Folder</source>
<translation>Nouveau dossier</translation>
</message>
<message>
- <location line="-1963"/>
<source>&amp;New Folder</source>
<translation>&amp;Nouveau dossier</translation>
</message>
<message>
- <location line="+656"/>
- <location line="+38"/>
<source>&amp;Choose</source>
<translation>&amp;Choisir</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qsidebar.cpp" line="+418"/>
<source>Remove</source>
<translation>Supprimer</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-687"/>
- <location line="+652"/>
<source>File &amp;name:</source>
<translation>&amp;Nom de fichier :</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.ui"/>
- <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/>
<source>Look in:</source>
<translation>Voir dans:</translation>
</message>
<message>
- <location/>
- <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/>
<source>Create New Folder</source>
<translation>Créer un nouveau dossier</translation>
</message>
+ <message>
+ <source>File Folder</source>
+ <translation>Fichier Dossier</translation>
+ </message>
+ <message>
+ <source>Folder</source>
+ <translation>Dossier</translation>
+ </message>
+ <message>
+ <source>Alias</source>
+ <translation>Alias</translation>
+ </message>
+ <message>
+ <source>Shortcut</source>
+ <translation>Raccourci</translation>
+ </message>
</context>
<context>
<name>QFileSystemModel</name>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+744"/>
<source>%1 TB</source>
<translation>%1 To</translation>
</message>
<message>
- <location line="+2"/>
<source>%1 GB</source>
<translation>%1 Go</translation>
</message>
<message>
- <location line="+2"/>
<source>%1 MB</source>
<translation>%1 Mo</translation>
</message>
<message>
- <location line="+2"/>
<source>%1 KB</source>
<translation>%1 Ko</translation>
</message>
<message>
- <location line="+1"/>
<source>%1 bytes</source>
<translation>%1 octets</translation>
</message>
<message>
- <location line="+77"/>
<source>Invalid filename</source>
<translation>Nom de fichier invalide</translation>
</message>
<message>
- <location line="+1"/>
<source>&lt;b&gt;The name &quot;%1&quot; can not be used.&lt;/b&gt;&lt;p&gt;Try using another name, with fewer characters or no punctuations marks.</source>
<translation>&lt;b&gt;Le nom &quot;%1&quot; ne peut pas être utilisé.&lt;/b&gt;&lt;p&gt;Essayez un autre nom avec moins de caractères ou sans ponctuation.</translation>
</message>
<message>
- <location line="+63"/>
<source>Name</source>
<translation>Nom</translation>
</message>
<message>
- <location line="+2"/>
<source>Size</source>
<translation>Taille</translation>
</message>
<message>
- <location line="+4"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+898"/>
<source>Kind</source>
<comment>Match OS X Finder</comment>
<translation>Type</translation>
@@ -1918,283 +1653,238 @@ Voulez-vous quand même le supprimer ?</translation>
<translation>Type</translation>
</message>
<message>
- <location line="+7"/>
<source>Date Modified</source>
<translation>Dernière modification</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+234"/>
<source>My Computer</source>
<translation>Mon ordinateur</translation>
</message>
<message>
- <location line="+2"/>
<source>Computer</source>
<translation>Ordinateur</translation>
</message>
+ <message>
+ <source>Kind</source>
+ <translation>Type</translation>
+ </message>
+ <message>
+ <source>Type</source>
+ <translation>Type</translation>
+ </message>
+ <message>
+ <source>%1 byte(s)</source>
+ <translation>%1 octet(s)</translation>
+ </message>
</context>
<context>
<name>QFontDatabase</name>
<message>
- <location filename="../src/gui/text/qfontdatabase.cpp" line="+90"/>
- <location line="+1176"/>
<source>Normal</source>
- <translation></translation>
+ <translation>Normal</translation>
</message>
<message>
- <location line="-1173"/>
- <location line="+12"/>
- <location line="+1149"/>
<source>Bold</source>
<translation>Gras</translation>
</message>
<message>
- <location line="-1158"/>
- <location line="+1160"/>
<source>Demi Bold</source>
<translation>Semi Gras</translation>
</message>
<message>
- <location line="-1157"/>
- <location line="+18"/>
- <location line="+1135"/>
<source>Black</source>
<translation>Noir</translation>
</message>
<message>
- <location line="-1145"/>
<source>Demi</source>
- <translation></translation>
+ <translation>Demi</translation>
</message>
<message>
- <location line="+6"/>
- <location line="+1145"/>
<source>Light</source>
<translation>Léger</translation>
</message>
<message>
- <location line="-1004"/>
- <location line="+1007"/>
<source>Italic</source>
<translation>Italique</translation>
</message>
<message>
- <location line="-1004"/>
- <location line="+1006"/>
<source>Oblique</source>
- <translation></translation>
+ <translation>Oblique</translation>
</message>
<message>
- <location line="+705"/>
<source>Any</source>
<translation>Tous</translation>
</message>
<message>
- <location line="+3"/>
<source>Latin</source>
- <translation></translation>
+ <translation>Latin</translation>
</message>
<message>
- <location line="+3"/>
<source>Greek</source>
<translation>Grec</translation>
</message>
<message>
- <location line="+3"/>
<source>Cyrillic</source>
<translation>Cyrillique</translation>
</message>
<message>
- <location line="+3"/>
<source>Armenian</source>
<translation>Arménien</translation>
</message>
<message>
- <location line="+3"/>
<source>Hebrew</source>
<translation>Hébreu</translation>
</message>
<message>
- <location line="+3"/>
<source>Arabic</source>
<translation>Arabe</translation>
</message>
<message>
- <location line="+3"/>
<source>Syriac</source>
<translation>Syriaque</translation>
</message>
<message>
- <location line="+3"/>
<source>Thaana</source>
- <translation></translation>
+ <translation>Thaana</translation>
</message>
<message>
- <location line="+3"/>
<source>Devanagari</source>
- <translation></translation>
+ <translation>Devanagari</translation>
</message>
<message>
- <location line="+3"/>
<source>Bengali</source>
- <translation></translation>
+ <translation>Bengali</translation>
</message>
<message>
- <location line="+3"/>
<source>Gurmukhi</source>
- <translation></translation>
+ <translation>Gurmukhi</translation>
</message>
<message>
- <location line="+3"/>
<source>Gujarati</source>
- <translation></translation>
+ <translation>Gujarati</translation>
</message>
<message>
- <location line="+3"/>
<source>Oriya</source>
- <translation></translation>
+ <translation>Oriya</translation>
</message>
<message>
- <location line="+3"/>
<source>Tamil</source>
- <translation></translation>
+ <translation>Tamil</translation>
</message>
<message>
- <location line="+3"/>
<source>Telugu</source>
- <translation></translation>
+ <translation>Telugu</translation>
</message>
<message>
- <location line="+3"/>
<source>Kannada</source>
- <translation></translation>
+ <translation>Kannada</translation>
</message>
<message>
- <location line="+3"/>
<source>Malayalam</source>
- <translation></translation>
+ <translation>Malayalam</translation>
</message>
<message>
- <location line="+3"/>
<source>Sinhala</source>
- <translation></translation>
+ <translation>Sinhala</translation>
</message>
<message>
- <location line="+3"/>
<source>Thai</source>
- <translation></translation>
+ <translation>Thaï</translation>
</message>
<message>
- <location line="+3"/>
<source>Lao</source>
- <translation></translation>
+ <translatorcomment>Lao/Laotien sont corrects</translatorcomment>
+ <translation>Lao</translation>
</message>
<message>
- <location line="+3"/>
<source>Tibetan</source>
<translation>Tibétain</translation>
</message>
<message>
- <location line="+3"/>
<source>Myanmar</source>
- <translation></translation>
+ <translatorcomment>Myanmar/Birman sont corrects mais Myanmar semble plus adapté pour la langue écrite</translatorcomment>
+ <translation>Myanmar</translation>
</message>
<message>
- <location line="+3"/>
<source>Georgian</source>
<translation>Géorgien</translation>
</message>
<message>
- <location line="+3"/>
<source>Khmer</source>
- <translation></translation>
+ <translation>Khmer</translation>
</message>
<message>
- <location line="+3"/>
<source>Simplified Chinese</source>
<translation>Chinois Simplifié</translation>
</message>
<message>
- <location line="+3"/>
<source>Traditional Chinese</source>
<translation>Chinois Traditionnel</translation>
</message>
<message>
- <location line="+3"/>
<source>Japanese</source>
<translation>Japonais</translation>
</message>
<message>
- <location line="+3"/>
<source>Korean</source>
<translation>Coréen</translation>
</message>
<message>
- <location line="+3"/>
<source>Vietnamese</source>
<translation>Vietnamien</translation>
</message>
<message>
- <location line="+3"/>
<source>Symbol</source>
<translation>Symbole</translation>
</message>
<message>
- <location line="+3"/>
<source>Ogham</source>
- <translation></translation>
+ <translation>Ogham</translation>
</message>
<message>
- <location line="+3"/>
<source>Runic</source>
<translation>Runique</translation>
</message>
+ <message>
+ <source>N&apos;Ko</source>
+ <translation>N&apos;Ko</translation>
+ </message>
</context>
<context>
<name>QFontDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+772"/>
<source>&amp;Font</source>
<translation>&amp;Police</translation>
</message>
<message>
- <location line="+1"/>
<source>Font st&amp;yle</source>
<translation>St&amp;yle de police</translation>
</message>
<message>
- <location line="+1"/>
<source>&amp;Size</source>
<translation>&amp;Taille</translation>
</message>
<message>
- <location line="+1"/>
<source>Effects</source>
<translation>Effets</translation>
</message>
<message>
- <location line="+1"/>
<source>Stri&amp;keout</source>
<translation>&amp;Barré</translation>
</message>
<message>
- <location line="+1"/>
<source>&amp;Underline</source>
<translation>&amp;Souligné</translation>
</message>
<message>
- <location line="+1"/>
<source>Sample</source>
<translation>Exemple</translation>
</message>
<message>
- <location line="-603"/>
- <location line="+247"/>
<source>Select Font</source>
<translation>Choisir une police</translation>
</message>
<message>
- <location line="+357"/>
<source>Wr&amp;iting System</source>
<translation>&amp;Système d&apos;écriture</translation>
</message>
@@ -2202,145 +1892,104 @@ Voulez-vous quand même le supprimer ?</translation>
<context>
<name>QFtp</name>
<message>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+2303"/>
<source>Host %1 found</source>
<translation>Hôte %1 trouvé</translation>
</message>
<message>
- <location line="+7"/>
<source>Host found</source>
<translation>Hôte trouvé</translation>
</message>
<message>
- <location filename="../src/network/access/qftp.cpp" line="+1003"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="-1456"/>
- <location line="+1451"/>
<source>Connected to host %1</source>
<translation>Connecté à l&apos;hôte %1</translation>
</message>
<message>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+7"/>
<source>Connected to host</source>
<translation>Connecté à l&apos;hôte</translation>
</message>
<message>
- <location line="-5"/>
<source>Connection to %1 closed</source>
<translation>Connexion à %1 arrêtée</translation>
</message>
<message>
- <location filename="../src/network/access/qftp.cpp" line="+1375"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="-243"/>
- <location line="+250"/>
<source>Connection closed</source>
<translation>Connexion arrêtée</translation>
</message>
<message>
- <location line="-1487"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="-1566"/>
<source>Host %1 not found</source>
<translation>Hôte %1 introuvable</translation>
</message>
<message>
- <location line="+4"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+4"/>
<source>Connection refused to host %1</source>
<translation>Connexion à l&apos;hôte %1 refusée</translation>
</message>
<message>
- <location line="+4"/>
<source>Connection timed out to host %1</source>
<translation>Connexion expirée vers l&apos;hôte %1</translation>
</message>
<message>
- <location line="+501"/>
- <location line="+29"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+458"/>
- <location line="+728"/>
<source>Unknown error</source>
<translation>Erreur inconnue</translation>
</message>
<message>
- <location line="+889"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+77"/>
<source>Connecting to host failed:
%1</source>
<translation>Échec de la connexion à l&apos;hôte
%1</translation>
</message>
<message>
- <location line="+4"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Login failed:
%1</source>
<translation>Échec du login:
%1</translation>
</message>
<message>
- <location line="+4"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Listing directory failed:
%1</source>
<translation>Échec du listage du dossier :
%1</translation>
</message>
<message>
- <location line="+4"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Changing directory failed:
%1</source>
<translation>Échec du changement de dossier :
%1</translation>
</message>
<message>
- <location line="+4"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Downloading file failed:
%1</source>
<translation>Échec du téléchargement du fichier :
%1</translation>
</message>
<message>
- <location line="+4"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Uploading file failed:
%1</source>
<translation>Échec du télédéchargement :
%1</translation>
</message>
<message>
- <location line="+4"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Removing file failed:
%1</source>
<translation>Échec de la suppression d&apos;un fichier :
%1</translation>
</message>
<message>
- <location line="+4"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Creating directory failed:
%1</source>
<translation>Échec de la création d&apos;un dossier :
%1</translation>
</message>
<message>
- <location line="+4"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Removing directory failed:
%1</source>
<translation>Échec de la suppression d&apos;un dossier :
%1</translation>
</message>
<message>
- <location line="-1524"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="-1356"/>
<source>Not connected</source>
<translation>Non connecté</translation>
</message>
<message>
- <location line="+396"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+332"/>
<source>Connection refused for data connection</source>
<translation>Connexion donnée refusée</translation>
</message>
@@ -2348,7 +1997,6 @@ Voulez-vous quand même le supprimer ?</translation>
<context>
<name>QHostInfo</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_p.h" line="+183"/>
<source>Unknown error</source>
<translation>Erreur inconnue</translation>
</message>
@@ -2356,185 +2004,133 @@ Voulez-vous quand même le supprimer ?</translation>
<context>
<name>QHostInfoAgent</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+178"/>
- <location line="+9"/>
- <location line="+64"/>
- <location line="+31"/>
- <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+180"/>
- <location line="+9"/>
- <location line="+40"/>
- <location line="+27"/>
<source>Host not found</source>
<translation>Hôte introuvable</translation>
</message>
<message>
- <location line="-44"/>
- <location line="+39"/>
- <location filename="../src/network/kernel/qhostinfo_win.cpp" line="-34"/>
- <location line="+29"/>
<source>Unknown address type</source>
<translation>Adresse de type inconnu</translation>
</message>
<message>
- <location line="+8"/>
- <location filename="../src/network/kernel/qhostinfo_win.cpp" line="-19"/>
- <location line="+27"/>
<source>Unknown error</source>
<translation>Erreur inconnue</translation>
</message>
+ <message>
+ <source>No host name given</source>
+ <translation>Aucun nom d&apos;hôte n&apos;a été donné</translation>
+ </message>
+ <message>
+ <source>Invalid hostname</source>
+ <translation>Nom d&apos;hôte non valide</translation>
+ </message>
</context>
<context>
<name>QHttp</name>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+876"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+1836"/>
<source>Connection refused</source>
<translation>Connexion refusée</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="+2631"/>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-4"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
<source>Host %1 not found</source>
<translation>Hôte %1 introuvable</translation>
</message>
<message>
- <location line="-62"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="-45"/>
<source>Wrong content length</source>
<translation>Longueur du contenu invalide</translation>
</message>
<message>
- <location line="+82"/>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+10"/>
- <location line="+19"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+48"/>
<source>HTTP request failed</source>
<translation>Échec de la requête HTTP</translation>
</message>
<message>
- <location filename="../src/qt3support/network/q3http.cpp" line="+450"/>
<source>Host %1 found</source>
<translation>Hôte %1 trouvé</translation>
</message>
<message>
- <location line="+14"/>
<source>Host found</source>
<translation>Hôte trouvé</translation>
</message>
<message>
- <location line="-11"/>
<source>Connected to host %1</source>
<translation>Connecté à l&apos;hôte %1</translation>
</message>
<message>
- <location line="+14"/>
<source>Connected to host</source>
<translation>Connecté à l&apos;hôte</translation>
</message>
<message>
- <location line="-11"/>
<source>Connection to %1 closed</source>
<translation>Connexion à %1 arrêtée</translation>
</message>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-22"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+14"/>
<source>Connection closed</source>
<translation>Connexion arrêtée</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="-1077"/>
- <location line="+820"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="-1152"/>
- <location line="+567"/>
<source>Unknown error</source>
<translation>Erreur inconnue</translation>
</message>
<message>
- <location line="-568"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="-370"/>
<source>Request aborted</source>
<translation>Requête interrompue</translation>
</message>
<message>
- <location line="+579"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+381"/>
<source>No server set to connect to</source>
<translation>Aucun serveur spécifié</translation>
</message>
<message>
- <location line="+168"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+60"/>
<source>Server closed connection unexpectedly</source>
<translation>Connexion interrompue par le serveur</translation>
</message>
<message>
- <location line="+151"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+113"/>
<source>Invalid HTTP response header</source>
<translation>Entête de réponse HTTP invalide</translation>
</message>
<message>
- <location line="+28"/>
<source>Unknown authentication method</source>
<translation>Méthode d&apos;authentification inconnue</translation>
</message>
<message>
- <location line="+97"/>
- <location line="+48"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+40"/>
- <location line="+47"/>
<source>Invalid HTTP chunked body</source>
<translation>Fragment HTTP invalide</translation>
</message>
<message>
- <location line="+38"/>
<source>Error writing response to device</source>
<translation>Erreur lors de l&apos;écriture de la réponse</translation>
</message>
<message>
- <location line="-173"/>
<source>Proxy authentication required</source>
<translation>Le proxy requiert une authentification</translation>
</message>
<message>
- <location line="+4"/>
<source>Authentication required</source>
<translation>Authentification requise</translation>
</message>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+6"/>
<source>Proxy requires authentication</source>
<translation>Le proxy requiert une authentification</translation>
</message>
<message>
- <location line="+3"/>
<source>Host requires authentication</source>
<translation>L&apos;hôte requiert une authentification</translation>
</message>
<message>
- <location line="+3"/>
<source>Data corrupted</source>
<translation>Données corrompues</translation>
</message>
<message>
- <location line="+3"/>
<source>Unknown protocol specified</source>
<translation>Protocole spécifié inconnu</translation>
</message>
<message>
- <location line="+3"/>
<source>SSL handshake failed</source>
<translation>le handshake SSL a échoué</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="-138"/>
<source>Connection refused (or timed out)</source>
<translation>Connexion refusée (ou délai expiré)</translation>
</message>
<message>
- <location line="-2263"/>
<source>HTTPS connection requested but SSL support not compiled in</source>
<translation>Connexion HTTPS requise mais le support SSL n&apos;est pas compilé</translation>
</message>
@@ -2542,47 +2138,38 @@ Voulez-vous quand même le supprimer ?</translation>
<context>
<name>QHttpSocketEngine</name>
<message>
- <location filename="../src/network/socket/qhttpsocketengine.cpp" line="-89"/>
<source>Did not receive HTTP response from proxy</source>
<translation>Pas de réponse HTTP de la part du proxy</translation>
</message>
<message>
- <location line="+25"/>
<source>Error parsing authentication request from proxy</source>
<translation>Erreur dans le reqête d&apos;authentification reçue du proxy</translation>
</message>
<message>
- <location line="+31"/>
<source>Authentication required</source>
<translation>Authentification requise</translation>
</message>
<message>
- <location line="+27"/>
<source>Proxy denied connection</source>
<translation>Le Proxy a rejeté la connexion</translation>
</message>
<message>
- <location line="+10"/>
<source>Error communicating with HTTP proxy</source>
<translation>Erreur de communication avec le proxy HTTP</translation>
</message>
<message>
- <location line="+23"/>
<source>Proxy server not found</source>
<translation>Serveur proxy introuvable</translation>
</message>
<message>
- <location line="+2"/>
<source>Proxy connection refused</source>
<translation>Connexion au proxy refusée</translation>
</message>
<message>
- <location line="+2"/>
<source>Proxy server connection timed out</source>
<translation>La connexion au serveur proxy a expiré</translation>
</message>
<message>
- <location line="+2"/>
<source>Proxy connection closed prematurely</source>
<translation>La connexion au serveur proxy a été fermée prématurément</translation>
</message>
@@ -2590,22 +2177,18 @@ Voulez-vous quand même le supprimer ?</translation>
<context>
<name>QIBaseDriver</name>
<message>
- <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1428"/>
<source>Error opening database</source>
<translation>Erreur d&apos;ouverture de la base de données</translation>
</message>
<message>
- <location line="+54"/>
<source>Could not start transaction</source>
<translation>La transaction n&apos;a pas pu être démarrée</translation>
</message>
<message>
- <location line="+13"/>
<source>Unable to commit transaction</source>
<translation>Incapable de soumettre la transaction</translation>
</message>
<message>
- <location line="+13"/>
<source>Unable to rollback transaction</source>
<translation>Incapable d&apos;annuler la transaction</translation>
</message>
@@ -2613,89 +2196,70 @@ Voulez-vous quand même le supprimer ?</translation>
<context>
<name>QIBaseResult</name>
<message>
- <location line="-1097"/>
<source>Unable to create BLOB</source>
<translation>Impossible de créer un BLOB</translation>
</message>
<message>
- <location line="+6"/>
<source>Unable to write BLOB</source>
<translation>Impossible d&apos;écrire le BLOB</translation>
</message>
<message>
- <location line="+14"/>
<source>Unable to open BLOB</source>
<translation>Impossible d&apos;ouvrir le BLOB</translation>
</message>
<message>
- <location line="+16"/>
<source>Unable to read BLOB</source>
<translation>Impossible de lire le BLOB</translation>
</message>
<message>
- <location line="+125"/>
- <location line="+189"/>
<source>Could not find array</source>
<translation>Impossible de trouver le tableau</translation>
</message>
<message>
- <location line="-157"/>
<source>Could not get array data</source>
<translation>Impossible de trouver le tableau de données</translation>
</message>
<message>
- <location line="+212"/>
<source>Could not get query info</source>
<translation>Impossible d&apos;avoir les informations sur la requête</translation>
</message>
<message>
- <location line="+20"/>
<source>Could not start transaction</source>
<translation>Impossible de démarrer la transaction</translation>
</message>
<message>
- <location line="+19"/>
<source>Unable to commit transaction</source>
<translation>Incapable de soumettre la transaction</translation>
</message>
<message>
- <location line="+33"/>
<source>Could not allocate statement</source>
<translation>Impossible d&apos;allouer la requête</translation>
</message>
<message>
- <location line="+5"/>
<source>Could not prepare statement</source>
<translation>Impossible de préparer la requête</translation>
</message>
<message>
- <location line="+5"/>
- <location line="+7"/>
<source>Could not describe input statement</source>
<translation>Impossible de décrire la requête</translation>
</message>
<message>
- <location line="+10"/>
<source>Could not describe statement</source>
<translation>Impossible de décrire la requête</translation>
</message>
<message>
- <location line="+115"/>
<source>Unable to close statement</source>
<translation>Impossible de fermer la requête</translation>
</message>
<message>
- <location line="+8"/>
<source>Unable to execute query</source>
<translation>Impossible d&apos;exécuter la requête</translation>
</message>
<message>
- <location line="+46"/>
<source>Could not fetch next item</source>
<translation>Impossible de récuperer l&apos;élément suivant</translation>
</message>
<message>
- <location line="+160"/>
<source>Could not get statement info</source>
<translation>Impossible d&apos;avoir les informations sur la requête</translation>
</message>
@@ -2703,27 +2267,22 @@ Voulez-vous quand même le supprimer ?</translation>
<context>
<name>QIODevice</name>
<message>
- <location filename="../src/corelib/global/qglobal.cpp" line="+1869"/>
<source>Permission denied</source>
<translation>Accès refusé</translation>
</message>
<message>
- <location line="+3"/>
<source>Too many open files</source>
<translation>Trop de fichiers ouverts simultanément</translation>
</message>
<message>
- <location line="+3"/>
<source>No such file or directory</source>
<translation>Aucun fichier ou dossier de ce nom</translation>
</message>
<message>
- <location line="+3"/>
<source>No space left on device</source>
<translation>Aucun espace disponible sur le périphérique</translation>
</message>
<message>
- <location filename="../src/corelib/io/qiodevice.cpp" line="+1536"/>
<source>Unknown error</source>
<translation>Erreur inconnue</translation>
</message>
@@ -2731,30 +2290,33 @@ Voulez-vous quand même le supprimer ?</translation>
<context>
<name>QInputContext</name>
<message>
- <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+242"/>
<source>XIM</source>
<translation>XIM</translation>
</message>
<message>
- <location line="+23"/>
<source>XIM input method</source>
<translation>Méthode d&apos;entrée XIM</translation>
</message>
<message>
- <location line="+4"/>
<source>Windows input method</source>
<translation>Méthode d&apos;entrée Windows</translation>
</message>
<message>
- <location line="+4"/>
<source>Mac OS X input method</source>
<translation>Méthode d&apos;entrée Mac OS X</translation>
</message>
+ <message>
+ <source>FEP</source>
+ <translation>Processeur frontal</translation>
+ </message>
+ <message>
+ <source>S60 FEP input method</source>
+ <translation>Méthode de saisie processeur frontal S60</translation>
+ </message>
</context>
<context>
<name>QInputDialog</name>
<message>
- <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+223"/>
<source>Enter a value:</source>
<translation>Entrer une valeur :</translation>
</message>
@@ -2774,66 +2336,50 @@ Voulez-vous quand même le supprimer ?</translation>
<translation type="obsolete">QLibrary::resolve_sys: Symbole &quot;%1&quot; non défini dans %2 (%3)</translation>
</message>
<message>
- <location filename="../src/corelib/plugin/qlibrary.cpp" line="+378"/>
<source>Could not mmap &apos;%1&apos;: %2</source>
<translation>Impossible d&apos;établir la projection en mémoire de &apos;%1&apos; : %2</translation>
</message>
<message>
- <location line="+22"/>
<source>Plugin verification data mismatch in &apos;%1&apos;</source>
<translation>Données de vérification du plugin différente dans &apos;%1&apos;</translation>
</message>
<message>
- <location line="+6"/>
<source>Could not unmap &apos;%1&apos;: %2</source>
<translation>Impossible de supprimer la projection en mémoire de &apos;%1&apos; : %2</translation>
</message>
<message>
- <location line="+302"/>
<source>The plugin &apos;%1&apos; uses incompatible Qt library. (%2.%3.%4) [%5]</source>
<translation>Le plugin &apos;%1&apos; utilise une bibliothèque Qt incompatible. (%2.%3.%4) [%5]</translation>
</message>
<message>
- <location line="+20"/>
<source>The plugin &apos;%1&apos; uses incompatible Qt library. Expected build key &quot;%2&quot;, got &quot;%3&quot;</source>
<translation>Le plugin &apos;%1&apos; utilise une bibliothèque Qt incompatible. Clé attendue &quot;%2&quot;, reçue &quot;%3&quot;</translation>
</message>
<message>
- <location line="+340"/>
<source>Unknown error</source>
<translation>Erreur inconnue</translation>
</message>
<message>
- <location line="-377"/>
- <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+280"/>
<source>The shared library was not found.</source>
<translation>La bibliothèque partagée est introuvable.</translation>
</message>
<message>
- <location line="+2"/>
<source>The file &apos;%1&apos; is not a valid Qt plugin.</source>
<translation>Le fichier &apos;%1&apos; n&apos;est pas un plugin Qt valide.</translation>
</message>
<message>
- <location line="+43"/>
<source>The plugin &apos;%1&apos; uses incompatible Qt library. (Cannot mix debug and release libraries.)</source>
<translation>Le plugin &apos;%1&apos; utilise une bibliothèque Qt incompatible. (Il est impossible de mélanger des bibliothèques &apos;debug&apos; et &apos;release&apos;.)</translation>
</message>
<message>
- <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+209"/>
- <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+99"/>
<source>Cannot load library %1: %2</source>
<translation>Impossible de charger la bibliothèque %1 : %2</translation>
</message>
<message>
- <location line="+16"/>
- <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+26"/>
<source>Cannot unload library %1: %2</source>
<translation>Impossible de décharger la bibliothèque %1 : %2</translation>
</message>
<message>
- <location line="+31"/>
- <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+15"/>
<source>Cannot resolve symbol &quot;%1&quot; in %2: %3</source>
<translation>Impossible de résoudre le symbole &quot;%1&quot; dans %2 : %3</translation>
</message>
@@ -2841,37 +2387,30 @@ Voulez-vous quand même le supprimer ?</translation>
<context>
<name>QLineEdit</name>
<message>
- <location filename="../src/gui/widgets/qlineedit.cpp" line="+2710"/>
<source>Select All</source>
<translation>Tout sélectionner</translation>
</message>
<message>
- <location line="-30"/>
<source>&amp;Undo</source>
<translation>&amp;Annuler</translation>
</message>
<message>
- <location line="+4"/>
<source>&amp;Redo</source>
<translation>&amp;Rétablir</translation>
</message>
<message>
- <location line="+7"/>
<source>Cu&amp;t</source>
<translation>Co&amp;uper</translation>
</message>
<message>
- <location line="+4"/>
<source>&amp;Copy</source>
<translation>Cop&amp;ier</translation>
</message>
<message>
- <location line="+4"/>
<source>&amp;Paste</source>
<translation>Co&amp;ller</translation>
</message>
<message>
- <location line="+5"/>
<source>Delete</source>
<translation>Supprimer</translation>
</message>
@@ -2879,24 +2418,18 @@ Voulez-vous quand même le supprimer ?</translation>
<context>
<name>QLocalServer</name>
<message>
- <location filename="../src/network/socket/qlocalserver.cpp" line="+226"/>
- <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+231"/>
<source>%1: Name error</source>
<translation>%1: Erreur de nom</translation>
</message>
<message>
- <location filename="../src/network/socket/qlocalserver_unix.cpp" line="-8"/>
<source>%1: Permission denied</source>
<translation>%1: Permission refusée</translation>
</message>
<message>
- <location line="+12"/>
<source>%1: Address in use</source>
<translation>%1: Address déjà utilisée</translation>
</message>
<message>
- <location line="+5"/>
- <location filename="../src/network/socket/qlocalserver_win.cpp" line="+158"/>
<source>%1: Unknown error %2</source>
<translation>%1: Erreur inconnue %2</translation>
</message>
@@ -2904,70 +2437,46 @@ Voulez-vous quand même le supprimer ?</translation>
<context>
<name>QLocalSocket</name>
<message>
- <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+132"/>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+134"/>
<source>%1: Connection refused</source>
<translation>%1: Connexion refusée</translation>
</message>
<message>
- <location line="+3"/>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
<source>%1: Remote closed</source>
<translation>%1: Connexion fermée</translation>
</message>
<message>
- <location line="+3"/>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
- <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+80"/>
- <location line="+43"/>
<source>%1: Invalid name</source>
<translation>%1: Nom invalide</translation>
</message>
<message>
- <location line="+3"/>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
<source>%1: Socket access error</source>
<translation>%1: Erreur d&apos;accès au socket</translation>
</message>
<message>
- <location line="+3"/>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
<source>%1: Socket resource error</source>
<translation>%1: Erreur de ressource du socket</translation>
</message>
<message>
- <location line="+3"/>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
<source>%1: Socket operation timed out</source>
<translation>%1: L&apos;opération socket a expiré</translation>
</message>
<message>
- <location line="+3"/>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
<source>%1: Datagram too large</source>
<translation>%1: Datagramme trop grand</translation>
</message>
<message>
- <location line="+3"/>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
- <location filename="../src/network/socket/qlocalsocket_win.cpp" line="-48"/>
<source>%1: Connection error</source>
<translation>%1: Erreur de connexion</translation>
</message>
<message>
- <location line="+3"/>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
<source>%1: The socket operation is not supported</source>
<translation>%1: L&apos;opération n&apos;est pas supportée</translation>
</message>
<message>
- <location line="+4"/>
<source>%1: Unknown error</source>
<translation>%1 : erreur inconnue</translation>
</message>
<message>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+4"/>
- <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+10"/>
<source>%1: Unknown error %2</source>
<translation>%1: Erreur inconnue %2</translation>
</message>
@@ -2975,27 +2484,22 @@ Voulez-vous quand même le supprimer ?</translation>
<context>
<name>QMYSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1231"/>
<source>Unable to open database &apos;</source>
<translation>Impossible d&apos;ouvrir la base de données &apos;</translation>
</message>
<message>
- <location line="+7"/>
<source>Unable to connect</source>
<translation>Impossible d&apos;établir une connexion</translation>
</message>
<message>
- <location line="+127"/>
<source>Unable to begin transaction</source>
<translation>Impossible de démarrer la transaction</translation>
</message>
<message>
- <location line="+17"/>
<source>Unable to commit transaction</source>
<translation>Impossible de soumettre la transaction</translation>
</message>
<message>
- <location line="+17"/>
<source>Unable to rollback transaction</source>
<translation>Impossible d&apos;annuler la transaction</translation>
</message>
@@ -3003,59 +2507,46 @@ Voulez-vous quand même le supprimer ?</translation>
<context>
<name>QMYSQLResult</name>
<message>
- <location line="-922"/>
<source>Unable to fetch data</source>
<translation>Impossible de récuperer des données</translation>
</message>
<message>
- <location line="+176"/>
<source>Unable to execute query</source>
<translation>Impossible d&apos;exécuter la requête</translation>
</message>
<message>
- <location line="+6"/>
<source>Unable to store result</source>
<translation>Impossible de stocker le résultat</translation>
</message>
<message>
- <location line="+190"/>
- <location line="+8"/>
<source>Unable to prepare statement</source>
<translation>Impossible de préparer l&apos;instruction</translation>
</message>
<message>
- <location line="+34"/>
<source>Unable to reset statement</source>
<translation>Impossible de réinitialiser l&apos;instruction</translation>
</message>
<message>
- <location line="+87"/>
<source>Unable to bind value</source>
<translation>Impossible d&apos;attacher la valeur</translation>
</message>
<message>
- <location line="+11"/>
<source>Unable to execute statement</source>
<translation>Impossible d&apos;exécuter la requête</translation>
</message>
<message>
- <location line="+14"/>
- <location line="+21"/>
<source>Unable to bind outvalues</source>
<translation>Impossible d&apos;attacher les valeurs de sortie</translation>
</message>
<message>
- <location line="-12"/>
<source>Unable to store statement results</source>
<translation>Impossible de stocker les résultats de la requête</translation>
</message>
<message>
- <location line="-253"/>
<source>Unable to execute next query</source>
<translation>Impossible d&apos;exécuterla prochaine requête</translation>
</message>
<message>
- <location line="+10"/>
<source>Unable to store next result</source>
<translation>Impossible de stocker le prochain résultat</translation>
</message>
@@ -3063,7 +2554,6 @@ Voulez-vous quand même le supprimer ?</translation>
<context>
<name>QMdiArea</name>
<message>
- <location filename="../src/gui/widgets/qmdiarea.cpp" line="+290"/>
<source>(Untitled)</source>
<translation>(Sans titre)</translation>
</message>
@@ -3071,92 +2561,74 @@ Voulez-vous quand même le supprimer ?</translation>
<context>
<name>QMdiSubWindow</name>
<message>
- <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+280"/>
<source>%1 - [%2]</source>
<translation>%1 - [%2]</translation>
</message>
<message>
- <location line="+72"/>
<source>Close</source>
<translation>Fermer</translation>
</message>
<message>
- <location line="-18"/>
<source>Minimize</source>
<translation>Réduire</translation>
</message>
<message>
- <location line="+13"/>
<source>Restore Down</source>
<translation>Restaurer en bas</translation>
</message>
<message>
- <location line="+707"/>
<source>&amp;Restore</source>
<translation>&amp;Restaurer</translation>
</message>
<message>
- <location line="+3"/>
<source>&amp;Move</source>
<translation>&amp;Déplacer</translation>
</message>
<message>
- <location line="+1"/>
<source>&amp;Size</source>
<translation>&amp;Taille</translation>
</message>
<message>
- <location line="+1"/>
<source>Mi&amp;nimize</source>
<translation>Réd&amp;uire</translation>
</message>
<message>
- <location line="+2"/>
<source>Ma&amp;ximize</source>
<translation>Ma&amp;ximiser</translation>
</message>
<message>
- <location line="+2"/>
<source>Stay on &amp;Top</source>
<translation>&amp;Rester au premier plan</translation>
</message>
<message>
- <location line="+3"/>
<source>&amp;Close</source>
<translation>&amp;Fermer</translation>
</message>
<message>
- <location line="-787"/>
<source>- [%1]</source>
- <translation></translation>
+ <translation>- [%1]</translation>
</message>
<message>
- <location line="+58"/>
<source>Maximize</source>
<translation>Maximiser</translation>
</message>
<message>
- <location line="+3"/>
<source>Unshade</source>
<translation>Restaurer</translation>
</message>
<message>
- <location line="+3"/>
<source>Shade</source>
<translation>Ombrer</translation>
</message>
<message>
- <location line="+6"/>
<source>Restore</source>
<translation>Restaurer</translation>
</message>
<message>
- <location line="+6"/>
<source>Help</source>
<translation>Aide</translation>
</message>
<message>
- <location line="+3"/>
<source>Menu</source>
<translation>Menu</translation>
</message>
@@ -3164,21 +2636,14 @@ Voulez-vous quand même le supprimer ?</translation>
<context>
<name>QMenu</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+157"/>
- <location line="+225"/>
<source>Close</source>
<translation>Fermer</translation>
</message>
<message>
- <location line="-224"/>
- <location line="+225"/>
<source>Open</source>
<translation>Ouvrir</translation>
</message>
<message>
- <location line="-223"/>
- <location line="+225"/>
- <location line="+51"/>
<source>Execute</source>
<translation>Exécuter</translation>
</message>
@@ -3233,24 +2698,22 @@ Voulez-vous quand même le supprimer ?</translation>
<source>Quit %1</source>
<translation type="obsolete">Quitter %1</translation>
</message>
+ <message>
+ <source>Actions</source>
+ <translation>Actions</translation>
+ </message>
</context>
<context>
<name>QMessageBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1964"/>
- <location line="+852"/>
- <location filename="../src/gui/dialogs/qmessagebox.h" line="-52"/>
- <location line="+8"/>
<source>OK</source>
<translation>OK</translation>
</message>
<message>
- <location line="+509"/>
<source>About Qt</source>
<translation>À propos de Qt</translation>
</message>
<message>
- <location line="-508"/>
<source>Help</source>
<translation>Aide</translation>
</message>
@@ -3263,19 +2726,17 @@ Voulez-vous quand même le supprimer ?</translation>
<translation type="obsolete">&lt;h3&gt;A propos de Qt&lt;/h3&gt;%1&lt;p&gt;Qt est un toolkit C++ pour le développement d&apos;applications multi-platformes.&lt;/p&gt;&lt;p&gt;Qt fournit la portabilité du code source pour MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux et toutes les variantes commerciales majeures d&apos;Unix. Qt est aussi disponible pour les systèmes embarqués sous le nom Qtopia Core.&lt;/p&gt;&lt;p&gt;Qt est un produit de Trolltech. &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; for more information.&lt;/p&gt;</translation>
</message>
<message>
- <location line="-1097"/>
<source>Show Details...</source>
<translation>Montrer les détails...</translation>
</message>
<message>
- <location line="+1"/>
<source>Hide Details...</source>
<translation>Cacher les détails...</translation>
</message>
<message>
- <location line="+1570"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1693"/>
<source>&lt;h3&gt;About Qt&lt;/h3&gt;&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.&lt;/p&gt;&lt;p&gt;Qt is available under three different licensing options designed to accommodate the needs of our various users.&lt;/p&gt;Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.&lt;/p&gt;&lt;p&gt;Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.&lt;/p&gt;&lt;p&gt;Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://qt.nokia.com/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; for more information.&lt;/p&gt;</source>
- <translation type="unfinished"></translation>
+ <translation>&lt;h3&gt;À propos de Qt&lt;/h3&gt;&lt;p&gt;Ce programme utilise Qt version %1.&lt;/p&gt;&lt;p&gt;Qt est une bibliothèque logicielle C++ pour le développement d’applications multiplateformes.&lt;/p&gt;&lt;p&gt;Qt fournit une portabilité source unique pour MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux et les principales variantes commerciales d’Unix. Qt est également disponible pour appareils intégrés tels que Qt pour Embedded Linux et Qt pour Windows CE.&lt;/p&gt;&lt;p&gt;Il existe trois options de licence différentes conçues pour s’adapter aux besoins d’utilisateurs variés.&lt;/p&gt;&lt;p&gt;Qt concédée sous notre contrat de licence commerciale est destinée au développement de logiciels propriétaires/commerciaux dont vous ne souhaitez pas partager le code source avec des tiers ou qui ne peuvent se conformer aux termes de la LGPL GNU version 2.1 ou GPL GNU version 3.0.&lt;/p&gt;&lt;p&gt;Qt concédée sous la LGPL GNU version 2.1 est destinée au développement d’applications Qt (propriétaires ou libres) à condition que vous vous conformiez aux conditions générales de la LGPL GNU version 2.1.&lt;/p&gt;&lt;p&gt;Qt concédée sous la licence publique générale GNU version 3.0 est destinée au développement d’applications Qt lorsque vous souhaitez utiliser ces applications avec d’autres logiciels soumis aux termes de la GPL GNU version 3.0 ou lorsque vous acceptez les termes de la GPL GNU version 3.0.&lt;/p&gt;&lt;p&gt;Veuillez consulter&lt;a href=&quot;http://qt.nokia.com/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt; pour un aperçu des concessions de licences Qt.&lt;/p&gt;&lt;p&gt;Copyright (C) 2010 Nokia Corporation et/ou ses filiales.&lt;/p&gt;&lt;p&gt;Qt est un produit Nokia. Voir &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; pour de plus amples informations.&lt;/p&gt;</translation>
</message>
<message>
<source>&lt;h3&gt;About Qt&lt;/h3&gt;%1&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; for more information.&lt;/p&gt;</source>
@@ -3289,11 +2750,18 @@ Voulez-vous quand même le supprimer ?</translation>
<source>&lt;h3&gt;About Qt&lt;/h3&gt;%1&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt Embedded.&lt;/p&gt;&lt;p&gt;Qt is a Trolltech product. See &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; for more information.&lt;/p&gt;</source>
<translation type="obsolete">&lt;h3&gt;A propos de Qt&lt;/h3&gt;%1&lt;p&gt;Qt est un toolkit C++ pour le développement d&apos;application multi-plateforme.&lt;/p&gt;&lt;p&gt;Qt fournit la portabilité de votre source pour MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, toutes les variantes majeures d&apos;Unix. Qt est aussi disponible pour les périphériques embarqués avec Qt Embedded.&lt;/p&gt;&lt;p&gt;Qt est un produit de Trolltech. Voir &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; pour plus d&apos;informations.&lt;/p&gt;</translation>
</message>
+ <message>
+ <source>&lt;h3&gt;About Qt&lt;/h3&gt;&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
+ <translation>&lt;h3&gt;À propos de Qt&lt;/h3&gt;&lt;p&gt;Ce programme utilise Qt version %1.&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.&lt;/p&gt;&lt;p&gt;Qt is available under three different licensing options designed to accommodate the needs of our various users.&lt;/p&gt;&lt;p&gt;Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.&lt;/p&gt;&lt;p&gt;Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.&lt;/p&gt;&lt;p&gt;Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://qt.nokia.com/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; for more information.&lt;/p&gt;</source>
+ <translation>&lt;p&gt;Qt est une bibliothèque logicielle C++ pour le développement d’applications multiplateformes.&lt;/p&gt;&lt;p&gt;Qt fournit une portabilité source unique pour MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux et les principales variantes commerciales d’Unix. Qt est également disponible pour appareils intégrés tels que Qt pour Embedded Linux et Qt pour Windows CE.&lt;/p&gt;&lt;p&gt;Il existe trois options de licence différentes conçues pour s’adapter aux besoins d’utilisateurs variés.&lt;/p&gt;&lt;p&gt;Qt concédée sous notre contrat de licence commerciale est destinée au développement de logiciels propriétaires/commerciaux dont vous ne souhaitez pas partager le code source avec des tiers ou qui ne peuvent se conformer aux termes de la LGPL GNU version 2.1 ou GPL GNU version 3.0.&lt;/p&gt;&lt;p&gt;Qt concédée sous la LGPL GNU version 2.1 est destinée au développement d’applications Qt (propriétaires ou libres) à condition que vous vous conformiez aux conditions générales de la LGPL GNU version 2.1.&lt;/p&gt;&lt;p&gt;Qt concédée sous la licence publique générale GNU version 3.0 est destinée au développement d’applications Qt lorsque vous souhaitez utiliser ces applications avec d’autres logiciels soumis aux termes de la GPL GNU version 3.0 ou lorsque vous acceptez les termes de la GPL GNU version 3.0.&lt;/p&gt;&lt;p&gt;Veuillez consulter&lt;a href=&quot;http://qt.nokia.com/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt; pour un aperçu des concessions de licences Qt.&lt;/p&gt;&lt;p&gt;Copyright (C) 2010 Nokia Corporation et/ou ses filiales.&lt;/p&gt;&lt;p&gt;Qt est un produit Nokia. Voir &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; pour de plus amples informations.&lt;/p&gt;</translation>
+ </message>
</context>
<context>
<name>QMultiInputContext</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+88"/>
<source>Select IM</source>
<translation>Sélectionner IM</translation>
</message>
@@ -3301,12 +2769,10 @@ Voulez-vous quand même le supprimer ?</translation>
<context>
<name>QMultiInputContextPlugin</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+95"/>
<source>Multiple input method switcher</source>
<translation>Sélectionneur de méthode de saisie</translation>
</message>
<message>
- <location line="+7"/>
<source>Multiple input method switcher that uses the context menu of the text widgets</source>
<translation>Sélectionneur de méthode de saisie qui utilise le menu contextuel des widgets de texte</translation>
</message>
@@ -3314,132 +2780,106 @@ Voulez-vous quand même le supprimer ?</translation>
<context>
<name>QNativeSocketEngine</name>
<message>
- <location filename="../src/network/socket/qnativesocketengine.cpp" line="+206"/>
<source>The remote host closed the connection</source>
<translation>L&apos;hôte distant a fermé la connexion</translation>
</message>
<message>
- <location line="+3"/>
<source>Network operation timed out</source>
<translation>L&apos;opération réseau a expiré</translation>
</message>
<message>
- <location line="+3"/>
<source>Out of resources</source>
<translation>Manque de ressources</translation>
</message>
<message>
- <location line="+3"/>
<source>Unsupported socket operation</source>
<translation>Opération socket non supportée</translation>
</message>
<message>
- <location line="+3"/>
<source>Protocol type not supported</source>
<translation>Protocol non géré</translation>
</message>
<message>
- <location line="+3"/>
<source>Invalid socket descriptor</source>
<translation>Descripteur de socket invalide</translation>
</message>
<message>
- <location line="+6"/>
<source>Network unreachable</source>
<translation>Réseau impossible à rejoindre</translation>
</message>
<message>
- <location line="+3"/>
<source>Permission denied</source>
<translation>Accès refusé</translation>
</message>
<message>
- <location line="+3"/>
<source>Connection timed out</source>
<translation>Connexion expirée</translation>
</message>
<message>
- <location line="+3"/>
<source>Connection refused</source>
<translation>Connexion refusée</translation>
</message>
<message>
- <location line="+3"/>
<source>The bound address is already in use</source>
<translation>L&apos;adresse liée est déjà en usage</translation>
</message>
<message>
- <location line="+3"/>
<source>The address is not available</source>
<translation>L&apos;adresse n&apos;est pas disponible</translation>
</message>
<message>
- <location line="+3"/>
<source>The address is protected</source>
<translation>L&apos;adresse est protégée</translation>
</message>
<message>
- <location line="+6"/>
<source>Unable to send a message</source>
<translation>Impossible d&apos;envoyer un message</translation>
</message>
<message>
- <location line="+3"/>
<source>Unable to receive a message</source>
<translation>Impossible de recevoir un message</translation>
</message>
<message>
- <location line="+3"/>
<source>Unable to write</source>
<translation>Impossible d&apos;écrire</translation>
</message>
<message>
- <location line="+3"/>
<source>Network error</source>
<translation>Erreur réseau</translation>
</message>
<message>
- <location line="+3"/>
<source>Another socket is already listening on the same port</source>
<translation>Un autre socket écoute déjà sur le même port</translation>
</message>
<message>
- <location line="-66"/>
<source>Unable to initialize non-blocking socket</source>
<translation>Impossible d&apos;initialiser le socket asynchrone</translation>
</message>
<message>
- <location line="+3"/>
<source>Unable to initialize broadcast socket</source>
<translation>Impossible d&apos;initialiser le socket broadcast</translation>
</message>
<message>
- <location line="+3"/>
<source>Attempt to use IPv6 socket on a platform with no IPv6 support</source>
<translation>Tentative d&apos;utiliser un socket IPv6 sur une plateforme qui ne supporte pas IPv6</translation>
</message>
<message>
- <location line="+21"/>
<source>Host unreachable</source>
<translation>Hôte inaccessible</translation>
</message>
<message>
- <location line="+24"/>
<source>Datagram was too large to send</source>
<translation>Le datagramme était trop grand pour être envoyé</translation>
</message>
<message>
- <location line="+18"/>
<source>Operation on non-socket</source>
<translation>Operation sur non-socket</translation>
</message>
<message>
- <location line="+6"/>
<source>Unknown error</source>
<translation>Erreur inconnue</translation>
</message>
<message>
- <location line="-3"/>
<source>The proxy type is invalid for this operation</source>
<translation>Le type de proxy est invalide pour cette opération</translation>
</message>
@@ -3447,7 +2887,6 @@ Voulez-vous quand même le supprimer ?</translation>
<context>
<name>QNetworkAccessCacheBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+65"/>
<source>Error opening %1</source>
<translation>Erreur lors de l&apos;ouverture de %1</translation>
</message>
@@ -3455,27 +2894,22 @@ Voulez-vous quand même le supprimer ?</translation>
<context>
<name>QNetworkAccessFileBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+99"/>
<source>Request for opening non-local file %1</source>
<translation>Requête d&apos;ouverture de fichier distant %1</translation>
</message>
<message>
- <location line="+42"/>
<source>Error opening %1: %2</source>
<translation>Erreur lors de l&apos;ouverture de %1 : %2</translation>
</message>
<message>
- <location line="+56"/>
<source>Write error writing to %1: %2</source>
<translation>Erreur d&apos;écriture de %1 : %2</translation>
</message>
<message>
- <location line="+33"/>
<source>Cannot open %1: Path is a directory</source>
<translation>Impossible d&apos;ouvrir %1 : le chemin est un dossier</translation>
</message>
<message>
- <location line="+21"/>
<source>Read error reading from %1: %2</source>
<translation>Erreur de lecture de %1 : %2</translation>
</message>
@@ -3483,27 +2917,22 @@ Voulez-vous quand même le supprimer ?</translation>
<context>
<name>QNetworkAccessFtpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+165"/>
<source>No suitable proxy found</source>
<translation>Aucun proxy trouvé</translation>
</message>
<message>
- <location line="+14"/>
<source>Cannot open %1: is a directory</source>
<translation>Impossible d&apos;ouvrir %1 : le chemin est un dossier</translation>
</message>
<message>
- <location line="+130"/>
<source>Logging in to %1 failed: authentication required</source>
<translation>Connexion à %1 a échoué : authentification requise</translation>
</message>
<message>
- <location line="+39"/>
<source>Error while downloading %1: %2</source>
<translation>Erreur lors du téléchargement de %1 : %2</translation>
</message>
<message>
- <location line="+2"/>
<source>Error while uploading %1: %2</source>
<translation>Erreur lors de l&apos;envoi de %1 : %2</translation>
</message>
@@ -3511,7 +2940,6 @@ Voulez-vous quand même le supprimer ?</translation>
<context>
<name>QNetworkAccessHttpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+597"/>
<source>No suitable proxy found</source>
<translation>Aucun proxy trouvé</translation>
</message>
@@ -3519,12 +2947,10 @@ Voulez-vous quand même le supprimer ?</translation>
<context>
<name>QNetworkReply</name>
<message>
- <location line="+128"/>
<source>Error downloading %1 - server replied: %2</source>
<translation>Erreur lors du téléchargement de %1 - le serveur a répondu: %2</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+68"/>
<source>Protocol &quot;%1&quot; is unknown</source>
<translation>Le protocole &quot;%1&quot; est inconnu</translation>
</message>
@@ -3532,8 +2958,6 @@ Voulez-vous quand même le supprimer ?</translation>
<context>
<name>QNetworkReplyImpl</name>
<message>
- <location line="+432"/>
- <location line="+22"/>
<source>Operation canceled</source>
<translation>Opération annulée</translation>
</message>
@@ -3541,63 +2965,55 @@ Voulez-vous quand même le supprimer ?</translation>
<context>
<name>QOCIDriver</name>
<message>
- <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2069"/>
<source>Unable to logon</source>
<translation>Impossible d&apos;ouvrir une session</translation>
</message>
<message>
- <location line="-144"/>
+ <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+1925"/>
<source>Unable to initialize</source>
<comment>QOCIDriver</comment>
- <translation>L&apos;initialisation a échouée</translation>
+ <translation>L&apos;initialisation a échoué</translation>
</message>
<message>
- <location line="+215"/>
<source>Unable to begin transaction</source>
<translation>Impossible de démarrer la transaction</translation>
</message>
<message>
- <location line="+19"/>
<source>Unable to commit transaction</source>
<translation>Impossible d&apos;enregistrer la transaction</translation>
</message>
<message>
- <location line="+19"/>
<source>Unable to rollback transaction</source>
<translation>Impossible d&apos;annuler la transaction</translation>
</message>
+ <message>
+ <source>Unable to initialize</source>
+ <translation>L&apos;initialisation a échoué</translation>
+ </message>
</context>
<context>
<name>QOCIResult</name>
<message>
- <location line="-963"/>
- <location line="+161"/>
- <location line="+15"/>
<source>Unable to bind column for batch execute</source>
<translation>Impossible d&apos;attacher la colonne pour une execution batch</translation>
</message>
<message>
- <location line="+15"/>
<source>Unable to execute batch statement</source>
<translation>Impossible d&apos;exécuter l&apos;instruction batch</translation>
</message>
<message>
- <location line="+302"/>
<source>Unable to goto next</source>
<translation>Impossible de passer au suivant</translation>
</message>
<message>
- <location line="+59"/>
<source>Unable to alloc statement</source>
<translation>Impossible d&apos;allouer la requête</translation>
</message>
<message>
- <location line="+15"/>
<source>Unable to prepare statement</source>
<translation>Impossible de préparer la requête</translation>
</message>
<message>
- <location line="+36"/>
<source>Unable to bind value</source>
<translation>Impossible d&apos;attacher la valeur</translation>
</message>
@@ -3606,92 +3022,81 @@ Voulez-vous quand même le supprimer ?</translation>
<translation type="obsolete">Impossible d&apos;exéctuer la requête select</translation>
</message>
<message>
- <location line="+19"/>
<source>Unable to execute statement</source>
<translation>Impossible d&apos;exéctuer la requête</translation>
</message>
+ <message>
+ <source>Unable to get statement type</source>
+ <translation>Impossible d&apos;obtenir le type de la requête</translation>
+ </message>
</context>
<context>
<name>QODBCDriver</name>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1785"/>
<source>Unable to connect</source>
<translation>Incapable d&apos;établir une connexion</translation>
</message>
<message>
- <location line="+6"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1791"/>
<source>Unable to connect - Driver doesn&apos;t support all needed functionality</source>
<translation>Impossible de se connecter - Le pilote ne supporte pas toutes les fonctionnalités nécessaires</translation>
</message>
<message>
- <location line="+242"/>
<source>Unable to disable autocommit</source>
<translation>Impossible de désactiver l&apos;autocommit</translation>
</message>
<message>
- <location line="+17"/>
<source>Unable to commit transaction</source>
<translation>Incapable de soumettre la transaction</translation>
</message>
<message>
- <location line="+17"/>
<source>Unable to rollback transaction</source>
<translation>Incapable d&apos;annuler la transaction</translation>
</message>
<message>
- <location line="+15"/>
<source>Unable to enable autocommit</source>
- <translation>Impossible d&apos;active l&apos;autocommit</translation>
+ <translation>Impossible d&apos;activer l&apos;autocommit</translation>
+ </message>
+ <message>
+ <source>Unable to connect - Driver doesn&apos;t support all functionality required</source>
+ <translation>Impossible de se connecter - Le pilote ne supporte pas toutes les fonctionnalités nécessaires</translation>
</message>
</context>
<context>
<name>QODBCResult</name>
<message>
- <location line="-1218"/>
- <location line="+349"/>
<source>QODBCResult::reset: Unable to set &apos;SQL_CURSOR_STATIC&apos; as statement attribute. Please check your ODBC driver configuration</source>
<translation>QODBCResult::reset: Impossible d&apos;utiliser &apos;SQL_CURSOR_STATIC&apos; comme attribut de requête. Veuillez vérifier la configuration de votre pilote ODBC</translation>
</message>
<message>
- <location line="-332"/>
- <location line="+626"/>
<source>Unable to execute statement</source>
<translation>Impossible d&apos;exéctuer la requête</translation>
</message>
<message>
- <location line="-555"/>
<source>Unable to fetch next</source>
<translation>Impossible de récupérer le suivant</translation>
</message>
<message>
- <location line="+279"/>
<source>Unable to prepare statement</source>
<translation>Impossible de préparer la requête</translation>
</message>
<message>
- <location line="+268"/>
<source>Unable to bind variable</source>
<translation>Impossible d&apos;attacher la variable</translation>
</message>
<message>
- <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+194"/>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-475"/>
- <location line="+578"/>
<source>Unable to fetch last</source>
<translation>Impossible de récupérer le dernier</translation>
</message>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-672"/>
<source>Unable to fetch</source>
<translation>Impossible de récupérer</translation>
</message>
<message>
- <location line="+44"/>
<source>Unable to fetch first</source>
<translation>Impossible de récupérer le premier</translation>
</message>
<message>
- <location line="+19"/>
<source>Unable to fetch previous</source>
<translation>Impossible de récupérer le précedent</translation>
</message>
@@ -3704,12 +3109,10 @@ Voulez-vous quand même le supprimer ?</translation>
<translation>Début</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+74"/>
<source>Operation not supported on %1</source>
<translation>Opération non supportée sur %1</translation>
</message>
<message>
- <location line="+53"/>
<source>Invalid URI: %1</source>
<translation>URI invalide : %1</translation>
</message>
@@ -3724,36 +3127,34 @@ Voulez-vous quand même le supprimer ?</translation>
<translation>Erreur de lecture sur %1 : %2</translation>
</message>
<message>
- <location line="+31"/>
<source>Socket error on %1: %2</source>
<translation>Erreur de socket sur %1 : %2</translation>
</message>
<message>
- <location line="+15"/>
<source>Remote host closed the connection prematurely on %1</source>
<translation>L&apos;hôte distant a fermé sa connexion de façon prématurée sur %1</translation>
</message>
<message>
- <location line="+53"/>
+ <location line="+99"/>
<source>Protocol error: packet of size 0 received</source>
<translation>Erreur de protocole: paquet de taille 0 reçu</translation>
</message>
<message>
- <location filename="../src/network/kernel/qhostinfo.cpp" line="+177"/>
- <location line="+57"/>
<source>No host name given</source>
<translation>Nom d&apos;hôte manquant</translation>
</message>
+ <message>
+ <source>Invalid hostname</source>
+ <translation>Nom d&apos;hôte non valide</translation>
+ </message>
</context>
<context>
<name>QPPDOptionsModel</name>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1195"/>
<source>Name</source>
<translation>Nom</translation>
</message>
<message>
- <location line="+2"/>
<source>Value</source>
<translation>Valeur</translation>
</message>
@@ -3761,32 +3162,26 @@ Voulez-vous quand même le supprimer ?</translation>
<context>
<name>QPSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+763"/>
<source>Unable to connect</source>
<translation>Impossible d&apos;établir une connexion</translation>
</message>
<message>
- <location line="+49"/>
<source>Could not begin transaction</source>
<translation>Impossible de démarrer la transaction</translation>
</message>
<message>
- <location line="+17"/>
<source>Could not commit transaction</source>
<translation>Impossible de soumettre la transaction</translation>
</message>
<message>
- <location line="+16"/>
<source>Could not rollback transaction</source>
<translation>Impossible d&apos;annuler la transaction</translation>
</message>
<message>
- <location line="+358"/>
<source>Unable to subscribe</source>
<translation>Impossible de s&apos;inscrire</translation>
</message>
<message>
- <location line="+32"/>
<source>Unable to unsubscribe</source>
<translation>Impossible de se désinscrire</translation>
</message>
@@ -3794,12 +3189,10 @@ Voulez-vous quand même le supprimer ?</translation>
<context>
<name>QPSQLResult</name>
<message>
- <location line="-1058"/>
<source>Unable to create query</source>
<translation>Impossible de créer la requête</translation>
</message>
<message>
- <location line="+374"/>
<source>Unable to prepare statement</source>
<translation>Impossible de préparer la requête</translation>
</message>
@@ -3807,102 +3200,82 @@ Voulez-vous quand même le supprimer ?</translation>
<context>
<name>QPageSetupWidget</name>
<message>
- <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+304"/>
<source>Centimeters (cm)</source>
<translation>Centimètres (cm)</translation>
</message>
<message>
- <location line="+0"/>
<source>Millimeters (mm)</source>
<translation>Millimètres (mm)</translation>
</message>
<message>
- <location line="+0"/>
<source>Inches (in)</source>
<translation>Pouces (in)</translation>
</message>
<message>
- <location line="+0"/>
<source>Points (pt)</source>
- <translation></translation>
+ <translation>Points (pts)</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qpagesetupwidget.ui"/>
<source>Form</source>
<translation>Formulaire</translation>
</message>
<message>
- <location/>
<source>Paper</source>
<translation>Papier</translation>
</message>
<message>
- <location/>
<source>Page size:</source>
<translation>Dimensions :</translation>
</message>
<message>
- <location/>
<source>Width:</source>
<translation>Largeur :</translation>
</message>
<message>
- <location/>
<source>Height:</source>
<translation>Hauteur :</translation>
</message>
<message>
- <location/>
<source>Paper source:</source>
<translation>Source du papier :</translation>
</message>
<message>
- <location/>
<source>Orientation</source>
- <translation></translation>
+ <translation>Orientation</translation>
</message>
<message>
- <location/>
<source>Portrait</source>
<translation>Portrait</translation>
</message>
<message>
- <location/>
<source>Landscape</source>
<translation>Paysage</translation>
</message>
<message>
- <location/>
<source>Reverse landscape</source>
<translation>Paysage inversé</translation>
</message>
<message>
- <location/>
<source>Reverse portrait</source>
<translation>Portrait inversé</translation>
</message>
<message>
- <location/>
<source>Margins</source>
<translation>Marges</translation>
</message>
<message>
- <location/>
<source>top margin</source>
<translation>marge haute</translation>
</message>
<message>
- <location/>
<source>left margin</source>
<translation>marge gauche</translation>
</message>
<message>
- <location/>
<source>right margin</source>
<translation>marge droite</translation>
</message>
<message>
- <location/>
<source>bottom margin</source>
<translation>marge basse</translation>
</message>
@@ -3910,12 +3283,10 @@ Voulez-vous quand même le supprimer ?</translation>
<context>
<name>QPluginLoader</name>
<message>
- <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+24"/>
<source>Unknown error</source>
<translation>Erreur inconnue</translation>
</message>
<message>
- <location line="-68"/>
<source>The plugin was not loaded.</source>
<translation>Le plugin n&apos;a pas été chargé.</translation>
</message>
@@ -3923,18 +3294,14 @@ Voulez-vous quand même le supprimer ?</translation>
<context>
<name>QPrintDialog</name>
<message>
- <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+98"/>
<source>locally connected</source>
<translation>connecté en local</translation>
</message>
<message>
- <location line="+471"/>
- <location line="+199"/>
<source>unknown</source>
<translation>inconnu</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+268"/>
<source>OK</source>
<translation>OK</translation>
</message>
@@ -3947,12 +3314,10 @@ Voulez-vous quand même le supprimer ?</translation>
<translation type="obsolete">Imprimer en couleur si possible</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+375"/>
<source>Print all</source>
<translation>Imprimer tout</translation>
</message>
<message>
- <location line="+2"/>
<source>Print range</source>
<translation>Imprimer la sélection</translation>
</message>
@@ -3977,163 +3342,130 @@ Voulez-vous quand même le supprimer ?</translation>
<translation type="obsolete">Paysage</translation>
</message>
<message>
- <location line="-48"/>
<source>A0 (841 x 1189 mm)</source>
<translation>A0 (841 x 1189 mm)</translation>
</message>
<message>
- <location line="+1"/>
<source>A1 (594 x 841 mm)</source>
<translation>A1 (594 x 841 mm)</translation>
</message>
<message>
- <location line="+1"/>
<source>A2 (420 x 594 mm)</source>
<translation>A2 (420 x 594 mm)</translation>
</message>
<message>
- <location line="+1"/>
<source>A3 (297 x 420 mm)</source>
<translation>A3 (297 x 420 mm)</translation>
</message>
<message>
- <location line="+2"/>
<source>A5 (148 x 210 mm)</source>
<translation>A5 (148 x 210 mm)</translation>
</message>
<message>
- <location line="+1"/>
<source>A6 (105 x 148 mm)</source>
<translation>A6 (105 x 148 mm)</translation>
</message>
<message>
- <location line="+1"/>
<source>A7 (74 x 105 mm)</source>
<translation>A7 (74 x 105 mm)</translation>
</message>
<message>
- <location line="+1"/>
<source>A8 (52 x 74 mm)</source>
<translation>A8 (52 x 74 mm)</translation>
</message>
<message>
- <location line="+1"/>
<source>A9 (37 x 52 mm)</source>
<translation>A9 (37 x 52 mm)</translation>
</message>
<message>
- <location line="+1"/>
<source>B0 (1000 x 1414 mm)</source>
<translation>B0 (1000 x 1414 mm)</translation>
</message>
<message>
- <location line="+1"/>
<source>B1 (707 x 1000 mm)</source>
<translation>B1 (707 x 1000 mm)</translation>
</message>
<message>
- <location line="+1"/>
<source>B2 (500 x 707 mm)</source>
<translation>B2 (500 x 707 mm)</translation>
</message>
<message>
- <location line="+1"/>
<source>B3 (353 x 500 mm)</source>
<translation>B3 (353 x 500 mm)</translation>
</message>
<message>
- <location line="+1"/>
<source>B4 (250 x 353 mm)</source>
<translation>B4 (250 x 353 mm)</translation>
</message>
<message>
- <location line="+2"/>
<source>B6 (125 x 176 mm)</source>
<translation>B6 (125 x 176 mm)</translation>
</message>
<message>
- <location line="+1"/>
<source>B7 (88 x 125 mm)</source>
<translation>B7 (88 x 125 mm)</translation>
</message>
<message>
- <location line="+1"/>
<source>B8 (62 x 88 mm)</source>
<translation>B8 (62 x 88 mm)</translation>
</message>
<message>
- <location line="+1"/>
<source>B9 (44 x 62 mm)</source>
<translation>B9 (44 x 62 mm)</translation>
</message>
<message>
- <location line="+1"/>
<source>B10 (31 x 44 mm)</source>
<translation>B10 (31 x 44 mm)</translation>
</message>
<message>
- <location line="+1"/>
<source>C5E (163 x 229 mm)</source>
<translation>C5E (163 x 229 mm)</translation>
</message>
<message>
- <location line="+1"/>
<source>DLE (110 x 220 mm)</source>
<translation>DLE (110 x 220 mm)</translation>
</message>
<message>
- <location line="+2"/>
<source>Folio (210 x 330 mm)</source>
<translation>Folio (210 x 330 mm)</translation>
</message>
<message>
- <location line="+1"/>
<source>Ledger (432 x 279 mm)</source>
<translation>Ledger (432 x 279 mm)</translation>
</message>
<message>
- <location line="+3"/>
<source>Tabloid (279 x 432 mm)</source>
<translation>Tabloïde (279 x 432 mm)</translation>
</message>
<message>
- <location line="+1"/>
<source>US Common #10 Envelope (105 x 241 mm)</source>
<translation>US Common #10 Envelope (105 x 241 mm)</translation>
</message>
<message>
- <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="-647"/>
- <location line="+225"/>
<source>Aliases: %1</source>
<translation>Alias : %1</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="-25"/>
<source>A4 (210 x 297 mm, 8.26 x 11.7 inches)</source>
<translation>A4 (210 x 297 mm)</translation>
</message>
<message>
- <location line="+11"/>
<source>B5 (176 x 250 mm, 6.93 x 9.84 inches)</source>
<translation>B5 (176 x 250 mm)</translation>
</message>
<message>
- <location line="+8"/>
<source>Executive (7.5 x 10 inches, 191 x 254 mm)</source>
<translation>Executive (7,5 x 10 pouces, 191 x 254 mm)</translation>
</message>
<message>
- <location line="+3"/>
<source>Legal (8.5 x 14 inches, 216 x 356 mm)</source>
<translation>Legal (8.5 x 14 pouces, 216 x 356 mm)</translation>
</message>
<message>
- <location line="+1"/>
<source>Letter (8.5 x 11 inches, 216 x 279 mm)</source>
<translation>Letter (8,5 x 11 pouces, 216 x 279 mm)</translation>
</message>
<message>
- <location line="+20"/>
<source>Print selection</source>
<translation>Imprimer la sélection</translation>
</message>
@@ -4150,9 +3482,6 @@ Voulez-vous quand même le supprimer ?</translation>
<translation type="obsolete">Source du papier :</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+110"/>
- <location line="+13"/>
- <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="-2"/>
<source>Print</source>
<translation>Impr écran</translation>
</message>
@@ -4165,7 +3494,6 @@ Voulez-vous quand même le supprimer ?</translation>
<translation type="obsolete">Imprimante</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-357"/>
<source>Print To File ...</source>
<translation>Imprimer dans un fichier...</translation>
</message>
@@ -4222,229 +3550,184 @@ Voulez-vous quand même le supprimer ?</translation>
<translation type="obsolete">Impression recto verso</translation>
</message>
<message>
- <location line="+80"/>
<source>File %1 is not writable.
Please choose a different file name.</source>
<translation>Impossible d&apos;écrire dans le fichier %1.
Veuillez choisir un nom de fichier différent.</translation>
</message>
<message>
- <location line="+4"/>
<source>%1 already exists.
Do you want to overwrite it?</source>
<translation>%1 existe.
Voulez-vous l&apos;écraser ?</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="-228"/>
<source>File exists</source>
<translation>Le fichier existe</translation>
</message>
<message>
- <location line="+1"/>
<source>&lt;qt&gt;Do you want to overwrite it?&lt;/qt&gt;</source>
<translation>&lt;qt&gt;voulez-vous l&apos;écraser ?&lt;/qt&gt;</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-8"/>
<source>%1 is a directory.
Please choose a different file name.</source>
<translation>%1 est un dossier.
Veuillez choisir un nom de fichier différent.</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="-232"/>
<source>A0</source>
<translation></translation>
</message>
<message>
- <location line="+1"/>
<source>A1</source>
<translation></translation>
</message>
<message>
- <location line="+1"/>
<source>A2</source>
<translation></translation>
</message>
<message>
- <location line="+1"/>
<source>A3</source>
<translation></translation>
</message>
<message>
- <location line="+1"/>
<source>A4</source>
<translation></translation>
</message>
<message>
- <location line="+1"/>
<source>A5</source>
<translation></translation>
</message>
<message>
- <location line="+1"/>
<source>A6</source>
<translation></translation>
</message>
<message>
- <location line="+1"/>
<source>A7</source>
<translation></translation>
</message>
<message>
- <location line="+1"/>
<source>A8</source>
<translation></translation>
</message>
<message>
- <location line="+1"/>
<source>A9</source>
<translation></translation>
</message>
<message>
- <location line="+1"/>
<source>B0</source>
<translation></translation>
</message>
<message>
- <location line="+1"/>
<source>B1</source>
<translation></translation>
</message>
<message>
- <location line="+1"/>
<source>B2</source>
<translation></translation>
</message>
<message>
- <location line="+1"/>
<source>B3</source>
<translation></translation>
</message>
<message>
- <location line="+1"/>
<source>B4</source>
<translation></translation>
</message>
<message>
- <location line="+1"/>
<source>B5</source>
<translation></translation>
</message>
<message>
- <location line="+1"/>
<source>B6</source>
<translation></translation>
</message>
<message>
- <location line="+1"/>
<source>B7</source>
<translation></translation>
</message>
<message>
- <location line="+1"/>
<source>B8</source>
<translation></translation>
</message>
<message>
- <location line="+1"/>
<source>B9</source>
<translation></translation>
</message>
<message>
- <location line="+1"/>
<source>B10</source>
<translation></translation>
</message>
<message>
- <location line="+1"/>
<source>C5E</source>
<translation></translation>
</message>
<message>
- <location line="+1"/>
<source>DLE</source>
<translation></translation>
</message>
<message>
- <location line="+1"/>
<source>Executive</source>
<translation></translation>
</message>
<message>
- <location line="+1"/>
<source>Folio</source>
<translation></translation>
</message>
<message>
- <location line="+1"/>
<source>Ledger</source>
<translation></translation>
</message>
<message>
- <location line="+1"/>
<source>Legal</source>
<translation></translation>
</message>
<message>
- <location line="+1"/>
<source>Letter</source>
<translation></translation>
</message>
<message>
- <location line="+1"/>
<source>Tabloid</source>
<translation></translation>
</message>
<message>
- <location line="+1"/>
<source>US Common #10 Envelope</source>
<translation></translation>
</message>
<message>
- <location line="+1"/>
<source>Custom</source>
<translation>Personnalisé</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-522"/>
- <location line="+68"/>
<source>&amp;Options &gt;&gt;</source>
<translation></translation>
</message>
<message>
- <location line="-63"/>
<source>&amp;Print</source>
<translation>Im&amp;primer</translation>
</message>
<message>
- <location line="+67"/>
<source>&amp;Options &lt;&lt;</source>
<translation></translation>
</message>
<message>
- <location line="+253"/>
<source>Print to File (PDF)</source>
<translation>Imprimer dans un fichier (PDF)</translation>
</message>
<message>
- <location line="+1"/>
<source>Print to File (Postscript)</source>
<translation>Imprimer dans un fichier (PostScript)</translation>
</message>
<message>
- <location line="+45"/>
<source>Local file</source>
<translation>Fichier local</translation>
</message>
<message>
- <location line="+1"/>
<source>Write %1 file</source>
<translation>Ecriture du fichier %1</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+1"/>
<source>The &apos;From&apos; value cannot be greater than the &apos;To&apos; value.</source>
<translation>La valeur &apos;de&apos; ne peut pas être plus grande que la valeur &apos;à&apos;.</translation>
</message>
@@ -4452,108 +3735,86 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QPrintPreviewDialog</name>
<message>
- <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+252"/>
<source>%1%</source>
<translation>%1%</translation>
</message>
<message>
- <location line="+79"/>
<source>Print Preview</source>
<translation>Aperçu avant impression</translation>
</message>
<message>
- <location line="+29"/>
<source>Next page</source>
<translation>Page suivante</translation>
</message>
<message>
- <location line="+1"/>
<source>Previous page</source>
<translation>Page précédente</translation>
</message>
<message>
- <location line="+1"/>
<source>First page</source>
<translation>Première page</translation>
</message>
<message>
- <location line="+1"/>
<source>Last page</source>
<translation>Dernière page</translation>
</message>
<message>
- <location line="+9"/>
<source>Fit width</source>
<translation>Ajuster la largeur</translation>
</message>
<message>
- <location line="+1"/>
<source>Fit page</source>
<translation>Ajuster la page</translation>
</message>
<message>
- <location line="+11"/>
<source>Zoom in</source>
<translation>Zoom avant</translation>
</message>
<message>
- <location line="+1"/>
<source>Zoom out</source>
<translation>Zoom arrière</translation>
</message>
<message>
- <location line="+6"/>
<source>Portrait</source>
<translation>Portrait</translation>
</message>
<message>
- <location line="+1"/>
<source>Landscape</source>
<translation>Paysage</translation>
</message>
<message>
- <location line="+10"/>
<source>Show single page</source>
<translation>Afficher une seule page</translation>
</message>
<message>
- <location line="+1"/>
<source>Show facing pages</source>
<translation>Afficher deux pages</translation>
</message>
<message>
- <location line="+1"/>
<source>Show overview of all pages</source>
<translation>Afficher un aperçu de toutes les pages</translation>
</message>
<message>
- <location line="+15"/>
<source>Print</source>
<translation>Impr écran</translation>
</message>
<message>
- <location line="+1"/>
<source>Page setup</source>
<translation>Configuration de la page</translation>
</message>
<message>
- <location line="+1"/>
<source>Close</source>
<translation>Fermer</translation>
</message>
<message>
- <location line="+151"/>
<source>Export to PDF</source>
<translation>Exporter vers PDF</translation>
</message>
<message>
- <location line="+3"/>
<source>Export to PostScript</source>
<translation>Exporter vers PostScript</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+68"/>
- <location line="+12"/>
<source>Page Setup</source>
<translation>Configuration de la page</translation>
</message>
@@ -4576,17 +3837,14 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QPrintPropertiesWidget</name>
<message>
- <location filename="../src/gui/dialogs/qprintpropertieswidget.ui"/>
<source>Form</source>
<translation>Formulaire</translation>
</message>
<message>
- <location/>
<source>Page</source>
<translation></translation>
</message>
<message>
- <location/>
<source>Advanced</source>
<translation>Avancé</translation>
</message>
@@ -4594,97 +3852,78 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QPrintSettingsOutput</name>
<message>
- <location filename="../src/gui/dialogs/qprintsettingsoutput.ui"/>
<source>Form</source>
<translation>Formulaire</translation>
</message>
<message>
- <location/>
<source>Copies</source>
<translation>Copies</translation>
</message>
<message>
- <location/>
<source>Print range</source>
<translation>Imprimer la sélection</translation>
</message>
<message>
- <location/>
<source>Print all</source>
<translation>Imprimer tout</translation>
</message>
<message>
- <location/>
<source>Pages from</source>
<translation>Pages</translation>
</message>
<message>
- <location/>
<source>to</source>
<translation>à</translation>
</message>
<message>
- <location/>
<source>Selection</source>
<translation>Sélection</translation>
</message>
<message>
- <location/>
<source>Output Settings</source>
<translation>Paramètres de sortie</translation>
</message>
<message>
- <location/>
<source>Copies:</source>
- <translation></translation>
+ <translation>Copies :</translation>
</message>
<message>
- <location/>
<source>Collate</source>
<translation>Assembler</translation>
</message>
<message>
- <location/>
<source>Reverse</source>
<translation>Inverse</translation>
</message>
<message>
- <location/>
<source>Options</source>
<translation>Options</translation>
</message>
<message>
- <location/>
<source>Color Mode</source>
<translation>Mode de couleur</translation>
</message>
<message>
- <location/>
<source>Color</source>
<translation>Couleur</translation>
</message>
<message>
- <location/>
<source>Grayscale</source>
<translation>Dégradé de gris</translation>
</message>
<message>
- <location/>
<source>Duplex Printing</source>
<translation>Impression en duplex</translation>
</message>
<message>
- <location/>
<source>None</source>
<translation>Aucun</translation>
</message>
<message>
- <location/>
<source>Long side</source>
<translation>Côté long</translation>
</message>
<message>
- <location/>
<source>Short side</source>
<translation>Côté court</translation>
</message>
@@ -4692,47 +3931,38 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QPrintWidget</name>
<message>
- <location filename="../src/gui/dialogs/qprintwidget.ui"/>
<source>Form</source>
<translation>Formulaire</translation>
</message>
<message>
- <location/>
<source>Printer</source>
<translation>Imprimante</translation>
</message>
<message>
- <location/>
<source>&amp;Name:</source>
<translation>&amp;Nom :</translation>
</message>
<message>
- <location/>
<source>P&amp;roperties</source>
<translation>P&amp;ropriétés</translation>
</message>
<message>
- <location/>
<source>Location:</source>
<translation>Emplacement :</translation>
</message>
<message>
- <location/>
<source>Preview</source>
<translation>Prévisualisation</translation>
</message>
<message>
- <location/>
<source>Type:</source>
- <translation></translation>
+ <translation>Type :</translation>
</message>
<message>
- <location/>
<source>Output &amp;file:</source>
<translation>&amp;Fichier de sortie:</translation>
</message>
<message>
- <location/>
<source>...</source>
<translation></translation>
</message>
@@ -4740,70 +3970,50 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QProcess</name>
<message>
- <location filename="../src/corelib/io/qprocess_unix.cpp" line="+475"/>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="+147"/>
<source>Could not open input redirection for reading</source>
<translation>Impossible d&apos;ouvrir la redirection d&apos;entrée en lecture</translation>
</message>
<message>
- <location line="+12"/>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="+36"/>
<source>Could not open output redirection for writing</source>
<translation>Impossible d&apos;ouvrir la redirection de sortie pour écriture</translation>
</message>
<message>
- <location line="+235"/>
<source>Resource error (fork failure): %1</source>
<translation>Erreur de ressouce (fork) : %1</translation>
</message>
<message>
- <location line="+259"/>
- <location line="+53"/>
- <location line="+74"/>
- <location line="+67"/>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="+422"/>
- <location line="+50"/>
- <location line="+75"/>
- <location line="+42"/>
- <location line="+54"/>
<source>Process operation timed out</source>
<translation>Operation de processus a expiré</translation>
</message>
<message>
- <location filename="../src/corelib/io/qprocess.cpp" line="+533"/>
- <location line="+52"/>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="-211"/>
- <location line="+50"/>
<source>Error reading from process</source>
<translation>Erreur de lecture du processus</translation>
</message>
<message>
- <location line="+47"/>
- <location line="+779"/>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="+140"/>
<source>Error writing to process</source>
<translation>Erreur d&quot;écriture vers le processus</translation>
</message>
<message>
- <location line="-709"/>
<source>Process crashed</source>
<translation>Le processus à planté</translation>
</message>
<message>
- <location line="+912"/>
<source>No program defined</source>
<translation>Aucun programme défini</translation>
</message>
<message>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="-341"/>
+ <location filename="../src/corelib/io/qprocess_win.cpp" line="+464"/>
<source>Process failed to start</source>
<translation>Le processus n&apos;a pas démarré</translation>
</message>
+ <message>
+ <source>Process failed to start: %1</source>
+ <translation>Le démarrage du processus a échoué: %1</translation>
+ </message>
</context>
<context>
<name>QProgressDialog</name>
<message>
- <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+182"/>
<source>Cancel</source>
<translation>Annuler</translation>
</message>
@@ -4811,7 +4021,6 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QPushButton</name>
<message>
- <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="-8"/>
<source>Open</source>
<translation>Ouvrir</translation>
</message>
@@ -4819,7 +4028,6 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QRadioButton</name>
<message>
- <location line="+12"/>
<source>Check</source>
<translation>Cocher</translation>
</message>
@@ -4827,50 +4035,49 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QRegExp</name>
<message>
- <location filename="../src/corelib/tools/qregexp.cpp" line="+64"/>
<source>no error occurred</source>
<translation>aucune erreur ne s&apos;est produite</translation>
</message>
<message>
- <location line="+1"/>
<source>disabled feature used</source>
<translation>option désactivée</translation>
</message>
<message>
- <location line="+1"/>
<source>bad char class syntax</source>
<translation>syntaxe invalide pour classe de caractère</translation>
</message>
<message>
- <location line="+1"/>
<source>bad lookahead syntax</source>
<translation>syntaxe invalide pour lookahead</translation>
</message>
<message>
- <location line="+1"/>
<source>bad repetition syntax</source>
<translation>syntaxe invalide pour répétition</translation>
</message>
<message>
- <location line="+1"/>
<source>invalid octal value</source>
<translation>valeur octale invalide</translation>
</message>
<message>
- <location line="+1"/>
<source>missing left delim</source>
<translation>délémiteur gauche manquant</translation>
</message>
<message>
- <location line="+1"/>
<source>unexpected end</source>
<translation>fin impromptue</translation>
</message>
<message>
- <location line="+1"/>
<source>met internal limit</source>
<translation>rencontré limite interne</translation>
</message>
+ <message>
+ <source>invalid interval</source>
+ <translation>intervalle non valide</translation>
+ </message>
+ <message>
+ <source>invalid category</source>
+ <translation>catégorie non valide</translation>
+ </message>
</context>
<context>
<name>QSQLite2Driver</name>
@@ -4880,30 +4087,34 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Erreur à l&apos;ouverture de la base de données</translation>
</message>
<message>
- <location line="+41"/>
<source>Unable to begin transaction</source>
<translation>Impossible de démarrer la transaction</translation>
</message>
<message>
- <location line="+17"/>
<source>Unable to commit transaction</source>
<translation>Impossible de soumettre la transaction</translation>
</message>
<message>
- <location line="+17"/>
+ <location line="+75"/>
<source>Unable to rollback Transaction</source>
<translation>Impossible d&apos;annuler la transaction</translation>
</message>
+ <message>
+ <source>Error opening database</source>
+ <translation>Erreur lors de l&apos;ouverture de la base de données</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>Impossible de répéter la transaction</translation>
+ </message>
</context>
<context>
<name>QSQLite2Result</name>
<message>
- <location line="-323"/>
<source>Unable to fetch results</source>
<translation>Impossible de récupérer les résultats</translation>
</message>
<message>
- <location line="+147"/>
<source>Unable to execute statement</source>
<translation>Impossible d&apos;exécuter la requête</translation>
</message>
@@ -4911,22 +4122,18 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QSQLiteDriver</name>
<message>
- <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+528"/>
<source>Error opening database</source>
<translation>Erreur lors de l&apos;ouverture de la base de données</translation>
</message>
<message>
- <location line="+11"/>
<source>Error closing database</source>
<translation>Erreur lors de la fermeture de la base de données</translation>
</message>
<message>
- <location line="+20"/>
<source>Unable to begin transaction</source>
<translation>Impossible de démarrer la transaction</translation>
</message>
<message>
- <location line="+15"/>
<source>Unable to commit transaction</source>
<translation>Incapable de soumettre la transaction</translation>
</message>
@@ -4935,7 +4142,6 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation type="obsolete">Impossible d&apos;annuler la transaction</translation>
</message>
<message>
- <location line="+15"/>
<source>Unable to rollback transaction</source>
<translation>Impossible d&apos;annuler la transaction</translation>
</message>
@@ -4943,34 +4149,26 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QSQLiteResult</name>
<message>
- <location line="-400"/>
- <location line="+66"/>
- <location line="+8"/>
<source>Unable to fetch row</source>
<translation>Impossible de récupérer la rangée</translation>
</message>
<message>
- <location line="+63"/>
<source>Unable to execute statement</source>
<translation>Impossible d&apos;exécuter la requête</translation>
</message>
<message>
- <location line="+20"/>
<source>Unable to reset statement</source>
<translation>Impossible de réinitialiser la requête</translation>
</message>
<message>
- <location line="+45"/>
<source>Unable to bind parameters</source>
<translation>Impossible d&apos;attacher les paramètres</translation>
</message>
<message>
- <location line="+7"/>
<source>Parameter count mismatch</source>
<translation>Nombre de paramètres incorrect</translation>
</message>
<message>
- <location line="-208"/>
<source>No query</source>
<translation>Pas de requête</translation>
</message>
@@ -4978,84 +4176,66 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QScrollBar</name>
<message>
- <location filename="../src/gui/widgets/qscrollbar.cpp" line="+448"/>
<source>Scroll here</source>
<translation>Défiler jusqu&apos;ici</translation>
</message>
<message>
- <location line="+2"/>
<source>Left edge</source>
<translation>Extrême gauche</translation>
</message>
<message>
- <location line="+0"/>
<source>Top</source>
<translation>En haut</translation>
</message>
<message>
- <location line="+1"/>
<source>Right edge</source>
<translation>Extrême droite</translation>
</message>
<message>
- <location line="+0"/>
<source>Bottom</source>
<translation>En bas</translation>
</message>
<message>
- <location line="+2"/>
<source>Page left</source>
<translation>Page précédente</translation>
</message>
<message>
- <location line="+0"/>
- <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+143"/>
<source>Page up</source>
<translation>Page précédente</translation>
</message>
<message>
- <location line="+1"/>
<source>Page right</source>
<translation>Page suivante</translation>
</message>
<message>
- <location line="+0"/>
- <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+4"/>
<source>Page down</source>
<translation>Page suivante</translation>
</message>
<message>
- <location line="+2"/>
<source>Scroll left</source>
<translation>Défiler vers la gauche</translation>
</message>
<message>
- <location line="+0"/>
<source>Scroll up</source>
<translation>Défiler vers le haut</translation>
</message>
<message>
- <location line="+1"/>
<source>Scroll right</source>
<translation>Défiler vers la droite</translation>
</message>
<message>
- <location line="+0"/>
<source>Scroll down</source>
<translation>Défiler vers le bas</translation>
</message>
<message>
- <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="-6"/>
<source>Line up</source>
<translation>Aligner</translation>
</message>
<message>
- <location line="+4"/>
<source>Position</source>
<translation>Position</translation>
</message>
<message>
- <location line="+4"/>
<source>Line down</source>
<translation>Aligner en-bas</translation>
</message>
@@ -5063,595 +4243,834 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QSharedMemory</name>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+207"/>
<source>%1: unable to set key on lock</source>
<translation>%1 : impossible d&apos;affecter la clé au verrou</translation>
</message>
<message>
- <location line="+81"/>
<source>%1: create size is less then 0</source>
<translation>%1 : taille de création est inférieur à 0</translation>
</message>
<message>
- <location line="+168"/>
- <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+148"/>
<source>%1: unable to lock</source>
<translation>%1 : impossible de vérrouiller</translation>
</message>
<message>
- <location line="+22"/>
<source>%1: unable to unlock</source>
<translation>%1 : impossible de déverrouiller</translation>
</message>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+78"/>
- <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+87"/>
<source>%1: permission denied</source>
<translation>%1 : permission refusée</translation>
</message>
<message>
- <location line="+4"/>
- <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="-22"/>
<source>%1: already exists</source>
<translation>%1 : existe déjà</translation>
</message>
<message>
- <location line="+4"/>
- <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+9"/>
<source>%1: doesn&apos;t exists</source>
<translation>%1 : n&apos;existe pas</translation>
</message>
<message>
- <location line="+6"/>
- <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+9"/>
<source>%1: out of resources</source>
<translation>%1 : plus de ressources disponibles</translation>
</message>
<message>
- <location line="+4"/>
- <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+7"/>
<source>%1: unknown error %2</source>
<translation>%1 : erreur inconnue %2</translation>
</message>
<message>
- <location line="+21"/>
<source>%1: key is empty</source>
<translation>%1 : clé vide</translation>
</message>
<message>
- <location line="+8"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+125"/>
<source>%1: unix key file doesn&apos;t exists</source>
<translation>%1 : le fichier de clé unix n&apos;existe pas</translation>
</message>
<message>
- <location line="+7"/>
<source>%1: ftok failed</source>
<translation>%1 : ftok a échoué</translation>
</message>
<message>
- <location line="+51"/>
- <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+15"/>
<source>%1: unable to make key</source>
<translation>%1 : impossible de créer la clé</translation>
</message>
<message>
- <location line="+20"/>
<source>%1: system-imposed size restrictions</source>
<translation>%1 : le système impose des restrictions sur la taille</translation>
</message>
<message>
- <location line="+53"/>
<source>%1: not attached</source>
<translation>%1 : non attaché</translation>
</message>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="-27"/>
<source>%1: invalid size</source>
<translation>%1 : taille invalide</translation>
</message>
<message>
- <location line="+68"/>
<source>%1: key error</source>
<translation>%1 : erreur de clé</translation>
</message>
<message>
- <location line="+38"/>
<source>%1: size query failed</source>
<translation>%1 : la requête de taille a échoué</translation>
</message>
+ <message>
+ <source>%1: doesn&apos;t exist</source>
+ <translation>%1: n&apos;existe pas</translation>
+ </message>
+ <message>
+ <source>%1: UNIX key file doesn&apos;t exist</source>
+ <translation>%1: le fichier de clés UNIX n&apos;existe pas</translation>
+ </message>
</context>
<context>
<name>QShortcut</name>
<message>
- <location filename="../src/gui/kernel/qkeysequence.cpp" line="+373"/>
<source>Space</source>
<translation>Espace</translation>
</message>
<message>
- <location line="+1"/>
<source>Esc</source>
<translation>Échap</translation>
</message>
<message>
- <location line="+1"/>
<source>Tab</source>
<translation>Tab</translation>
</message>
<message>
- <location line="+1"/>
<source>Backtab</source>
<translation>Tab arr</translation>
</message>
<message>
- <location line="+1"/>
<source>Backspace</source>
<translation>Effacement</translation>
</message>
<message>
- <location line="+1"/>
<source>Return</source>
<translation>Retour</translation>
</message>
<message>
- <location line="+1"/>
<source>Enter</source>
<translation>Entrée</translation>
</message>
<message>
- <location line="+1"/>
<source>Ins</source>
<translation>Inser</translation>
</message>
<message>
- <location line="+1"/>
<source>Del</source>
<translation>Suppr</translation>
</message>
<message>
- <location line="+1"/>
<source>Pause</source>
<translation>Pause</translation>
</message>
<message>
- <location line="+1"/>
<source>Print</source>
<translation>Impr écran</translation>
</message>
<message>
- <location line="+1"/>
<source>SysReq</source>
<translation>Syst</translation>
</message>
<message>
- <location line="+1"/>
<source>Home</source>
<translation>Début</translation>
</message>
<message>
- <location line="+1"/>
<source>End</source>
<translation>Fin</translation>
</message>
<message>
- <location line="+1"/>
<source>Left</source>
<translation>Gauche</translation>
</message>
<message>
- <location line="+1"/>
<source>Up</source>
<translation>Haut</translation>
</message>
<message>
- <location line="+1"/>
<source>Right</source>
<translation>Droite</translation>
</message>
<message>
- <location line="+1"/>
<source>Down</source>
<translation>Bas</translation>
</message>
<message>
- <location line="+1"/>
<source>PgUp</source>
<translation>Page préc</translation>
</message>
<message>
- <location line="+1"/>
<source>PgDown</source>
<translation>Page suiv</translation>
</message>
<message>
- <location line="+1"/>
<source>CapsLock</source>
<translation>Verr maj</translation>
</message>
<message>
- <location line="+1"/>
<source>NumLock</source>
<translation>Verr num</translation>
</message>
<message>
- <location line="+1"/>
<source>ScrollLock</source>
<translation>Arrêt défil</translation>
</message>
<message>
- <location line="+1"/>
<source>Menu</source>
<translation>Menu</translation>
</message>
<message>
- <location line="+1"/>
<source>Help</source>
<translation>Aide</translation>
</message>
<message>
- <location line="+3"/>
<source>Back</source>
<translation>Précédent (historique)</translation>
</message>
<message>
- <location line="+1"/>
<source>Forward</source>
<translation>Successeur (historique)</translation>
</message>
<message>
- <location line="+1"/>
<source>Stop</source>
<translation>Stop</translation>
</message>
<message>
- <location line="+1"/>
<source>Refresh</source>
<translation>Rafraîchir</translation>
</message>
<message>
- <location line="+1"/>
<source>Volume Down</source>
<translation>Volume bas</translation>
</message>
<message>
- <location line="+1"/>
<source>Volume Mute</source>
<translation>Volume muet</translation>
</message>
<message>
- <location line="+1"/>
<source>Volume Up</source>
<translation>Volume haut
</translation>
</message>
<message>
- <location line="+1"/>
<source>Bass Boost</source>
<translation>Graves fort</translation>
</message>
<message>
- <location line="+1"/>
<source>Bass Up</source>
<translation>Graves haut</translation>
</message>
<message>
- <location line="+1"/>
<source>Bass Down</source>
<translation>Graves bas</translation>
</message>
<message>
- <location line="+1"/>
<source>Treble Up</source>
<translation>Aigus haut</translation>
</message>
<message>
- <location line="+1"/>
<source>Treble Down</source>
<translation>Aigus bas</translation>
</message>
<message>
- <location line="+1"/>
<source>Media Play</source>
<translation>Média démarrer</translation>
</message>
<message>
- <location line="+1"/>
<source>Media Stop</source>
<translation>Média arrêt</translation>
</message>
<message>
- <location line="+1"/>
<source>Media Previous</source>
<translation>Média précédent</translation>
</message>
<message>
- <location line="+1"/>
<source>Media Next</source>
<translation>Média suivant</translation>
</message>
<message>
- <location line="+1"/>
<source>Media Record</source>
<translation>Média enregistrer</translation>
</message>
<message>
- <location line="+2"/>
<source>Favorites</source>
<translation>Préférés</translation>
</message>
<message>
- <location line="+1"/>
<source>Search</source>
<translation>Recherche</translation>
</message>
<message>
- <location line="+1"/>
<source>Standby</source>
<translation>Attente</translation>
</message>
<message>
- <location line="+1"/>
<source>Open URL</source>
<translation>Ouvrir URL</translation>
</message>
<message>
- <location line="+1"/>
<source>Launch Mail</source>
<translation>Lancer courrier</translation>
</message>
<message>
- <location line="+1"/>
<source>Launch Media</source>
<translation>Lancer média</translation>
</message>
<message>
- <location line="+1"/>
<source>Launch (0)</source>
<translation>Lancer (0)</translation>
</message>
<message>
- <location line="+1"/>
<source>Launch (1)</source>
<translation>Lancer (1)</translation>
</message>
<message>
- <location line="+1"/>
<source>Launch (2)</source>
<translation>Lancer (2)</translation>
</message>
<message>
- <location line="+1"/>
<source>Launch (3)</source>
<translation>Lancer (3)</translation>
</message>
<message>
- <location line="+1"/>
<source>Launch (4)</source>
<translation>Lancer (4)</translation>
</message>
<message>
- <location line="+1"/>
<source>Launch (5)</source>
<translation>Lancer (5)</translation>
</message>
<message>
- <location line="+1"/>
<source>Launch (6)</source>
<translation>Lancer (6)</translation>
</message>
<message>
- <location line="+1"/>
<source>Launch (7)</source>
<translation>Lancer (7)</translation>
</message>
<message>
- <location line="+1"/>
<source>Launch (8)</source>
<translation>Lancer (8)</translation>
</message>
<message>
- <location line="+1"/>
<source>Launch (9)</source>
<translation>Lancer (9)</translation>
</message>
<message>
- <location line="+1"/>
<source>Launch (A)</source>
<translation>Lancer (A)</translation>
</message>
<message>
- <location line="+1"/>
<source>Launch (B)</source>
<translation>Lancer (B)</translation>
</message>
<message>
- <location line="+1"/>
<source>Launch (C)</source>
<translation>Lancer (C)</translation>
</message>
<message>
- <location line="+1"/>
<source>Launch (D)</source>
<translation>Lancer (D)</translation>
</message>
<message>
- <location line="+1"/>
<source>Launch (E)</source>
<translation>Lancer (E)</translation>
</message>
<message>
- <location line="+1"/>
<source>Launch (F)</source>
<translation>Lancer (F)</translation>
</message>
<message>
- <location line="+4"/>
<source>Print Screen</source>
- <translation></translation>
+ <translation>Capture d&apos;écran</translation>
</message>
<message>
- <location line="+1"/>
<source>Page Up</source>
- <translation></translation>
+ <translation>Page haut</translation>
</message>
<message>
- <location line="+1"/>
<source>Page Down</source>
- <translation></translation>
+ <translation>Page bas</translation>
</message>
<message>
- <location line="+1"/>
<source>Caps Lock</source>
- <translation></translation>
+ <translation>Verr Maj</translation>
</message>
<message>
- <location line="+1"/>
<source>Num Lock</source>
- <translation></translation>
+ <translation>Verr num</translation>
</message>
<message>
- <location line="+1"/>
<source>Number Lock</source>
- <translation></translation>
+ <translation>Verrouillage numérique</translation>
</message>
<message>
- <location line="+1"/>
<source>Scroll Lock</source>
- <translation></translation>
+ <translation>Arrêt défilement</translation>
</message>
<message>
- <location line="+1"/>
<source>Insert</source>
<translation>Insérer</translation>
</message>
<message>
- <location line="+1"/>
<source>Delete</source>
<translation>Supprimer</translation>
</message>
<message>
- <location line="+1"/>
<source>Escape</source>
<translation>Échapement</translation>
</message>
<message>
- <location line="+1"/>
<source>System Request</source>
<translation>Système</translation>
</message>
<message>
- <location line="+4"/>
<source>Select</source>
<translation>Sélectionner</translation>
</message>
<message>
- <location line="+1"/>
<source>Yes</source>
<translation>Oui</translation>
</message>
<message>
- <location line="+1"/>
<source>No</source>
<translation>Non</translation>
</message>
<message>
- <location line="+4"/>
<source>Context1</source>
<translation>Contexte1</translation>
</message>
<message>
- <location line="+1"/>
<source>Context2</source>
<translation>Contexte2</translation>
</message>
<message>
- <location line="+1"/>
<source>Context3</source>
<translation>Contexte3</translation>
</message>
<message>
- <location line="+1"/>
<source>Context4</source>
<translation>Contexte4</translation>
</message>
<message>
- <location line="+1"/>
<source>Call</source>
<translation>Appeler</translation>
</message>
<message>
- <location line="+1"/>
<source>Hangup</source>
<translation>Raccrocher</translation>
</message>
<message>
- <location line="+1"/>
<source>Flip</source>
<translation>Retourner</translation>
</message>
<message>
- <location line="+527"/>
- <location line="+122"/>
<source>Ctrl</source>
<translation>Ctrl</translation>
</message>
<message>
- <location line="-121"/>
- <location line="+125"/>
<source>Shift</source>
<translation>Maj</translation>
</message>
<message>
- <location line="-124"/>
- <location line="+122"/>
<source>Alt</source>
<translation>Alt</translation>
</message>
<message>
- <location line="-121"/>
- <location line="+117"/>
<source>Meta</source>
<translation>Méta</translation>
</message>
<message>
- <location line="-25"/>
<source>+</source>
<translation>+</translation>
</message>
<message>
- <location line="+46"/>
<source>F%1</source>
<translation>F%1</translation>
</message>
<message>
- <location line="-720"/>
<source>Home Page</source>
<translation>Page d&apos;accueil</translation>
</message>
+ <message>
+ <source>Monitor Brightness Up</source>
+ <translation>Augmenter la luminosité du moniteur</translation>
+ </message>
+ <message>
+ <source>Monitor Brightness Down</source>
+ <translation>Baisser la luminosité du moniteur</translation>
+ </message>
+ <message>
+ <source>Keyboard Light On/Off</source>
+ <translation>Avec/sans lumière clavier</translation>
+ </message>
+ <message>
+ <source>Keyboard Brightness Up</source>
+ <translation>Augmenter la luminosité du clavier</translation>
+ </message>
+ <message>
+ <source>Keyboard Brightness Down</source>
+ <translation>Baisser la luminosité du clavier</translation>
+ </message>
+ <message>
+ <source>Power Off</source>
+ <translation>Couper l&apos;alimentation</translation>
+ </message>
+ <message>
+ <source>Wake Up</source>
+ <translation>Réveiller</translation>
+ </message>
+ <message>
+ <source>Eject</source>
+ <translation>Éjecter</translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation>Économiseur d&apos;écran</translation>
+ </message>
+ <message>
+ <source>WWW</source>
+ <translation>WWW</translation>
+ </message>
+ <message>
+ <source>Sleep</source>
+ <translation>Dormir</translation>
+ </message>
+ <message>
+ <source>LightBulb</source>
+ <translation>Ampoule</translation>
+ </message>
+ <message>
+ <source>Shop</source>
+ <translation>Magasin</translation>
+ </message>
+ <message>
+ <source>History</source>
+ <translation>Historique</translation>
+ </message>
+ <message>
+ <source>Add Favorite</source>
+ <translation>Ajouter favori</translation>
+ </message>
+ <message>
+ <source>Hot Links</source>
+ <translation>Liens chauds</translation>
+ </message>
+ <message>
+ <source>Adjust Brightness</source>
+ <translation>Régler la luminosité</translation>
+ </message>
+ <message>
+ <source>Finance</source>
+ <translation>Finances</translation>
+ </message>
+ <message>
+ <source>Community</source>
+ <translation>Communauté</translation>
+ </message>
+ <message>
+ <source>Audio Rewind</source>
+ <translation>Audio arrière</translation>
+ </message>
+ <message>
+ <source>Back Forward</source>
+ <translation>Retour avant</translation>
+ </message>
+ <message>
+ <source>Application Left</source>
+ <translation>Application gauche</translation>
+ </message>
+ <message>
+ <source>Application Right</source>
+ <translation>Application droite</translation>
+ </message>
+ <message>
+ <source>Book</source>
+ <translation>Livre</translation>
+ </message>
+ <message>
+ <source>CD</source>
+ <translation>CD</translation>
+ </message>
+ <message>
+ <source>Calculator</source>
+ <translation>Calculatrice</translation>
+ </message>
+ <message>
+ <source>Clear</source>
+ <translation>Effacer</translation>
+ </message>
+ <message>
+ <source>Clear Grab</source>
+ <translation>Effacer la prise</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>Fermer</translation>
+ </message>
+ <message>
+ <source>Copy</source>
+ <translation>Copier</translation>
+ </message>
+ <message>
+ <source>Cut</source>
+ <translation>Couper</translation>
+ </message>
+ <message>
+ <source>Display</source>
+ <translation>Affichage</translation>
+ </message>
+ <message>
+ <source>DOS</source>
+ <translation>DOS</translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation>Documents</translation>
+ </message>
+ <message>
+ <source>Spreadsheet</source>
+ <translation>Feuille de calcul</translation>
+ </message>
+ <message>
+ <source>Browser</source>
+ <translation>Navigateur</translation>
+ </message>
+ <message>
+ <source>Game</source>
+ <translation>Jeu</translation>
+ </message>
+ <message>
+ <source>Go</source>
+ <translation>Aller</translation>
+ </message>
+ <message>
+ <source>iTouch</source>
+ <translation>iTouch</translation>
+ </message>
+ <message>
+ <source>Logoff</source>
+ <translation>Fermer une session</translation>
+ </message>
+ <message>
+ <source>Market</source>
+ <translation>Marché</translation>
+ </message>
+ <message>
+ <source>Meeting</source>
+ <translation>Réunion</translation>
+ </message>
+ <message>
+ <source>Keyboard Menu</source>
+ <translation>Menu du clavier</translation>
+ </message>
+ <message>
+ <source>Menu PB</source>
+ <translation>Menu PB</translation>
+ </message>
+ <message>
+ <source>My Sites</source>
+ <translation>Mes sites</translation>
+ </message>
+ <message>
+ <source>News</source>
+ <translation>Actualités</translation>
+ </message>
+ <message>
+ <source>Home Office</source>
+ <translation>Bureau à domicile</translation>
+ </message>
+ <message>
+ <source>Option</source>
+ <translation>Option</translation>
+ </message>
+ <message>
+ <source>Paste</source>
+ <translation>Coller</translation>
+ </message>
+ <message>
+ <source>Phone</source>
+ <translation>Téléphone</translation>
+ </message>
+ <message>
+ <source>Reply</source>
+ <translation>Répondre</translation>
+ </message>
+ <message>
+ <source>Reload</source>
+ <translation>Recharger</translation>
+ </message>
+ <message>
+ <source>Rotate Windows</source>
+ <translation>Faire tourner la fenêtre</translation>
+ </message>
+ <message>
+ <source>Rotation PB</source>
+ <translation>Rotation PB</translation>
+ </message>
+ <message>
+ <source>Rotation KB</source>
+ <translation>Rotation KB</translation>
+ </message>
+ <message>
+ <source>Save</source>
+ <translation>Enregistrer</translation>
+ </message>
+ <message>
+ <source>Send</source>
+ <translation>Envoyer</translation>
+ </message>
+ <message>
+ <source>Spellchecker</source>
+ <translation>Correcteur orthographique</translation>
+ </message>
+ <message>
+ <source>Split Screen</source>
+ <translation>Partager l&apos;écran</translation>
+ </message>
+ <message>
+ <source>Support</source>
+ <translation>Supporter</translation>
+ </message>
+ <message>
+ <source>Task Panel</source>
+ <translation>Panneau de tâches</translation>
+ </message>
+ <message>
+ <source>Terminal</source>
+ <translation>Terminal</translation>
+ </message>
+ <message>
+ <source>Tools</source>
+ <translation>Outils</translation>
+ </message>
+ <message>
+ <source>Travel</source>
+ <translation>Voyager</translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation>Vidéo</translation>
+ </message>
+ <message>
+ <source>Word Processor</source>
+ <translation>Traitement de texte</translation>
+ </message>
+ <message>
+ <source>XFer</source>
+ <translation>XFer</translation>
+ </message>
+ <message>
+ <source>Zoom In</source>
+ <translation>Agrandir</translation>
+ </message>
+ <message>
+ <source>Zoom Out</source>
+ <translation>Rétrécir</translation>
+ </message>
+ <message>
+ <source>Away</source>
+ <translation>Absent</translation>
+ </message>
+ <message>
+ <source>Messenger</source>
+ <translation>Messagerie instantanée</translation>
+ </message>
+ <message>
+ <source>WebCam</source>
+ <translation>Webcaméra</translation>
+ </message>
+ <message>
+ <source>Mail Forward</source>
+ <translation>Faire suivre l&apos;e-mail</translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation>Images</translation>
+ </message>
+ <message>
+ <source>Music</source>
+ <translation>Musique</translation>
+ </message>
+ <message>
+ <source>Battery</source>
+ <translation>Batterie</translation>
+ </message>
+ <message>
+ <source>Bluetooth</source>
+ <translation>Bluetooth</translation>
+ </message>
+ <message>
+ <source>Wireless</source>
+ <translation>Sans fil</translation>
+ </message>
+ <message>
+ <source>Ultra Wide Band</source>
+ <translation>Bande ultralarge</translation>
+ </message>
+ <message>
+ <source>Audio Forward</source>
+ <translation>Audio avant</translation>
+ </message>
+ <message>
+ <source>Audio Repeat</source>
+ <translation>Audio répéter</translation>
+ </message>
+ <message>
+ <source>Audio Random Play</source>
+ <translation>Audio lecture aléatoire</translation>
+ </message>
+ <message>
+ <source>Subtitle</source>
+ <translation>Sous-titre</translation>
+ </message>
+ <message>
+ <source>Audio Cycle Track</source>
+ <translation>Audio répéter la piste</translation>
+ </message>
+ <message>
+ <source>Time</source>
+ <translation>Heure</translation>
+ </message>
+ <message>
+ <source>View</source>
+ <translation>Afficher</translation>
+ </message>
+ <message>
+ <source>Top Menu</source>
+ <translation>Haut du menu</translation>
+ </message>
+ <message>
+ <source>Suspend</source>
+ <translation>Suspendre</translation>
+ </message>
+ <message>
+ <source>Hibernate</source>
+ <translation>Hiberner</translation>
+ </message>
</context>
<context>
<name>QSlider</name>
<message>
- <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+151"/>
<source>Page left</source>
<translation>Page précédente</translation>
</message>
<message>
- <location line="+0"/>
<source>Page up</source>
<translation>Page précédente</translation>
</message>
<message>
- <location line="+2"/>
<source>Position</source>
- <translation></translation>
+ <translation>Position</translation>
</message>
<message>
- <location line="+3"/>
<source>Page right</source>
<translation>Page suivante</translation>
</message>
<message>
- <location line="+0"/>
<source>Page down</source>
<translation>Page suivante</translation>
</message>
@@ -5659,67 +5078,54 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QSocks5SocketEngine</name>
<message>
- <location filename="../src/network/socket/qsocks5socketengine.cpp" line="-67"/>
<source>Connection to proxy refused</source>
<translation>Connexion au proxy refusée</translation>
</message>
<message>
- <location line="+4"/>
<source>Connection to proxy closed prematurely</source>
<translation>connexion au proxy fermée prématurément</translation>
</message>
<message>
- <location line="+4"/>
<source>Proxy host not found</source>
<translation>Hôte proxy introuvable</translation>
</message>
<message>
- <location line="+5"/>
<source>Connection to proxy timed out</source>
<translation>Connexion au proxy expirée</translation>
</message>
<message>
- <location line="+17"/>
<source>Proxy authentication failed</source>
<translation>L&apos;authentification proxy a échoué</translation>
</message>
<message>
- <location line="+1"/>
<source>Proxy authentication failed: %1</source>
<translation>L&apos;authentification proxy a échoué : %1</translation>
</message>
<message>
- <location line="+9"/>
<source>SOCKS version 5 protocol error</source>
<translation>Erreur de protocole SOCKS version 5</translation>
</message>
<message>
- <location line="+19"/>
<source>General SOCKSv5 server failure</source>
<translation>Erreur générale du serveur SOCKSv5</translation>
</message>
<message>
- <location line="+4"/>
<source>Connection not allowed by SOCKSv5 server</source>
<translation>Connexion refusée par le serveur SOCKSv5</translation>
</message>
<message>
- <location line="+16"/>
<source>TTL expired</source>
<translation>TTL expiré</translation>
</message>
<message>
- <location line="+4"/>
<source>SOCKSv5 command not supported</source>
<translation>Commande SOCKSv5 non supportée</translation>
</message>
<message>
- <location line="+4"/>
<source>Address type not supported</source>
<translation>Type d&apos;adresse non supporté</translation>
</message>
<message>
- <location line="+5"/>
<source>Unknown SOCKSv5 proxy error code 0x%1</source>
<translation>Erreur proxy SOCKSv5 inconnue : 0x%1</translation>
</message>
@@ -5728,7 +5134,6 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation type="obsolete">Erreur d&apos;expiration socks5 lors de l&apos;établissement d&apos;une connexion au serveur socks</translation>
</message>
<message>
- <location line="+685"/>
<source>Network operation timed out</source>
<translation>L&apos;opération réseau a expiré</translation>
</message>
@@ -5736,12 +5141,10 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QSpinBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="-574"/>
<source>More</source>
<translation>Plus</translation>
</message>
<message>
- <location line="+2"/>
<source>Less</source>
<translation>Moins</translation>
</message>
@@ -5749,56 +5152,42 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QSql</name>
<message>
- <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+890"/>
<source>Delete</source>
<translation>Supprimer</translation>
</message>
<message>
- <location line="+1"/>
<source>Delete this record?</source>
<translation>Supprimer cet enregistrement ?</translation>
</message>
<message>
- <location line="+1"/>
- <location line="+16"/>
- <location line="+36"/>
<source>Yes</source>
<translation>Oui</translation>
</message>
<message>
- <location line="-51"/>
- <location line="+16"/>
- <location line="+36"/>
<source>No</source>
<translation>Non</translation>
</message>
<message>
- <location line="-44"/>
<source>Insert</source>
<translation>Insérer</translation>
</message>
<message>
- <location line="+2"/>
<source>Update</source>
<translation>Actualiser</translation>
</message>
<message>
- <location line="+4"/>
<source>Save edits?</source>
<translation>Enregistrer les modifications ?</translation>
</message>
<message>
- <location line="+3"/>
<source>Cancel</source>
<translation>Annuler</translation>
</message>
<message>
- <location line="+32"/>
<source>Confirm</source>
<translation>Confirmer</translation>
</message>
<message>
- <location line="+1"/>
<source>Cancel your edits?</source>
<translation>Annuler vos modifications ?</translation>
</message>
@@ -5806,52 +5195,42 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QSslSocket</name>
<message>
- <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+569"/>
<source>Unable to write data: %1</source>
<translation>Impossible d&apos;écrire les données : %1</translation>
</message>
<message>
- <location line="+119"/>
<source>Error while reading: %1</source>
<translation>Erreur lors de la lecture : %1</translation>
</message>
<message>
- <location line="+96"/>
<source>Error during SSL handshake: %1</source>
<translation>Erreur lors de la poignée de main SSL : %1</translation>
</message>
<message>
- <location line="-524"/>
<source>Error creating SSL context (%1)</source>
<translation>Erreur lors de la création du contexte SSL (%1)</translation>
</message>
<message>
- <location line="+25"/>
<source>Invalid or empty cipher list (%1)</source>
<translation>La list de chiffrements est invalide ou vide (%1)</translation>
</message>
<message>
- <location line="+62"/>
<source>Error creating SSL session, %1</source>
<translation>Erreur lors de la création de la session SSL, %1</translation>
</message>
<message>
- <location line="+15"/>
<source>Error creating SSL session: %1</source>
<translation>Erreur lors de la création de la session SSL : %1</translation>
</message>
<message>
- <location line="-61"/>
<source>Cannot provide a certificate with no key, %1</source>
<translation>Impossible de fournir un certificat sans clé, %1</translation>
</message>
<message>
- <location line="+7"/>
<source>Error loading local certificate, %1</source>
<translation>Erreur lors du chargement du certificat local, %1</translation>
</message>
<message>
- <location line="+12"/>
<source>Error loading private key, %1</source>
<translation>Erreur lors du chargement de la clé privée, %1</translation>
</message>
@@ -5860,38 +5239,130 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation type="obsolete">La clé privée ne certifie pas la clé publique, %1</translation>
</message>
<message>
- <location line="+7"/>
+ <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+327"/>
<source>Private key does not certificate public key, %1</source>
<translation>La clé privée ne certifie pas la clé publique, %1</translation>
</message>
+ <message>
+ <source>Unable to decrypt data: %1</source>
+ <translation>Impossible de décrypter les données: %1</translation>
+ </message>
+ <message>
+ <source>Private key does not certify public key, %1</source>
+ <translation>La clé privée ne certifie pas la clé publique, %1</translation>
+ </message>
+ <message>
+ <source>No error</source>
+ <translation>Aucune erreur</translation>
+ </message>
+ <message>
+ <source>The issuer certificate could not be found</source>
+ <translation>Le certificat de l&apos;émetteur est introuvable</translation>
+ </message>
+ <message>
+ <source>The certificate signature could not be decrypted</source>
+ <translation>La signature du certificat n&apos;a pas pu être vérifiée</translation>
+ </message>
+ <message>
+ <source>The public key in the certificate could not be read</source>
+ <translation>La clé publique du certificat n&apos;a pas pu être lue</translation>
+ </message>
+ <message>
+ <source>The signature of the certificate is invalid</source>
+ <translation>La signature du certificat n&apos;est pas valide</translation>
+ </message>
+ <message>
+ <source>The certificate is not yet valid</source>
+ <translation>Le certificat n&apos;est pas encore valide</translation>
+ </message>
+ <message>
+ <source>The certificate has expired</source>
+ <translation>Le certificat a expiré</translation>
+ </message>
+ <message>
+ <source>The certificate&apos;s notBefore field contains an invalid time</source>
+ <translation>Le champ pasAvant du certificat inclut une heure non valide</translation>
+ </message>
+ <message>
+ <source>The certificate&apos;s notAfter field contains an invalid time</source>
+ <translation>Le champ pasAprès du certificat inclut une heure non valide</translation>
+ </message>
+ <message>
+ <source>The certificate is self-signed, and untrusted</source>
+ <translation>Le certificat n&apos;est pas sécurisé car auto-signé</translation>
+ </message>
+ <message>
+ <source>The root certificate of the certificate chain is self-signed, and untrusted</source>
+ <translation>Le certificat racine de la chaîne de certificats n&apos;est pas sécurisé car signé automatiquement</translation>
+ </message>
+ <message>
+ <source>The issuer certificate of a locally looked up certificate could not be found</source>
+ <translation>Le certificat de l&apos;émetteur d&apos;un certificat converti localement est introuvable</translation>
+ </message>
+ <message>
+ <source>No certificates could be verified</source>
+ <translation>Aucun certificat n&apos;a pu être vérifié</translation>
+ </message>
+ <message>
+ <source>One of the CA certificates is invalid</source>
+ <translation>L&apos;un des certificats CA n&apos;est pas valide</translation>
+ </message>
+ <message>
+ <source>The basicConstraints path length parameter has been exceeded</source>
+ <translation>Le paramètre de longueur du chemin basicConstraints a été dépassé</translation>
+ </message>
+ <message>
+ <source>The supplied certificate is unsuitable for this purpose</source>
+ <translation>Le certificat fourni ne convient pas pour cet objectif</translation>
+ </message>
+ <message>
+ <source>The root CA certificate is not trusted for this purpose</source>
+ <translation>Le certificat CA racine n&apos;est pas sécurisé pour cet objectif</translation>
+ </message>
+ <message>
+ <source>The root CA certificate is marked to reject the specified purpose</source>
+ <translation>Le certificat CA racine est marqué pour rejeter l&apos;objectif spécifié</translation>
+ </message>
+ <message>
+ <source>The current candidate issuer certificate was rejected because its subject name did not match the issuer name of the current certificate</source>
+ <translation>Le certificat de l&apos;émetteur candidat actuel a été rejeté car le nom de son sujet ne correspondait pas au nom de l&apos;émetteur du certificat actuel</translation>
+ </message>
+ <message>
+ <source>The current candidate issuer certificate was rejected because its issuer name and serial number was present and did not match the authority key identifier of the current certificate</source>
+ <translation>Le certificat de l&apos;émetteur candidat actuel a été rejeté car le nom de son sujet et son numéro de série étaient présents et ne correspondaient pas à l&apos;identifiant de la clé d&apos;autorité du certificat actuel</translation>
+ </message>
+ <message>
+ <source>The peer did not present any certificate</source>
+ <translation>Le poste ne contient aucun certificat</translation>
+ </message>
+ <message>
+ <source>The host name did not match any of the valid hosts for this certificate</source>
+ <translation>Le nom d&apos;hôte ne correspondait à aucun des hôtes valides pour ce certificat</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>Erreur inconnue</translation>
+ </message>
</context>
<context>
<name>QSystemSemaphore</name>
<message>
- <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="-41"/>
- <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+66"/>
<source>%1: out of resources</source>
<translation>%1: plus de ressources disponibles</translation>
</message>
<message>
- <location line="-13"/>
- <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+4"/>
<source>%1: permission denied</source>
<translation>%1: permission refusée</translation>
</message>
<message>
- <location line="+4"/>
<source>%1: already exists</source>
<translation>%1 : existe déjà</translation>
</message>
<message>
- <location line="+4"/>
<source>%1: does not exist</source>
<translation>%1 : n&apos;existe pas</translation>
</message>
<message>
- <location line="+9"/>
- <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+3"/>
<source>%1: unknown error %2</source>
<translation>%1: erreur inconnue %2</translation>
</message>
@@ -5899,12 +5370,10 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QTDSDriver</name>
<message>
- <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+584"/>
<source>Unable to open connection</source>
<translation>Impossible d&apos;ouvrir la connexion</translation>
</message>
<message>
- <location line="+5"/>
<source>Unable to use database</source>
<translation>Impossible d&apos;utiliser la base de données</translation>
</message>
@@ -5912,12 +5381,10 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QTabBar</name>
<message>
- <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="-326"/>
<source>Scroll Left</source>
<translation>Défiler vers la gauche</translation>
</message>
<message>
- <location line="+0"/>
<source>Scroll Right</source>
<translation>Défiler vers la droite</translation>
</message>
@@ -5929,7 +5396,6 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation type="obsolete">Operation socket non supportée</translation>
</message>
<message>
- <location filename="../src/network/socket/qtcpserver.cpp" line="+282"/>
<source>Operation on socket is not supported</source>
<translation>Opération sur le socket non supportée</translation>
</message>
@@ -5937,42 +5403,34 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QTextControl</name>
<message>
- <location filename="../src/gui/text/qtextcontrol.cpp" line="+1973"/>
<source>&amp;Undo</source>
<translation>&amp;Annuler</translation>
</message>
<message>
- <location line="+2"/>
<source>&amp;Redo</source>
<translation>&amp;Répéter</translation>
</message>
<message>
- <location line="+4"/>
<source>Cu&amp;t</source>
<translation>Co&amp;uper</translation>
</message>
<message>
- <location line="+5"/>
<source>&amp;Copy</source>
<translation>Cop&amp;ier</translation>
</message>
<message>
- <location line="+7"/>
<source>Copy &amp;Link Location</source>
<translation>Copier l&apos;adresse du &amp;lien</translation>
</message>
<message>
- <location line="+6"/>
<source>&amp;Paste</source>
<translation>Co&amp;ller</translation>
</message>
<message>
- <location line="+3"/>
<source>Delete</source>
<translation>Supprimer</translation>
</message>
<message>
- <location line="+7"/>
<source>Select All</source>
<translation>Tout sélectionner</translation>
</message>
@@ -5980,14 +5438,10 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QToolButton</name>
<message>
- <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+254"/>
- <location line="+6"/>
<source>Press</source>
<translation>Presser</translation>
</message>
<message>
- <location line="-4"/>
- <location line="+8"/>
<source>Open</source>
<translation>Ouvrir</translation>
</message>
@@ -5995,7 +5449,6 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QUdpSocket</name>
<message>
- <location filename="../src/network/socket/qudpsocket.cpp" line="+169"/>
<source>This platform does not support IPv6</source>
<translation>Cette plateforme ne supporte pas IPv6</translation>
</message>
@@ -6003,12 +5456,10 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QUndoGroup</name>
<message>
- <location filename="../src/gui/util/qundogroup.cpp" line="+386"/>
<source>Undo</source>
<translation>Annuler</translation>
</message>
<message>
- <location line="+28"/>
<source>Redo</source>
<translation>Répéter</translation>
</message>
@@ -6016,7 +5467,6 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QUndoModel</name>
<message>
- <location filename="../src/gui/util/qundoview.cpp" line="+101"/>
<source>&lt;empty&gt;</source>
<translation>&lt;vide&gt;</translation>
</message>
@@ -6024,12 +5474,10 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QUndoStack</name>
<message>
- <location filename="../src/gui/util/qundostack.cpp" line="+834"/>
<source>Undo</source>
<translation>Annuler</translation>
</message>
<message>
- <location line="+27"/>
<source>Redo</source>
<translation>Répéter</translation>
</message>
@@ -6037,57 +5485,46 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QUnicodeControlCharacterMenu</name>
<message>
- <location filename="../src/gui/text/qtextcontrol.cpp" line="+884"/>
<source>LRM Left-to-right mark</source>
<translation>LRM Left-to-right mark</translation>
</message>
<message>
- <location line="+1"/>
<source>RLM Right-to-left mark</source>
<translation>RLM Right-to-left mark</translation>
</message>
<message>
- <location line="+1"/>
<source>ZWJ Zero width joiner</source>
<translation>ZWJ Zero width joiner</translation>
</message>
<message>
- <location line="+1"/>
<source>ZWNJ Zero width non-joiner</source>
<translation>ZWNJ Zero width non-joiner</translation>
</message>
<message>
- <location line="+1"/>
<source>ZWSP Zero width space</source>
<translation>ZWSP Zero width space</translation>
</message>
<message>
- <location line="+1"/>
<source>LRE Start of left-to-right embedding</source>
<translation>LRE Start of left-to-right embedding</translation>
</message>
<message>
- <location line="+1"/>
<source>RLE Start of right-to-left embedding</source>
<translation>RLE Start of right-to-left embedding</translation>
</message>
<message>
- <location line="+1"/>
<source>LRO Start of left-to-right override</source>
<translation>LRO Start of left-to-right override</translation>
</message>
<message>
- <location line="+1"/>
<source>RLO Start of right-to-left override</source>
<translation>RLO Start of right-to-left override</translation>
</message>
<message>
- <location line="+1"/>
<source>PDF Pop directional formatting</source>
<translation>PDF Pop directional formatting</translation>
</message>
<message>
- <location line="+6"/>
<source>Insert Unicode control character</source>
<translation>Insérer caractère de contrôle Unicode</translation>
</message>
@@ -6095,35 +5532,34 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QWebFrame</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+692"/>
<source>Request cancelled</source>
<translation>Requête annulée</translation>
</message>
<message>
- <location line="+17"/>
<source>Request blocked</source>
<translation>Requête bloquée</translation>
</message>
<message>
- <location line="+7"/>
<source>Cannot show URL</source>
<translation>Impossible d&apos;afficher l&apos;URL</translation>
</message>
<message>
- <location line="+6"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+722"/>
<source>Frame load interruped by policy change</source>
<translation>Chargement de la frame interrompu par un changement de configuration</translation>
</message>
<message>
- <location line="+6"/>
<source>Cannot show mimetype</source>
<translation>Impossible d&apos;afficher le mimetype</translation>
</message>
<message>
- <location line="+6"/>
<source>File does not exist</source>
<translation>Le fichier n&apos;existe pas</translation>
</message>
+ <message>
+ <source>Frame load interrupted by policy change</source>
+ <translation>Chargement du cadre interrompue par le changement de stratégie</translation>
+ </message>
</context>
<context>
<name>QWebPage</name>
@@ -6172,7 +5608,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<location line="+5"/>
<source>Save Link...</source>
<comment>Download Linked File context menu item</comment>
- <translation>Sauvegarder le lien...</translation>
+ <translation>Enregistrer le lien...</translation>
</message>
<message>
<location line="+5"/>
@@ -6190,7 +5626,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<location line="+5"/>
<source>Save Image</source>
<comment>Download Image context menu item</comment>
- <translation>SAuvegarder l&apos;image</translation>
+ <translation>Enregistrer l&apos;image</translation>
</message>
<message>
<location line="+5"/>
@@ -6421,83 +5857,68 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>%1 (%2x%3 pixels)</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp" line="+185"/>
<source>Web Inspector - %2</source>
<translation>Inspecteur Web - %2</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp" line="+382"/>
<source>Bad HTTP request</source>
<translation>Requête HTTP erronée</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp" line="-291"/>
+ <location line="-291"/>
<source>This is a searchable index. Enter search keywords: </source>
<comment>text that appears at the start of nearly-obsolete web pages in the form of a &apos;searchable index&apos;</comment>
<translation>Ceci est un index. Veuillez saisir les mots-clé :</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebCore/platform/qt/ScrollbarQt.cpp" line="+58"/>
<source>Scroll here</source>
<translation>Défiler jusqu&apos;ici</translation>
</message>
<message>
- <location line="+3"/>
<source>Left edge</source>
- <translation>Extrême gauche</translation>
+ <translation>À gauche</translation>
</message>
<message>
- <location line="+0"/>
<source>Top</source>
- <translation>En haut</translation>
+ <translation>Haut</translation>
</message>
<message>
- <location line="+1"/>
<source>Right edge</source>
- <translation>Extrême droite</translation>
+ <translation>À droite</translation>
</message>
<message>
- <location line="+0"/>
<source>Bottom</source>
<translation>En bas</translation>
</message>
<message>
- <location line="+3"/>
<source>Page left</source>
- <translation>Page précédente</translation>
+ <translation>Page gauche</translation>
</message>
<message>
- <location line="+0"/>
<source>Page up</source>
- <translation>Page précédente</translation>
+ <translation>Page haut</translation>
</message>
<message>
- <location line="+1"/>
<source>Page right</source>
- <translation>Page suivante</translation>
+ <translation>Page droite</translation>
</message>
<message>
- <location line="+0"/>
<source>Page down</source>
- <translation>Page suivante</translation>
+ <translation>Page bas</translation>
</message>
<message>
- <location line="+3"/>
<source>Scroll left</source>
<translation>Défiler vers la gauche</translation>
</message>
<message>
- <location line="+0"/>
<source>Scroll up</source>
<translation>Défiler vers le haut</translation>
</message>
<message>
- <location line="+1"/>
<source>Scroll right</source>
<translation>Défiler vers la droite</translation>
</message>
<message>
- <location line="+0"/>
<source>Scroll down</source>
<translation>Défiler vers le bas</translation>
</message>
@@ -6511,201 +5932,574 @@ Veuillez choisir un nom de fichier différent.</translation>
</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1322"/>
<source>JavaScript Alert - %1</source>
- <translation>Alerte javascript - %1</translation>
+ <translation>Alerte JavaScript - %1</translation>
</message>
<message>
- <location line="+15"/>
<source>JavaScript Confirm - %1</source>
- <translation>Confirmation javascript - %1</translation>
+ <translation>Confirmation JavaScript - %1</translation>
</message>
<message>
- <location line="+17"/>
<source>JavaScript Prompt - %1</source>
- <translation>Invite javascript - %1</translation>
+ <translation>Invite JavaScript - %1</translation>
</message>
<message>
- <location line="+333"/>
<source>Move the cursor to the next character</source>
- <translation>Positionner le curseur sur le caractère suivant</translation>
+ <translation>Déplacer le curseur au caractère suivant</translation>
</message>
<message>
- <location line="+3"/>
<source>Move the cursor to the previous character</source>
- <translation>Positionner le curseur sur le caractère précédent</translation>
+ <translation>Déplacer le curseur au caractère précédent</translation>
</message>
<message>
- <location line="+3"/>
<source>Move the cursor to the next word</source>
- <translation>Positionner le curseur au mot suivant</translation>
+ <translation>Déplacer le curseur au mot suivant</translation>
</message>
<message>
- <location line="+3"/>
<source>Move the cursor to the previous word</source>
- <translation>Positionner le curseur sur le mot précédent</translation>
+ <translation>Déplacer le curseur au mot précédent</translation>
</message>
<message>
- <location line="+3"/>
<source>Move the cursor to the next line</source>
- <translation>Positionner le curseur sur la prochaine ligne</translation>
+ <translation>Déplacer le curseur à la ligne suivante</translation>
</message>
<message>
- <location line="+3"/>
<source>Move the cursor to the previous line</source>
- <translation>Déplacer le curseur sur la ligne précédente</translation>
+ <translation>Déplacer le curseur à la ligne précédente</translation>
</message>
<message>
- <location line="+3"/>
<source>Move the cursor to the start of the line</source>
- <translation>Positionner le curseur au début de la ligne</translation>
+ <translation>Déplacer le curseur en début de ligne</translation>
</message>
<message>
- <location line="+3"/>
<source>Move the cursor to the end of the line</source>
- <translation>Positionner le curseur à la fin de la ligne</translation>
+ <translation>Déplacer le curseur en fin de ligne</translation>
</message>
<message>
- <location line="+3"/>
<source>Move the cursor to the start of the block</source>
- <translation>Positionner le curseur au début du bloc</translation>
+ <translation>Déplacer le curseur au début du paragraphe</translation>
</message>
<message>
- <location line="+3"/>
<source>Move the cursor to the end of the block</source>
- <translation>Positionner le curseur à la fin du bloc</translation>
+ <translation>Déplacer le curseur à la fin du paragraphe</translation>
</message>
<message>
- <location line="+3"/>
<source>Move the cursor to the start of the document</source>
- <translation>Positionner le curseur au début du document</translation>
+ <translation>Déplacer le curseur en début de document</translation>
</message>
<message>
- <location line="+3"/>
<source>Move the cursor to the end of the document</source>
- <translation>Positionner le curseur à la fin du document</translation>
+ <translation>Déplacer le curseur en fin de document</translation>
</message>
<message>
- <location line="+3"/>
<source>Select all</source>
- <translation>Sélectionner tout</translation>
+ <translation>Tout sélectionner</translation>
</message>
<message>
- <location line="+3"/>
<source>Select to the next character</source>
- <translation>Sélectionner le caractère suivant</translation>
+ <translation>Sélectionner jusqu&apos;au caractère suivant</translation>
</message>
<message>
- <location line="+3"/>
<source>Select to the previous character</source>
- <translation>Sélectionner le caractère précédent</translation>
+ <translation>Sélectionner jusqu&apos;au caractère précédent</translation>
</message>
<message>
- <location line="+3"/>
<source>Select to the next word</source>
- <translation>Sélectionner le prochain mot</translation>
+ <translation>Sélectionner jusqu&apos;au mot suivant</translation>
</message>
<message>
- <location line="+3"/>
<source>Select to the previous word</source>
- <translation>Sélectionner le mot précédent</translation>
+ <translation>Sélectionner jusqu&apos;au mot précédent</translation>
</message>
<message>
- <location line="+3"/>
<source>Select to the next line</source>
- <translation>Sélectionner jusqu&apos;à la prochaine ligne</translation>
+ <translation>Sélectionner jusqu&apos;à la ligne suivante</translation>
</message>
<message>
- <location line="+3"/>
<source>Select to the previous line</source>
<translation>Sélectionner jusqu&apos;à la ligne précédente</translation>
</message>
<message>
- <location line="+3"/>
<source>Select to the start of the line</source>
- <translation>Sélectionner jusqu&apos;au début de la ligne</translation>
+ <translation>Sélectionner jusqu&apos;en début de ligne</translation>
</message>
<message>
- <location line="+3"/>
<source>Select to the end of the line</source>
- <translation>Sélectionner jusqu&apos;à la fin de la ligne</translation>
+ <translation>Sélectionner jusqu&apos;en fin de ligne</translation>
</message>
<message>
- <location line="+3"/>
<source>Select to the start of the block</source>
- <translation>Sélectionner jusqu&apos;au début du bloc</translation>
+ <translation>Sélectionner jusqu&apos;au début du paragraphe</translation>
</message>
<message>
- <location line="+3"/>
<source>Select to the end of the block</source>
- <translation>Sélectionner jusqu&apos;à la fin du bloc</translation>
+ <translation>Sélectionner jusqu&apos;à la fin du paragraphe</translation>
</message>
<message>
- <location line="+3"/>
<source>Select to the start of the document</source>
<translation>Sélectionner jusqu&apos;au début du document</translation>
</message>
<message>
- <location line="+3"/>
<source>Select to the end of the document</source>
<translation>Sélectionner jusqu&apos;à la fin du document</translation>
</message>
<message>
- <location line="+3"/>
<source>Delete to the start of the word</source>
<translation>Supprimer jusqu&apos;au début du mot</translation>
</message>
<message>
- <location line="+3"/>
<source>Delete to the end of the word</source>
<translation>Supprimer jusqu&apos;à la fin du mot</translation>
</message>
<message>
- <location line="+33"/>
<source>Insert a new paragraph</source>
<translation>Insérer un nouveau paragraphe</translation>
</message>
<message>
- <location line="+3"/>
<source>Insert a new line</source>
<translation>Insérer une nouvelle ligne</translation>
</message>
+ <message>
+ <source>Submit</source>
+ <translation>Soumettre</translation>
+ </message>
+ <message>
+ <source>Reset</source>
+ <translation>Réinitialiser</translation>
+ </message>
+ <message>
+ <source>Choose File</source>
+ <translation>Choisir le fichier</translation>
+ </message>
+ <message>
+ <source>No file selected</source>
+ <translation>Pas de fichier sélectionné</translation>
+ </message>
+ <message>
+ <source>Open in New Window</source>
+ <translation>Ouvrir dans une Nouvelle Fenêtre</translation>
+ </message>
+ <message>
+ <source>Save Link...</source>
+ <translation>Enregistrer la cible du lien...</translation>
+ </message>
+ <message>
+ <source>Copy Link</source>
+ <translation>Copier le lien</translation>
+ </message>
+ <message>
+ <source>Open Image</source>
+ <translation>Ouvrir l&apos;image</translation>
+ </message>
+ <message>
+ <source>Save Image</source>
+ <translation>Enregistrer l&apos;image</translation>
+ </message>
+ <message>
+ <source>Copy Image</source>
+ <translation>Copier l&apos;image</translation>
+ </message>
+ <message>
+ <source>Open Frame</source>
+ <translation>Ouvrir le cadre</translation>
+ </message>
+ <message>
+ <source>Copy</source>
+ <translation>Copier</translation>
+ </message>
+ <message>
+ <source>Go Back</source>
+ <translation>Précédent</translation>
+ </message>
+ <message>
+ <source>Go Forward</source>
+ <translation>Suivant</translation>
+ </message>
+ <message>
+ <source>Stop</source>
+ <translation>Stop</translation>
+ </message>
+ <message>
+ <source>Reload</source>
+ <translation>Recharger</translation>
+ </message>
+ <message>
+ <source>Cut</source>
+ <translation>Couper</translation>
+ </message>
+ <message>
+ <source>Paste</source>
+ <translation>Coller</translation>
+ </message>
+ <message>
+ <source>No Guesses Found</source>
+ <translation>Pas de candidat trouvés</translation>
+ </message>
+ <message>
+ <source>Ignore</source>
+ <translation>Ignorer</translation>
+ </message>
+ <message>
+ <source>Add To Dictionary</source>
+ <translation>Ajouter au dictionnaire</translation>
+ </message>
+ <message>
+ <source>Search The Web</source>
+ <translation>Chercher sur le Web</translation>
+ </message>
+ <message>
+ <source>Look Up In Dictionary</source>
+ <translation>Chercher dans le dictionnaire</translation>
+ </message>
+ <message>
+ <source>Open Link</source>
+ <translation>Ouvrir le lien</translation>
+ </message>
+ <message>
+ <source>Spelling</source>
+ <translation>Orthographe</translation>
+ </message>
+ <message>
+ <source>Show Spelling and Grammar</source>
+ <translation>Afficher Orthographe et Grammaire</translation>
+ </message>
+ <message>
+ <source>Hide Spelling and Grammar</source>
+ <translation>Cacher Orthographe et Grammaire</translation>
+ </message>
+ <message>
+ <source>Check Spelling</source>
+ <translation>Vérifier l&apos;orthographe</translation>
+ </message>
+ <message>
+ <source>Check Spelling While Typing</source>
+ <translation>Vérifier l&apos;orthographe pendant la saisie</translation>
+ </message>
+ <message>
+ <source>Check Grammar With Spelling</source>
+ <translation>Vérifier la grammaire en même temps que l&apos;orthographe</translation>
+ </message>
+ <message>
+ <source>Fonts</source>
+ <translation>Polices</translation>
+ </message>
+ <message>
+ <source>Bold</source>
+ <translation>Gras</translation>
+ </message>
+ <message>
+ <source>Italic</source>
+ <translation>Italique</translation>
+ </message>
+ <message>
+ <source>Underline</source>
+ <translation>Souligné</translation>
+ </message>
+ <message>
+ <source>Outline</source>
+ <translation>Contour</translation>
+ </message>
+ <message>
+ <source>Direction</source>
+ <translation>Direction</translation>
+ </message>
+ <message>
+ <source>Text Direction</source>
+ <translation>Orientation du texte</translation>
+ </message>
+ <message>
+ <source>Default</source>
+ <translation>Défaut</translation>
+ </message>
+ <message>
+ <source>Left to Right</source>
+ <translation>Gauche à droite</translation>
+ </message>
+ <message>
+ <source>Right to Left</source>
+ <translation>Droite à gauche</translation>
+ </message>
+ <message>
+ <source>Loading...</source>
+ <translation>Chargement...</translation>
+ </message>
+ <message>
+ <source>Live Broadcast</source>
+ <translation>Diffusion en direct</translation>
+ </message>
+ <message>
+ <source>Audio Element</source>
+ <translation>Élément audio</translation>
+ </message>
+ <message>
+ <source>Video Element</source>
+ <translation>Élément vidéo</translation>
+ </message>
+ <message>
+ <source>Mute Button</source>
+ <translation>Bouton de désactivation du son</translation>
+ </message>
+ <message>
+ <source>Unmute Button</source>
+ <translation>Bouton de réactivation du son</translation>
+ </message>
+ <message>
+ <source>Play Button</source>
+ <translation>Bouton de lecture</translation>
+ </message>
+ <message>
+ <source>Pause Button</source>
+ <translation>Bouton de pause</translation>
+ </message>
+ <message>
+ <source>Slider</source>
+ <translation>Barre de défilement</translation>
+ </message>
+ <message>
+ <source>Slider Thumb</source>
+ <translation>Curseur de la barre de défilement</translation>
+ </message>
+ <message>
+ <source>Rewind Button</source>
+ <translation>Bouton de retour en arrière</translation>
+ </message>
+ <message>
+ <source>Return to Real-time Button</source>
+ <translation>Bouton de retour au temps réel</translation>
+ </message>
+ <message>
+ <source>Elapsed Time</source>
+ <translation>Temps écoulé</translation>
+ </message>
+ <message>
+ <source>Remaining Time</source>
+ <translation>Durée restante</translation>
+ </message>
+ <message>
+ <source>Status Display</source>
+ <translation>Affichage de l&apos;état</translation>
+ </message>
+ <message>
+ <source>Fullscreen Button</source>
+ <translation>Bouton de plein écran</translation>
+ </message>
+ <message>
+ <source>Seek Forward Button</source>
+ <translation>Bouton de recherche avant</translation>
+ </message>
+ <message>
+ <source>Seek Back Button</source>
+ <translation>Bouton de recherche arrière</translation>
+ </message>
+ <message>
+ <source>Audio element playback controls and status display</source>
+ <translation>Commandes de lecture et affichage de l&apos;état de l&apos;élément audio</translation>
+ </message>
+ <message>
+ <source>Video element playback controls and status display</source>
+ <translation>Commandes de lecture et affichage de l&apos;état de l&apos;élément vidéo</translation>
+ </message>
+ <message>
+ <source>Mute audio tracks</source>
+ <translation>Couper le son des pistes audio</translation>
+ </message>
+ <message>
+ <source>Unmute audio tracks</source>
+ <translation>Réactiver le son des pistes audio</translation>
+ </message>
+ <message>
+ <source>Begin playback</source>
+ <translation>Commencer la lecture</translation>
+ </message>
+ <message>
+ <source>Pause playback</source>
+ <translation>Pause lecture</translation>
+ </message>
+ <message>
+ <source>Movie time scrubber</source>
+ <translation>Épurateur de la durée du film</translation>
+ </message>
+ <message>
+ <source>Movie time scrubber thumb</source>
+ <translation>Case de défilement de l&apos;épurateur de la durée du film</translation>
+ </message>
+ <message>
+ <source>Rewind movie</source>
+ <translation>Rembobiner le film</translation>
+ </message>
+ <message>
+ <source>Return streaming movie to real-time</source>
+ <translation>Ramener le film en streaming en temps réel</translation>
+ </message>
+ <message>
+ <source>Current movie time</source>
+ <translation>Durée du film actuel</translation>
+ </message>
+ <message>
+ <source>Remaining movie time</source>
+ <translation>Durée de film restante</translation>
+ </message>
+ <message>
+ <source>Current movie status</source>
+ <translation>État du film actuel</translation>
+ </message>
+ <message>
+ <source>Play movie in full-screen mode</source>
+ <translation>Regarder le film en mode plein écran</translation>
+ </message>
+ <message>
+ <source>Seek quickly back</source>
+ <translation>Recherche rapide arrière</translation>
+ </message>
+ <message>
+ <source>Seek quickly forward</source>
+ <translation>Recherche rapide avant</translation>
+ </message>
+ <message>
+ <source>Indefinite time</source>
+ <translation>Durée indéfinie</translation>
+ </message>
+ <message>
+ <source>%1 days %2 hours %3 minutes %4 seconds</source>
+ <translation>%1 jours %2 heures %3 minutes %4 secondes</translation>
+ </message>
+ <message>
+ <source>%1 hours %2 minutes %3 seconds</source>
+ <translation>%1 heures %2 minutes %3 secondes</translation>
+ </message>
+ <message>
+ <source>%1 minutes %2 seconds</source>
+ <translation>%1 minutes %2 secondes</translation>
+ </message>
+ <message>
+ <source>%1 seconds</source>
+ <translation>%1 secondes</translation>
+ </message>
+ <message>
+ <source>Inspect</source>
+ <translation>Inspecter</translation>
+ </message>
+ <message>
+ <source>No recent searches</source>
+ <translation>Pas de recherche récente</translation>
+ </message>
+ <message>
+ <source>Recent searches</source>
+ <translation>Recherches récentes</translation>
+ </message>
+ <message>
+ <source>Clear recent searches</source>
+ <translation>Effacer les recherches récentes</translation>
+ </message>
+ <message>
+ <source>Unknown</source>
+ <translation>Inconnu</translation>
+ </message>
+ <message>
+ <source>%1 (%2x%3 pixels)</source>
+ <translation>%1 (%2x%3 pixels)</translation>
+ </message>
+ <message>
+ <source>This is a searchable index. Enter search keywords: </source>
+ <translation>Ceci est un index. Veuillez saisir les mots-clé :</translation>
+ </message>
+ <message numerus="yes">
+ <source>%n file(s)</source>
+ <translation>
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <source>JavaScript Problem - %1</source>
+ <translation>Problème de JavaScript - %1</translation>
+ </message>
+ <message>
+ <source>The script on this page appears to have a problem. Do you want to stop the script?</source>
+ <translation>Le script de cette page semble avoir un problème. Souhaitez-vous arrêter le script?</translation>
+ </message>
+ <message>
+ <source>Paste and Match Style</source>
+ <translation>Coller et suivre le style</translation>
+ </message>
+ <message>
+ <source>Remove formatting</source>
+ <translation>Retirer la mise en forme</translation>
+ </message>
+ <message>
+ <source>Strikethrough</source>
+ <translation>Barré</translation>
+ </message>
+ <message>
+ <source>Subscript</source>
+ <translation>Indice</translation>
+ </message>
+ <message>
+ <source>Superscript</source>
+ <translation>Exposant</translation>
+ </message>
+ <message>
+ <source>Insert Bulleted List</source>
+ <translation>Insérer une liste à puces</translation>
+ </message>
+ <message>
+ <source>Insert Numbered List</source>
+ <translation>Insérer une liste numérotée</translation>
+ </message>
+ <message>
+ <source>Indent</source>
+ <translation>Retrait</translation>
+ </message>
+ <message>
+ <source>Outdent</source>
+ <translation>Retrait négatif</translation>
+ </message>
+ <message>
+ <source>Center</source>
+ <translation>Centré</translation>
+ </message>
+ <message>
+ <source>Justify</source>
+ <translation>Justifié</translation>
+ </message>
+ <message>
+ <source>Align Left</source>
+ <translation>Aligner à gauche</translation>
+ </message>
+ <message>
+ <source>Align Right</source>
+ <translation>Aligner à droite</translation>
+ </message>
</context>
<context>
<name>QWhatsThisAction</name>
<message>
- <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+522"/>
<source>What&apos;s This?</source>
- <translation>Qu&apos;est-ce que c&apos;est ?</translation>
+ <translation>Qu&apos;est-ce que c&apos;est ?</translation>
</message>
</context>
<context>
<name>QWidget</name>
<message>
- <location filename="../src/gui/kernel/qwidget.cpp" line="+5326"/>
<source>*</source>
- <translation>*</translation>
+ <translation></translation>
</message>
</context>
<context>
<name>QWizard</name>
<message>
- <location filename="../src/gui/dialogs/qwizard.cpp" line="+637"/>
<source>Go Back</source>
<translation>Précédent</translation>
</message>
<message>
- <location line="+3"/>
<source>Continue</source>
- <translation>Suivant</translation>
+ <translation>Continuer</translation>
</message>
<message>
- <location line="+5"/>
<source>Commit</source>
+ <translatorcomment>si il s&apos;agit de commit au même sens que git... (en même temps se marier en cliquant... ?!!?!)</translatorcomment>
<translation>Soumettre</translation>
</message>
<message>
- <location line="+2"/>
<source>Done</source>
<translation>Terminer</translation>
</message>
@@ -6714,37 +6508,30 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation type="obsolete">Quitter</translation>
</message>
<message>
- <location line="+4"/>
<source>Help</source>
<translation>Aide</translation>
</message>
<message>
- <location line="-14"/>
<source>&lt; &amp;Back</source>
<translation>&lt; &amp;Précédent</translation>
</message>
<message>
- <location line="+10"/>
<source>&amp;Finish</source>
<translation>&amp;Terminer</translation>
</message>
<message>
- <location line="+2"/>
<source>Cancel</source>
<translation>Annuler</translation>
</message>
<message>
- <location line="+2"/>
<source>&amp;Help</source>
<translation>&amp;Aide</translation>
</message>
<message>
- <location line="-8"/>
<source>&amp;Next</source>
- <translation>&amp;Suivant</translation>
+ <translation>&amp;Suivant &gt;</translation>
</message>
<message>
- <location line="+0"/>
<source>&amp;Next &gt;</source>
<translation>&amp;Suivant &gt;</translation>
</message>
@@ -6752,378 +6539,298 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QWorkspace</name>
<message>
- <location filename="../src/gui/widgets/qworkspace.cpp" line="+1094"/>
<source>&amp;Restore</source>
<translation>&amp;Restaurer</translation>
</message>
<message>
- <location line="+1"/>
<source>&amp;Move</source>
<translation>&amp;Déplacer</translation>
</message>
<message>
- <location line="+1"/>
<source>&amp;Size</source>
- <translation>&amp;Redimensionner</translation>
+ <translation>&amp;Taille</translation>
</message>
<message>
- <location line="+2"/>
<source>Mi&amp;nimize</source>
<translation>Réd&amp;uire</translation>
</message>
<message>
- <location line="+2"/>
<source>Ma&amp;ximize</source>
<translation>Ma&amp;ximiser</translation>
</message>
<message>
- <location line="+2"/>
<source>&amp;Close</source>
<translation>&amp;Fermer</translation>
</message>
<message>
- <location line="+6"/>
<source>Stay on &amp;Top</source>
- <translation>&amp;Rester au premier plan</translation>
+ <translation>Rester au &amp;premier plan</translation>
</message>
<message>
- <location line="-993"/>
<source>Minimize</source>
<translation>Réduire</translation>
</message>
<message>
- <location line="+2"/>
<source>Restore Down</source>
<translation>Restaurer en bas</translation>
</message>
<message>
- <location line="-4"/>
<source>Close</source>
<translation>Fermer</translation>
</message>
<message>
- <location line="+998"/>
- <location line="+1059"/>
<source>Sh&amp;ade</source>
- <translation>&amp;Enrouler</translation>
+ <translation>Enrou&amp;ler</translation>
</message>
<message>
- <location line="-278"/>
- <location line="+60"/>
<source>%1 - [%2]</source>
<translation>%1 - [%2]</translation>
</message>
<message>
- <location line="+214"/>
<source>&amp;Unshade</source>
- <translation>&amp;Dérouler</translation>
+ <translation>Dér&amp;ouler</translation>
</message>
</context>
<context>
<name>QXml</name>
<message>
- <location filename="../src/xml/sax/qxml.cpp" line="+58"/>
<source>no error occurred</source>
<translation>aucune erreur ne s&apos;est produite</translation>
</message>
<message>
- <location line="+1"/>
<source>error triggered by consumer</source>
- <translation>erreur déclenchée par le consommateur</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>unexpected end of file</source>
- <translation>fin de fichier impromptue</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>more than one document type definition</source>
- <translation>plus d&apos;une définition de type de document</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>error occurred while parsing element</source>
- <translation>une erreur s&apos;est produite lors de l&apos;analyse d&apos;un élément</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>tag mismatch</source>
- <translation>balise débalancée</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>error occurred while parsing content</source>
- <translation>une erreur s&apos;est produise lors de l&apos;analyse du contenu</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>unexpected character</source>
- <translation>caractère impromptu</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>invalid name for processing instruction</source>
- <translation>nom d&apos;instruction de traitement invalide</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>version expected while reading the XML declaration</source>
- <translation>version attendue dans la déclaration XML</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>wrong value for standalone declaration</source>
- <translation>valeur invalide pour déclaration autonome</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
<source>error occurred while parsing document type definition</source>
- <translation>une erreur s&apos;est produite lors de l&apos;analyse d&apos;une définition de type de document</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>letter is expected</source>
- <translation>lettre attendue</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>error occurred while parsing comment</source>
- <translation>une erreur s&apos;est produise lors de l&apos;analyse d&apos;un commentaire</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>error occurred while parsing reference</source>
- <translation>une erreur s&apos;est produite lors de l&apos;analyse d&apos;une référence</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>internal general entity reference not allowed in DTD</source>
- <translation>appel d&apos;entité interne générale non permis dans la DTD</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>external parsed general entity reference not allowed in attribute value</source>
- <translation>appel d&apos;entité externe parsée non permis dans la valeur d&apos;un attribut</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>external parsed general entity reference not allowed in DTD</source>
- <translation>appel d&apos;entité externe parsée générale non permis dans la DTD</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>unparsed entity reference in wrong context</source>
- <translation>appel d&apos;entité non parsée dans un contexte invalide</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>recursive entities</source>
- <translation>entités récursives</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>error in the text declaration of an external entity</source>
- <translation>erreur dans la déclaration de texte d&apos;une entité externe</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-11"/>
<source>encoding declaration or standalone declaration expected while reading the XML declaration</source>
- <translation>déclaration d&apos;encodage ou déclaration autonome attendue dans la déclaration XML</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
<source>standalone declaration expected while reading the XML declaration</source>
- <translation>déclaration autonome attendue dans la déclaration XML</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QXmlStream</name>
<message>
- <location filename="../src/corelib/xml/qxmlstream.cpp" line="+592"/>
- <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1769"/>
<source>Extra content at end of document.</source>
- <translation>Conteny supplémentaire à la fin du document.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+222"/>
<source>Invalid entity value.</source>
- <translation>Valeur de l&apos;entité invalide.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+107"/>
<source>Invalid XML character.</source>
- <translation>Caractère XML invalide.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+259"/>
<source>Sequence &apos;]]&gt;&apos; not allowed in content.</source>
- <translation>Séquence &apos;]]&gt;&apos; interdite dans le contenu.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+309"/>
<source>Namespace prefix &apos;%1&apos; not declared</source>
- <translation>Le préfixe de namespace &apos;%1&apos; non déclaré</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+78"/>
<source>Attribute redefined.</source>
- <translation>Attribut redéfini.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+115"/>
<source>Unexpected character &apos;%1&apos; in public id literal.</source>
- <translation>Caractère &apos;%1&apos; inattendu dans un &apos;public id literal&apos;.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
<source>Invalid XML version string.</source>
- <translation>Version XML invalide.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
<source>Unsupported XML version.</source>
- <translation>Version XML non supportée.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
<source>%1 is an invalid encoding name.</source>
- <translation>%1 n&apos;est pas un encodage valide.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
<source>Encoding %1 is unsupported</source>
- <translation>Encodage %1 n&apos;est pas supporté</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<source>Invalid XML encoding name.</source>
<translation type="obsolete">Encodage XML invalide.</translation>
</message>
<message>
- <location line="+16"/>
<source>Standalone accepts only yes or no.</source>
- <translation>&apos;Standalone&apos; n&apos;accepte que &apos;yes&apos; ou &apos;no&apos;.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
<source>Invalid attribute in XML declaration.</source>
- <translation>Attribut invalide dans la déclaration XML.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
<source>Premature end of document.</source>
- <translation>Fin de document prématurée.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
<source>Invalid document.</source>
- <translation>Document invalide.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+40"/>
<source>Expected </source>
- <translation>Attendu </translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
<source>, but got &apos;</source>
- <translation>, mais eu &apos;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
<source>Unexpected &apos;</source>
- <translation>Inattendu &apos;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+210"/>
<source>Expected character data.</source>
- <translation>Character data attendu.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/xml/qxmlstream_p.h" line="-995"/>
<source>Recursive entity detected.</source>
- <translation>Entité recursive détectée.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+516"/>
<source>Start tag expected.</source>
- <translation>Balise ouvrante attendue.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+222"/>
<source>XML declaration not at start of document.</source>
- <translation>Déclaration XML après le début du document.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-31"/>
<source>NDATA in parameter entity declaration.</source>
- <translation>NDATA dans une déclaration d&apos;entité paramètre.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+34"/>
<source>%1 is an invalid processing instruction name.</source>
- <translation>%1 est un nom d&apos;instruction de traitement invalide.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
<source>Invalid processing instruction name.</source>
- <translation>Nom d&apos;instruction de traitement invalide.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/xml/qxmlstream.cpp" line="-521"/>
- <location line="+12"/>
- <location filename="../src/corelib/xml/qxmlstream_p.h" line="+164"/>
- <location line="+53"/>
<source>Illegal namespace declaration.</source>
- <translation>Déclaration de namespace illégale.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/xml/qxmlstream_p.h" line="+15"/>
<source>Invalid XML name.</source>
- <translation>Nom XML invalide.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
<source>Opening and ending tag mismatch.</source>
- <translation>Ouverture et fermeture de balise invalide.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+18"/>
<source>Reference to unparsed entity &apos;%1&apos;.</source>
- <translation>Référence vers une entité non analysée &apos;%1&apos;.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-13"/>
- <location line="+61"/>
- <location line="+40"/>
<source>Entity &apos;%1&apos; not declared.</source>
- <translation>Entité &apos;%1&apos; non déclarée.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-26"/>
<source>Reference to external entity &apos;%1&apos; in attribute value.</source>
- <translation>Référence vers une entité externe &apos;%1&apos; dans la valeur de l&apos;attribut.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+40"/>
<source>Invalid character reference.</source>
- <translation>Référence vers un caractère invalide.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/xml/qxmlstream.cpp" line="-75"/>
- <location filename="../src/corelib/xml/qxmlstream_p.h" line="-823"/>
<source>Encountered incorrectly encoded content.</source>
- <translation>Encodage du contenu incorrect.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+274"/>
<source>The standalone pseudo attribute must appear after the encoding.</source>
- <translation>Le pseudo attribut standalone doit apparaître après l&apos;encodage.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/xml/qxmlstream_p.h" line="+562"/>
<source>%1 is an invalid PUBLIC identifier.</source>
- <translation>%1 n&apos;est pas un identifiant PUBLIC valide.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -7139,12 +6846,10 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Un attribute %1 doit avoir un %2 valide, %3 ne l&apos;a pas.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+84"/>
<source>Network timeout.</source>
<translation>Le réseau ne répond pas.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+320"/>
<source>Element %1 can&apos;t be serialized because it appears outside the document element.</source>
<translation>L&apos;élément %1 ne peut pas être sérialisé parce qu&apos;il est hors de l&apos;élément document.</translation>
</message>
@@ -7153,53 +6858,42 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation type="obsolete">L&apos;élément attribute %1 ne peut pas être sérialisé parce qu&apos;il apparaît comme racine.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+80"/>
<source>Year %1 is invalid because it begins with %2.</source>
<translation>L&apos;année %1 est invalide parce qu&apos;elle commence par %2.</translation>
</message>
<message>
- <location line="+19"/>
<source>Day %1 is outside the range %2..%3.</source>
<translation>Le jour %1 est hors de l&apos;intervalle %2..%3.</translation>
</message>
<message>
- <location line="+7"/>
<source>Month %1 is outside the range %2..%3.</source>
<translation>Le mois %1 est hors de l&apos;intervalle %2..%3.</translation>
</message>
<message>
- <location line="+10"/>
<source>Overflow: Can&apos;t represent date %1.</source>
<translation>Overflow: ne peut pas représenter la date %1.</translation>
</message>
<message>
- <location line="+9"/>
<source>Day %1 is invalid for month %2.</source>
<translation>Jour %1 est invalide pour le mois %2.</translation>
</message>
<message>
- <location line="+49"/>
<source>Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; </source>
<translation>L&apos;heure 24:%1:%2.%3 est invalide. L&apos;heure est 24 mais les minutes, seconndes et millisecondes ne sont pas à 0;</translation>
</message>
<message>
- <location line="+13"/>
<source>Time %1:%2:%3.%4 is invalid.</source>
<translation>L&apos;heure %1:%2:%3.%4 est invalide.</translation>
</message>
<message>
- <location line="+115"/>
<source>Overflow: Date can&apos;t be represented.</source>
<translation>Overflow : la date ne peut pas être représentée.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+99"/>
- <location line="+15"/>
<source>At least one component must be present.</source>
<translation>Au moins un composant doit être présent.</translation>
</message>
<message>
- <location line="-7"/>
<source>At least one time component must appear after the %1-delimiter.</source>
<translation>Au moins un composant doit apparaître après le délimiteur %1.</translation>
</message>
@@ -7219,103 +6913,82 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Le second opérande dans une division, %1, ne peut être nul (%2).</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+132"/>
<source>%1 is not a valid value of type %2.</source>
<translation>%1 n&apos;est pas une valeur valide du type %2.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+223"/>
<source>When casting to %1 from %2, the source value cannot be %3.</source>
<translation>En castant de %2 vers %1, la valeur source ne peut pas être %3.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+65"/>
<source>Integer division (%1) by zero (%2) is undefined.</source>
<translation>Division entière (%1) par zéro (%2) indéfinie.</translation>
</message>
<message>
- <location line="+7"/>
<source>Division (%1) by zero (%2) is undefined.</source>
<translation>Division (%1) par zéro (%2) indéfinie.</translation>
</message>
<message>
- <location line="+7"/>
<source>Modulus division (%1) by zero (%2) is undefined.</source>
<translation>Module division (%1) par zéro (%2) indéfinie.</translation>
</message>
<message>
- <location line="+122"/>
- <location line="+32"/>
<source>Dividing a value of type %1 by %2 (not-a-number) is not allowed.</source>
<translation>Diviser une valeur du type %1 par %2 (not-a-number) est interdit.</translation>
</message>
<message>
- <location line="-20"/>
<source>Dividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed.</source>
<translation>Diviser une valeur de type %1 par %2 ou %3 (plus ou moins zéro) est interdit.</translation>
</message>
<message>
- <location line="+32"/>
<source>Multiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed.</source>
<translation>La multiplication d&apos;une valeur du type %1 par %2 ou %3 (plus ou moins infini) est interdite.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+79"/>
<source>A value of type %1 cannot have an Effective Boolean Value.</source>
<translation>Une valeur de type %1 ne peut pas avoir une Effective Boolean Value.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+78"/>
<source>Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values.</source>
<translation>Effective Boolean Value ne peut être calculée pour une séquence contenant deux ou plus valeurs atomiques.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+402"/>
<source>Value %1 of type %2 exceeds maximum (%3).</source>
<translation>La valeur %1 de type %2 excède le maximum (%3).</translation>
</message>
<message>
- <location line="+9"/>
<source>Value %1 of type %2 is below minimum (%3).</source>
<translation>La valeur %1 de type %2 est inférieur au minimum (%3).</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+91"/>
<source>A value of type %1 must contain an even number of digits. The value %2 does not.</source>
<translation>Une valeur de type %1 doit contenir un nombre pair de chiffre. La valeur %2 n&apos;est pas conforme.</translation>
</message>
<message>
- <location line="+19"/>
<source>%1 is not valid as a value of type %2.</source>
<translation>%1 n&apos;est pas une valeur valide de type %2.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+207"/>
<source>Operator %1 cannot be used on type %2.</source>
<translation>L&apos;opérateur %1 ne peut pas être utilisé pour le type %2.</translation>
</message>
<message>
- <location line="+17"/>
<source>Operator %1 cannot be used on atomic values of type %2 and %3.</source>
<translation>L&apos;opérateur %1 ne peut pas être utilisé pour des valeurs atomiques de type %2 ou %3.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+66"/>
<source>The namespace URI in the name for a computed attribute cannot be %1.</source>
<translation>L&apos;URI de namespace dans le nom d&apos;un attribut calculé ne peut pas être %1.</translation>
</message>
<message>
- <location line="+9"/>
<source>The name for a computed attribute cannot have the namespace URI %1 with the local name %2.</source>
<translation>Le nom d&apos;un attribut calculé ne peut pas avoir l&apos;URI de namespace %1 avec le nom local %2.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+88"/>
<source>Type error in cast, expected %1, received %2.</source>
<translation>Erreur de type lors du cast, attendu %1 mais reçu %2.</translation>
</message>
<message>
- <location line="+29"/>
<source>When casting to %1 or types derived from it, the source value must be of the same type, or it must be a string literal. Type %2 is not allowed.</source>
<translation>En castant vers %1 ou des types dérivés, la valeur source doit être du même type ou une chaîne. Le type %2 n&apos;est pas autorisé.</translation>
</message>
@@ -7345,12 +7018,10 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Echec en castant de %1 ver %2 : %3</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+67"/>
<source>A comment cannot contain %1</source>
<translation>Un commentaire ne peut pas contenir %1</translation>
</message>
<message>
- <location line="+6"/>
<source>A comment cannot end with a %1.</source>
<translation>Un commentaire ne peut pas finir par %1.</translation>
</message>
@@ -7365,27 +7036,22 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>L&apos;opérateur %1 n&apos;est pas disponible entre valeurs atomiques de type %2 et %3.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+86"/>
<source>An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place.</source>
<translation>Un noeuds attribut ne peut être un fils d&apos;un noeuds document. C&apos;est pourquoi l&apos;attribut %1 est mal placé.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+169"/>
<source>A library module cannot be evaluated directly. It must be imported from a main module.</source>
<translation>Un module de bibliothèque ne peut pas être évalué directement. Il doit être importé d&apos;un module principal.</translation>
</message>
<message>
- <location line="+40"/>
<source>No template by name %1 exists.</source>
<translation>Aucun template nommé %1 n&apos;existe.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+106"/>
<source>A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type.</source>
<translation>Une valeur de type %1 ne peut être un prédicat. Un prédicat doit être de type numérique ou un Effective Boolean Value.</translation>
</message>
<message>
- <location line="+32"/>
<source>A positional predicate must evaluate to a single numeric value.</source>
<translation>Un prédicat de position doit être évalué en une unique valeur numérique.</translation>
</message>
@@ -7395,38 +7061,30 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Le nom de destination dans une instruction de traitement ne peut être %1. %2 est invalide.</translation>
</message>
<message>
- <location line="+24"/>
<source>%1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3.</source>
<translation>%1 n&apos;est pas un nom de destination valide dans une instruction de traitement. Ce doit être une valeur %2, par ex. %3.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+109"/>
<source>The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two.</source>
<translation>La dernière étape dans un chemin doit contenir soit des noeuds soit des valeurs atomiques. Cela ne peut pas être un mélange des deux.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+84"/>
<source>The data of a processing instruction cannot contain the string %1</source>
<translation>Les données d&apos;une instruction de traitement ne peut contenir la chaîne %1</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+82"/>
<source>No namespace binding exists for the prefix %1</source>
<translation>Aucun lien de namespace n&apos;existe pour le préfixe %1</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+156"/>
<source>No namespace binding exists for the prefix %1 in %2</source>
<translation>Aucun lien de namespace n&apos;existe pour le préfixe %1 dans %2</translation>
</message>
<message>
- <location line="+12"/>
- <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+69"/>
<source>%1 is an invalid %2</source>
<translation>%1 est un ivalide %2</translation>
</message>
<message numerus="yes">
- <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+77"/>
<source>%1 takes at most %n argument(s). %2 is therefore invalid.</source>
<translation>
<numerusform>%1 prend au maximum %n argument. %2 est donc invalide.</numerusform>
@@ -7434,7 +7092,6 @@ Veuillez choisir un nom de fichier différent.</translation>
</translation>
</message>
<message numerus="yes">
- <location line="+11"/>
<source>%1 requires at least %n argument(s). %2 is therefore invalid.</source>
<translation>
<numerusform>%1 requiert au moins %n argument. %2 est donc invalide.</numerusform>
@@ -7442,22 +7099,18 @@ Veuillez choisir un nom de fichier différent.</translation>
</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+120"/>
<source>The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration.</source>
<translation>Le premier argument de %1 ne peut être du type %2. Il doit être de type numérique, xs:yearMonthDuration ou xs:dayTimeDuration.</translation>
</message>
<message>
- <location line="+74"/>
<source>The first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5.</source>
<translation>Le premier argument de %1 ne peut être du type %2. Il doit être de type %3, %4 ou %5.</translation>
</message>
<message>
- <location line="+91"/>
<source>The second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5.</source>
<translation>Le deuxième argument de %1 ne peut être du type %2. Il doit être de type %3, %4 ou %5.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+88"/>
<source>%1 is not a valid XML 1.0 character.</source>
<translation>%1 n&apos;est pas un caractère XML 1.0 valide.</translation>
</message>
@@ -7467,92 +7120,74 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Le premier argument de %1 ne peut être du type %2.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+86"/>
<source>If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same.</source>
<translation>Si les deux valeurs ont des décalages de zone, elle doivent avoir le même. %1 et %2 sont différents.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+61"/>
<source>%1 was called.</source>
<translation>%1 a été appelé.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+94"/>
<source>%1 must be followed by %2 or %3, not at the end of the replacement string.</source>
<translation>%1 doit être suivi par %2 ou %3, et non à la fin de la chaîne de remplacement.</translation>
</message>
<message>
- <location line="+39"/>
<source>In the replacement string, %1 must be followed by at least one digit when not escaped.</source>
<translation>Dans la chaîne de remplacement, %1 doit être suivi par au moins un chiffre s&apos;il n&apos;est pas échappé.</translation>
</message>
<message>
- <location line="+26"/>
<source>In the replacement string, %1 can only be used to escape itself or %2, not %3</source>
<translation>Dans la chaîne de remplacement, %1 peut seulement être utilisé pour échapper lui-même ou %2 mais pas %3</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+92"/>
<source>%1 matches newline characters</source>
<translation>%1 correspond à des caractères de saut de ligne</translation>
</message>
<message>
- <location line="+4"/>
<source>%1 and %2 match the start and end of a line.</source>
<translation>%1 et %2 correspondent au début et à la fin d&apos;une ligne.</translation>
</message>
<message>
- <location line="+6"/>
<source>Matches are case insensitive</source>
<translation>Les correspondances ne sont pas sensibles à la casse</translation>
</message>
<message>
- <location line="+4"/>
<source>Whitespace characters are removed, except when they appear in character classes</source>
<translation>Les blancs sont supprimés excepté quand ils apparaissent dans les classes de caractère</translation>
</message>
<message>
- <location line="+99"/>
<source>%1 is an invalid regular expression pattern: %2</source>
<translation>%1 est un modèle d&apos;expression régulière invalide: %2</translation>
</message>
<message>
- <location line="+30"/>
<source>%1 is an invalid flag for regular expressions. Valid flags are:</source>
<translation>%1 est un flag invalide pour des expressions régulières. Les flags valides sont :</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+17"/>
<source>If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified.</source>
<translation>Si le premier argument est une sequence vide ou un chaîne vide (sans namespace), un préfixe ne peut être spécifié. Le préfixe %1 a été spécifié.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+347"/>
<source>It will not be possible to retrieve %1.</source>
<translation>Il sera impossible de récupérer %1.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+54"/>
<source>The root node of the second argument to function %1 must be a document node. %2 is not a document node.</source>
<translation>Le noeuds racine du deuxième argument à la fonction %1 doit être un noeuds document. %2 n&apos;est pas un document.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+279"/>
<source>The default collection is undefined</source>
<translation>I&apos;l n&apos;y a pas de collection par défaut</translation>
</message>
<message>
- <location line="+13"/>
<source>%1 cannot be retrieved</source>
<translation>%1 ne peut pas être récupéré</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+252"/>
<source>The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization).</source>
<translation>Le forme de normalisation %1 n&apos;est pas supportée. Les formes supportées sont %2, %3, %4 et %5, et aucun, ie. une chaîne vide (pas de normalisation).</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+87"/>
<source>A zone offset must be in the range %1..%2 inclusive. %3 is out of range.</source>
<translation>Un décalage de zone doit être dans l&apos;intervalle %1..%2 inclus. %3 est hors de l&apos;intervalle.</translation>
</message>
@@ -7561,74 +7196,59 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation type="obsolete">%1 n&apos;est pas un nombre complet de minutes.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+58"/>
<source>Required cardinality is %1; got cardinality %2.</source>
<translation>La cardinalité requise est %1; reçu %2.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+67"/>
<source>The item %1 did not match the required type %2.</source>
<translation>L&apos;item %1 ne correspond pas au type requis %2.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+379"/>
- <location line="+7253"/>
<source>%1 is an unknown schema type.</source>
<translation>%1 est un type de schema inconnu.</translation>
</message>
<message>
- <location line="-6971"/>
<source>Only one %1 declaration can occur in the query prolog.</source>
<translation>Seulement une déclaration %1 peut intervenir lors du prologue de la requête.</translation>
</message>
<message>
- <location line="+188"/>
<source>The initialization of variable %1 depends on itself</source>
<translation>L&apos;initialisation de la variable %1 dépend d&apos;elle-même</translation>
</message>
<message>
- <location line="+63"/>
+ <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+912"/>
<source>No variable by name %1 exists</source>
<translation>Aucun variable nommée %1 existe</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+93"/>
<source>The variable %1 is unused</source>
<translation>La variable %1 est inutilisée</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+2841"/>
<source>Version %1 is not supported. The supported XQuery version is 1.0.</source>
<translation>La version %1 n&apos;est pas supportée. La version de XQuery supportée est 1.0.</translation>
</message>
<message>
- <location line="+16"/>
<source>The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2.</source>
<translation>L&apos;encodage %1 est invalide. Il doit contenir uniquement des caractères latins, sans blanc et doit être conforme à l&apos;expression régulière %2.</translation>
</message>
<message>
- <location line="+55"/>
<source>No function with signature %1 is available</source>
<translation>Aucune fonction avec la signature %1 n&apos;est disponible</translation>
</message>
<message>
- <location line="+72"/>
- <location line="+10"/>
<source>A default namespace declaration must occur before function, variable, and option declarations.</source>
<translation>Un déclaration de namespace par défaut doit être placée avant toute fonction, variable ou declaration d&apos;option.</translation>
</message>
<message>
- <location line="+10"/>
<source>Namespace declarations must occur before function, variable, and option declarations.</source>
<translation>Les declarations de namespace doivent être placées avant tout fonction, variable ou déclaration d&apos;option.</translation>
</message>
<message>
- <location line="+11"/>
<source>Module imports must occur before function, variable, and option declarations.</source>
<translation>Les imports de module doivent être placés avant tout fonction, variable ou déclaration d&apos;option.</translation>
</message>
<message>
- <location line="+200"/>
<source>It is not possible to redeclare prefix %1.</source>
<translation>Il est impossible de redéclarer le préfixe %1.</translation>
</message>
@@ -7637,27 +7257,22 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation type="obsolete">Seul le préfixe %1 peut être déclaré pour lié le namespace %2. Par défaut, il est déjà lié au préfixe %1.</translation>
</message>
<message>
- <location line="+18"/>
<source>Prefix %1 is already declared in the prolog.</source>
<translation>Le préfixe %1 est déjà déclaré dans le prologue.</translation>
</message>
<message>
- <location line="+95"/>
<source>The name of an option must have a prefix. There is no default namespace for options.</source>
<translation>Le nom d&apos;une option doit avoir un préfixe. Il n&apos;y a pas de namespace par défaut pour les options.</translation>
</message>
<message>
- <location line="+171"/>
<source>The Schema Import feature is not supported, and therefore %1 declarations cannot occur.</source>
<translation>La fonctionnalité &quot;Schema Import&quot; n&apos;est pas supportée et les déclarations %1 ne peuvent donc intervenir.</translation>
</message>
<message>
- <location line="+13"/>
<source>The target namespace of a %1 cannot be empty.</source>
<translation>Le namespace cible d&apos;un %1 ne peut être vide.</translation>
</message>
<message>
- <location line="+8"/>
<source>The module import feature is not supported</source>
<translation>La fonctionnalité &quot;module import&quot; n&apos;est pas supportée</translation>
</message>
@@ -7666,7 +7281,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation type="obsolete">Une variable du nom %1 a déjà été déclarée dans le prologue.</translation>
</message>
<message>
- <location line="+52"/>
+ <location line="+3572"/>
<source>No value is available for the external variable by name %1.</source>
<translation>Aucune valeur n&apos;est disponible pour la variable externe %1.</translation>
</message>
@@ -7685,12 +7300,11 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Un template nommé %1 a déjà été déclaré.</translation>
</message>
<message>
- <location line="+3581"/>
<source>The keyword %1 cannot occur with any other mode name.</source>
<translation>Le mot-clé %1 ne peut pas apparaître avec un autre nom de mode.</translation>
</message>
<message>
- <location line="+29"/>
+ <location line="+3610"/>
<source>The value of attribute %1 must of type %2, which %3 isn&apos;t.</source>
<translation>La valeur de l&apos;attribut %1 doit être du type %2, %3 n&apos;en est pas.</translation>
</message>
@@ -7705,172 +7319,141 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Une variable nommée %1 a déjà été déclarée.</translation>
</message>
<message>
- <location line="+135"/>
<source>A stylesheet function must have a prefixed name.</source>
<translation>Une fonction de feuille de style doit avoir un nom préfixé.</translation>
</message>
<message>
- <location line="+9"/>
<source>The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this)</source>
<translation>Le namespace d&apos;une fonction utilisateur ne peut pas être vide (essayez le préfixe prédéfini %1 qui existe pour ce genre de cas)</translation>
</message>
<message>
- <location line="+9"/>
<source>The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases.</source>
<translation>Le namespace %1 est réservé; c&apos;est pourquoi les fonctions définies par l&apos;utilisateur ne peuvent l&apos;utiliser. Essayez le préfixe prédéfini %2 qui existe pour ces cas.</translation>
</message>
<message>
- <location line="+12"/>
<source>The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2</source>
<translation>Le namespace d&apos;une fonction utilisateur dans un module de bibliothèque doit être équivalent au namespace du module. En d&apos;autres mots, il devrait être %1 au lieu de %2</translation>
</message>
<message>
- <location line="+34"/>
<source>A function already exists with the signature %1.</source>
<translation>Une fonction avec la signature %1 existe déjà.</translation>
</message>
<message>
- <location line="+23"/>
<source>No external functions are supported. All supported functions can be used directly, without first declaring them as external</source>
<translation>Les fonctions externes ne sont pas supportées. Toutes les fonctions supportées peuvent êter utilisées directement sans les déclarer préalablement comme externes</translation>
</message>
<message>
- <location line="+37"/>
+ <location line="+259"/>
<source>An argument by name %1 has already been declared. Every argument name must be unique.</source>
<translation>Un argument nommé %1 a déjà été déclaré. Chaque nom d&apos;argument doit être unique.</translation>
</message>
<message>
- <location line="+179"/>
<source>When function %1 is used for matching inside a pattern, the argument must be a variable reference or a string literal.</source>
<translation>Quand la fonction %1 est utilisée pour vérifier la correspondance dans un pattern, l&apos;argument doit être une référence de variable ou une chaîne de caractères.</translation>
</message>
<message>
- <location line="+11"/>
<source>In an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching.</source>
<translation>Dans un pattern XSL-T, le premier argument à la fonction %1 doit être une chaîne de caractères quand utilisé pour correspondance.</translation>
</message>
<message>
- <location line="+14"/>
<source>In an XSL-T pattern, the first argument to function %1 must be a literal or a variable reference, when used for matching.</source>
<translation>Dans un pattern XSL-T, le premier argument à la fonction %1 doit être un litéral ou une référence de variable.</translation>
</message>
<message>
- <location line="+9"/>
<source>In an XSL-T pattern, function %1 cannot have a third argument.</source>
<translation>Dans un pattern XSL-T, la fonction %1 ne peut pas avoir de 3e argument.</translation>
</message>
<message>
- <location line="+10"/>
<source>In an XSL-T pattern, only function %1 and %2, not %3, can be used for matching.</source>
<translation>Dans un pattern XSL-T, seules les fonctions %1 et %2 (pas %3) peuvent être utilisées pour le matching.</translation>
</message>
<message>
- <location line="+63"/>
<source>In an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can.</source>
<translation>Dans un pattern XSL-T, l&apos;axe %1 ne peut pas être utilisé, seulement %2 ou %3 le peuvent.</translation>
</message>
<message>
- <location line="+126"/>
<source>%1 is an invalid template mode name.</source>
<translation>%1 est un nom de mode de template invalide.</translation>
</message>
<message>
- <location line="+44"/>
<source>The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide.</source>
<translation>Le nom d&apos;une variable liée dans un expression for doit être different de la variable positionnelle. Les deux variables appelées %1 sont en conflit.</translation>
</message>
<message>
- <location line="+758"/>
<source>The Schema Validation Feature is not supported. Hence, %1-expressions may not be used.</source>
<translation>La fonctionnalité &quot;Schema Validation&quot; n&apos;est pas supportée. Les expressions %1 ne seront pas utilisées.</translation>
</message>
<message>
- <location line="+39"/>
<source>None of the pragma expressions are supported. Therefore, a fallback expression must be present</source>
<translation>Aucune des expressions pragma n&apos;est supportée. Une expression par défault doit être présente</translation>
</message>
<message>
- <location line="+267"/>
<source>Each name of a template parameter must be unique; %1 is duplicated.</source>
<translation>Chaque nom d&apos;un paramètre ede template doit être unique; %1 est dupliqué.</translation>
</message>
<message>
- <location line="+129"/>
<source>The %1-axis is unsupported in XQuery</source>
<translation>L&apos;axe %1 n&apos;est pas supporté dans XQuery</translation>
</message>
<message>
- <location line="+1150"/>
<source>%1 is not a valid name for a processing-instruction.</source>
<translation>%1 n&apos;est pas un nom valide pour une instruction de traitement.</translation>
</message>
<message>
- <location line="-7029"/>
<source>%1 is not a valid numeric literal.</source>
<translation>%1 n&apos;est pas une valeur numérique valide.</translation>
</message>
<message>
- <location line="+6165"/>
+ <location line="+1935"/>
<source>No function by name %1 is available.</source>
<translation>La fonction %1 n&apos;est pas disponible.</translation>
</message>
<message>
- <location line="+102"/>
<source>The namespace URI cannot be the empty string when binding to a prefix, %1.</source>
<translation>L&apos;URI de namespace ne peut être une chaîne vide quand on le lie à un préfixe, %1.</translation>
</message>
<message>
- <location line="+7"/>
<source>%1 is an invalid namespace URI.</source>
<translation>%1 est un URI de namespace invalide.</translation>
</message>
<message>
- <location line="+6"/>
<source>It is not possible to bind to the prefix %1</source>
<translation>Il est impossible de se lier au préfixe %1</translation>
</message>
<message>
- <location line="+7"/>
<source>Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared).</source>
<translation>Le namespace %1 peut seulement être lié à %2 (et doit être pré-déclaré).</translation>
</message>
<message>
- <location line="+8"/>
<source>Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared).</source>
<translation>Le préfixe %1 peut seulement être lié à %2 (et doit être prédéclaré).</translation>
</message>
<message>
- <location line="+15"/>
<source>Two namespace declaration attributes have the same name: %1.</source>
<translation>Deux attributs de déclarations de namespace ont le même nom : %1.</translation>
</message>
<message>
- <location line="+89"/>
<source>The namespace URI must be a constant and cannot use enclosed expressions.</source>
<translation>L&apos;URI de namespace doit être une constante et ne peut contenir d&apos;expressions.</translation>
</message>
<message>
- <location line="+16"/>
+ <location line="+250"/>
<source>An attribute by name %1 has already appeared on this element.</source>
<translation>Un attribute nommé %1 existe déjà pour cet élément.</translation>
</message>
<message>
- <location line="+61"/>
<source>A direct element constructor is not well-formed. %1 is ended with %2.</source>
<translation>Un constructeur direct d&apos;élément est mal-formé. %1 est terminé par %2.</translation>
</message>
<message>
- <location line="+458"/>
<source>The name %1 does not refer to any schema type.</source>
<translation>Le nom %1 ne se réfère à aucun type de schema.</translation>
</message>
<message>
- <location line="+10"/>
<source>%1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works.</source>
<translation>%1 est une type complexe. Caster vers des types complexes n&apos;est pas possible. Cependant, caster vers des types atomiques comme %2 marche.</translation>
</message>
<message>
- <location line="+9"/>
<source>%1 is not an atomic type. Casting is only possible to atomic types.</source>
<translation>%1 n&apos;est pas un type atomique. Il est uniquement possible de caster vers des types atomiques.</translation>
</message>
@@ -7879,98 +7462,78 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation type="obsolete">%1 n&apos;est pas un nom valide pour une instruction de traitement. C&apos;est pourquoi ce test de nom ne réussira jamais.</translation>
</message>
<message>
- <location line="+145"/>
- <location line="+71"/>
<source>%1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported.</source>
<translation>%1 n&apos;est pas dans les déclaration d&apos;attribut in-scope. La fonctionnalité d&apos;inport de schéma n&apos;est pas supportée.</translation>
</message>
<message>
- <location line="+48"/>
<source>The name of an extension expression must be in a namespace.</source>
<translation>Le nom d&apos;une expression d&apos;extension doit être dans un namespace.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+55"/>
<source>empty</source>
<translation>vide</translation>
</message>
<message>
- <location line="+2"/>
<source>zero or one</source>
<translation>zéro ou un</translation>
</message>
<message>
- <location line="+2"/>
<source>exactly one</source>
<translation>exactement un</translation>
</message>
<message>
- <location line="+2"/>
<source>one or more</source>
<translation>un ou plus</translation>
</message>
<message>
- <location line="+2"/>
<source>zero or more</source>
<translation>zéro ou plus</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+63"/>
<source>Required type is %1, but %2 was found.</source>
<translation>Le type requis est %1, mais %2 a été reçu.</translation>
</message>
<message>
- <location line="+44"/>
<source>Promoting %1 to %2 may cause loss of precision.</source>
<translation>La Promotion de %1 vers %2 peut causer un perte de précision.</translation>
</message>
<message>
- <location line="+49"/>
<source>The focus is undefined.</source>
<translation>Le focus est indéfini.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+86"/>
<source>It&apos;s not possible to add attributes after any other kind of node.</source>
<translation>Il est impossible d&apos;ajouter des attributs après un autre type de noeuds.</translation>
</message>
<message>
- <location line="+7"/>
<source>An attribute by name %1 has already been created.</source>
<translation>Un attribute de nom %1 a déjà été créé.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+120"/>
<source>Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported.</source>
<translation>Seule le Unicode CodepointCollation est supporté (%1), %2 n&apos;est pas supporté.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+12"/>
<source>%1 is not a whole number of minutes.</source>
<translation>%1 n&apos;est pas un nombre entier de minutes.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+60"/>
<source>Attribute %1 can&apos;t be serialized because it appears at the top level.</source>
<translation>L&apos;attribut %1 ne peut pas être sérialisé car il apparaît à la racine.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+314"/>
<source>%1 is an unsupported encoding.</source>
<translation>%1 est un encodage non supporté.</translation>
</message>
<message>
- <location line="+16"/>
<source>%1 contains octets which are disallowed in the requested encoding %2.</source>
<translation>%1 contient &apos;octets&apos;, qui n&apos;est pas autorisé pour l&apos;encodage %2.</translation>
</message>
<message>
- <location line="+18"/>
<source>The codepoint %1, occurring in %2 using encoding %3, is an invalid XML character.</source>
<translation>Le codepoint %1 dans %2 et utilisant l&apos;encodage %3 est un caractère XML invalide.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+119"/>
<source>Ambiguous rule match.</source>
<translation>Corresonpdance aux règles ambigüe.</translation>
</message>
@@ -7979,22 +7542,18 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation type="obsolete">Dans un cosntructeur de namespace, la valeur pour un namespace ne peut pas être une chaîne vide.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+69"/>
<source>In a namespace constructor, the value for a namespace cannot be an empty string.</source>
<translation>Dans un constructeur d&apos;espace de noms, la valeur pour un espace de noms ne peut pas être une chaîne vide.</translation>
</message>
<message>
- <location line="+11"/>
<source>The prefix must be a valid %1, which %2 is not.</source>
<translation>Le préfixe doit être un valide %1; %2 n&apos;e l&apos;est pas.</translation>
</message>
<message>
- <location line="+14"/>
<source>The prefix %1 cannot be bound.</source>
<translation>Le préfixe %1 ne peut être lié.</translation>
</message>
<message>
- <location line="+10"/>
<source>Only the prefix %1 can be bound to %2 and vice versa.</source>
<translation>Seul le préfixe %1 peut être lié à %2, et vice versa.</translation>
</message>
@@ -8004,72 +7563,58 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Circularité détectée</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+145"/>
<source>The parameter %1 is required, but no corresponding %2 is supplied.</source>
<translation>Le paramètre %1 est requis, mais aucun %2 correspondant n&apos;est fourni.</translation>
</message>
<message>
- <location line="-71"/>
<source>The parameter %1 is passed, but no corresponding %2 exists.</source>
<translation>Le paramètre %1 est passé mais aucun %2 correspondant n&apos;existe.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+65"/>
<source>The URI cannot have a fragment</source>
<translation>L&apos;URI ne peut pas avoir de fragments</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+519"/>
<source>Element %1 is not allowed at this location.</source>
<translation>L&apos;élément %1 n&apos;est pas autorisé à cet emplacement.</translation>
</message>
<message>
- <location line="+9"/>
<source>Text nodes are not allowed at this location.</source>
<translation>Les noeuds de texte ne sont pas autorisés à cet emplacement.</translation>
</message>
<message>
- <location line="+20"/>
<source>Parse error: %1</source>
<translation>Erreur: %1</translation>
</message>
<message>
- <location line="+62"/>
<source>The value of the XSL-T version attribute must be a value of type %1, which %2 isn&apos;t.</source>
<translation>La valeur de l&apos;attribut de version XSL-T doit être du type %1, et non %2.</translation>
</message>
<message>
- <location line="+20"/>
<source>Running an XSL-T 1.0 stylesheet with a 2.0 processor.</source>
<translation>Lancement d&apos;une feuille de style XSL-T 1.0 avec un processeur 2.0.</translation>
</message>
<message>
- <location line="+108"/>
<source>Unknown XSL-T attribute %1.</source>
<translation>Attribut XSL-T inconnu : %1.</translation>
</message>
<message>
- <location line="+23"/>
<source>Attribute %1 and %2 are mutually exclusive.</source>
<translation>Les attributs %1 et %2 sont mutuellement exclusifs.</translation>
</message>
<message>
- <location line="+166"/>
<source>In a simplified stylesheet module, attribute %1 must be present.</source>
<translation>Dans un module de feuille de style simplifié, l&apos;attribut %1 doit être présent.</translation>
</message>
<message>
- <location line="+72"/>
<source>If element %1 has no attribute %2, it cannot have attribute %3 or %4.</source>
<translation>Si l&apos;élément %1 n&apos;a pas d&apos;attribut %2, il ne peut pas avoir d&apos;attribut %3 ou %4.</translation>
</message>
<message>
- <location line="+9"/>
<source>Element %1 must have at least one of the attributes %2 or %3.</source>
<translation>L&apos;élement %1 doit avoir au moins un des attributs %2 ou %3.</translation>
</message>
<message>
- <location line="+28"/>
<source>At least one mode must be specified in the %1-attribute on element %2.</source>
<translation>Au moins un mode doit être spécifié dans l&apos;attribut %1 sur l&apos;élément %2.</translation>
</message>
@@ -8109,96 +7654,1202 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>L&apos;élément avec le nom local %1 n&apos;existe pas dans XSL-T.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+123"/>
<source>Element %1 must come last.</source>
<translation>L&apos;élément %1 doit être le dernier.</translation>
</message>
<message>
- <location line="+24"/>
<source>At least one %1-element must occur before %2.</source>
<translation>Au moins un élément %1 doit être placé avant %2.</translation>
</message>
<message>
- <location line="+7"/>
<source>Only one %1-element can appear.</source>
<translation>Seulement un élément %1 peut apparaître.</translation>
</message>
<message>
- <location line="+31"/>
<source>At least one %1-element must occur inside %2.</source>
<translation>Au moins un élément %1 doit apparaître dans %2.</translation>
</message>
<message>
- <location line="+58"/>
<source>When attribute %1 is present on %2, a sequence constructor cannot be used.</source>
<translation>Quand l&apos;attribut %1 est présent sur %2, un constructeur de séquence ne peut pas être utilisé.</translation>
</message>
<message>
- <location line="+13"/>
<source>Element %1 must have either a %2-attribute or a sequence constructor.</source>
<translation>L&apos;élément %1 doit avoir un attribut %2 ou un constructeur de séquence.</translation>
</message>
<message>
- <location line="+125"/>
<source>When a parameter is required, a default value cannot be supplied through a %1-attribute or a sequence constructor.</source>
<translation>Quand un paramètre est requis, un valeur par défault ne peut pas être fournie par un attribute %1 ou un constructeur de séquence.</translation>
</message>
<message>
- <location line="+270"/>
<source>Element %1 cannot have children.</source>
<translation>L&apos;élément %1 ne peut pas avoir de fils.</translation>
</message>
<message>
- <location line="+434"/>
<source>Element %1 cannot have a sequence constructor.</source>
<translation>L&apos;élément %1 ne peut pas avoir un constructuer de séquence.</translation>
</message>
<message>
- <location line="+86"/>
- <location line="+9"/>
<source>The attribute %1 cannot appear on %2, when it is a child of %3.</source>
<translation>L&apos;attribut %1 ne peut pas apparaître sur %2 quand il est fils de %3.</translation>
</message>
<message>
- <location line="+15"/>
<source>A parameter in a function cannot be declared to be a tunnel.</source>
<translation>Un paramètre de fonction ne peut pas être déclaré comme un tunnel.</translation>
</message>
<message>
- <location line="+149"/>
<source>This processor is not Schema-aware and therefore %1 cannot be used.</source>
<translation>Ce processeur ne comprend pas les Schemas. C&apos;est pourquoi %1 ne peut pas être utilisé.</translation>
</message>
<message>
- <location line="+57"/>
<source>Top level stylesheet elements must be in a non-null namespace, which %1 isn&apos;t.</source>
<translation>Les élément d&apos;une feuille de style de haut niveau doivent être dans un namespace non nul; %1 ne l&apos;est pas.</translation>
</message>
<message>
- <location line="+48"/>
<source>The value for attribute %1 on element %2 must either be %3 or %4, not %5.</source>
<translation>La valeur de l&apos;attribut %1 de l&apos;élement %2 doit être %3 ou %4, et pas %5.</translation>
</message>
<message>
- <location line="+20"/>
<source>Attribute %1 cannot have the value %2.</source>
<translation>L&apos;attribut %1 ne peut avoir la valeur %2.</translation>
</message>
<message>
- <location line="+58"/>
<source>The attribute %1 can only appear on the first %2 element.</source>
<translation>L&apos;attribute %1 peut seulement apparaître sur le premier élément %2.</translation>
</message>
<message>
- <location line="+99"/>
<source>At least one %1 element must appear as child of %2.</source>
<translation>Au moins un élément %1 doit apparaître comme fils de %2.</translation>
</message>
+ <message>
+ <source>A template with name %1 has already been declared.</source>
+ <translation>Un template nommé %1 a déjà été déclaré.</translation>
+ </message>
+ <message>
+ <source>The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, %2 is invalid.</source>
+ <translation>Le nom de destination dans une instruction de traitement ne peut être %1. %2 est invalide.</translation>
+ </message>
+ <message>
+ <source>No variable with name %1 exists</source>
+ <translation>Aucune variable nommée %1 n&apos;existe</translation>
+ </message>
+ <message>
+ <source>The value of attribute %1 must be of type %2, which %3 isn&apos;t.</source>
+ <translation>La valeur de l&apos;attribut %1 doit être du type %2, %3 n&apos;en est pas.</translation>
+ </message>
+ <message>
+ <source>The prefix %1 cannot be bound. By default, it is already bound to the namespace %2.</source>
+ <translation>Le préfixe %1 ne peut être lié. Par défault, il est déjà lié au namespace %2.</translation>
+ </message>
+ <message>
+ <source>A variable with name %1 has already been declared.</source>
+ <translation>Une variable nommée %1 a déjà été déclarée.</translation>
+ </message>
+ <message>
+ <source>No value is available for the external variable with name %1.</source>
+ <translation>Aucune valeur n&apos;est disponible pour la variable externe %1.</translation>
+ </message>
+ <message>
+ <source>An argument with name %1 has already been declared. Every argument name must be unique.</source>
+ <translation>Un argument nommé %1 a déjà été déclaré. Chaque nom d&apos;argument doit être unique.</translation>
+ </message>
+ <message>
+ <source>No function with name %1 is available.</source>
+ <translation>Aucune fonction nommée %1 n&apos;est disponible.</translation>
+ </message>
+ <message>
+ <source>W3C XML Schema identity constraint selector</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>W3C XML Schema identity constraint field</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A construct was encountered which is disallowed in the current language(%1).</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>An attribute with name %1 has already appeared on this element.</source>
+ <translation>Un attribute nommé %1 existe déjà pour cet élément.</translation>
+ </message>
+ <message>
+ <source>%1 has inheritance loop in its base type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Circular inheritance of base type %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Circular inheritance of union %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to derive from %2 by restriction as the latter defines it as final.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to derive from %2 by extension as the latter defines it as final.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type of simple type %1 cannot be complex type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type %1 cannot have direct base type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type %1 is not allowed to have base type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type %1 can only have simple atomic type as base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type %1 cannot derive from %2 as the latter defines restriction as final.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Variety of item type of %1 must be either atomic or union.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Variety of member types of %1 must be atomic.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to derive from %2 by list as the latter defines it as final.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type %1 is only allowed to have %2 facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type of simple type %1 must have variety of type list.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type of simple type %1 has defined derivation by restriction as final.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Item type of base type does not match item type of %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type %1 contains not allowed facet type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to derive from %2 by union as the latter defines it as final.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to have any facets.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type %1 of simple type %2 must have variety of union.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type %1 of simple type %2 is not allowed to have restriction in %3 attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Member type %1 cannot be derived from member type %2 of %3&apos;s base type %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derivation method of %1 must be extension because the base type %2 is a simple type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 has duplicated element %2 in its content model.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 has non-deterministic content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attributes of complex type %1 are not a valid extension of the attributes of base type %2: %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content model of complex type %1 is not a valid extension of content model of %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 must have simple content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 must have the same simple type as its base class %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 cannot be derived from base type %2%3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attributes of complex type %1 are not a valid restriction from the attributes of base type %2: %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 with simple content cannot be derived from complex base type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Item type of simple type %1 cannot be a complex type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Member type of simple type %1 cannot be a complex type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to have a member type with the same name as itself.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet collides with %2 facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must have the same value as %2 facet of base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be equal or greater than %2 facet of base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be less than or equal to %2 facet of base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet contains invalid regular expression</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unknown notation %1 used in %2 facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet contains invalid value %2: %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet cannot be %2 or %3 if %4 facet of base type is %5.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet cannot be %2 if %3 facet of base type is %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be less than or equal to %2 facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be less than %2 facet of base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet and %2 facet cannot appear together.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be greater than %2 facet of base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be less than %2 facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be greater than or equal to %2 facet of base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type contains not allowed facet %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1, %2, %3, %4, %5 and %6 facets are not allowed when derived by list.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Only %1 and %2 facets are allowed when derived by union.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 contains %2 facet with invalid data: %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute group %1 contains attribute %2 twice.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute group %1 contains two different attributes that both have types derived from %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute group %1 contains attribute %2 that has value constraint but type that inherits from %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 contains attribute %2 twice.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 contains two different attributes that both have types derived from %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 contains attribute %2 that has value constraint but type that inherits from %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed to have a value constraint if its base type is complex.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed to have a value constraint if its type is derived from %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Value constraint of element %1 is not of elements type: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed to have substitution group affiliation as it is no global element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type of element %1 cannot be derived from type of substitution group affiliation.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Value constraint of attribute %1 is not of attributes type: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 has value constraint but has type derived from %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute in derived complex type must be %2 like in base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 in derived complex type must have %2 value constraint like in base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 in derived complex type must have the same %2 value constraint like in base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 in derived complex type must have %2 value constraint.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>processContent of base wildcard must be weaker than derived wildcard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 exists twice with different types.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Particle contains non-deterministic wildcards.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base attribute %1 is required but derived attribute is not.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type of derived attribute %1 cannot be validly derived from type of base attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Value constraint of derived attribute %1 does not match value constraint of base attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived attribute %1 does not exist in the base definition.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived attribute %1 does not match the wildcard in the base definition.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base attribute %1 is required but missing in derived definition.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived definition contains an %1 element that does not exists in the base definition</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived wildcard is not a subset of the base wildcard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 of derived wildcard is not a valid restriction of %2 of base wildcard</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 from base type is missing in derived type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type of derived attribute %1 differs from type of base attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base definition contains an %1 element that is missing in the derived definition</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 references unknown %2 or %3 element %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 references identity constraint %2 that is no %3 or %4 element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 has a different number of fields from the identity constraint %2 that it references.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Item type %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Member type %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type %1 of complex type cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 cannot have complex base type that has a %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 cannot be derived by extension from %2 as the latter contains %3 element in its content model.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type of %1 element must be a simple type, %2 is not.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Substitution group %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Substitution group %1 has circular definition.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duplicated element names %1 in %2 element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Reference %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Circular group reference for %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element is not allowed in this scope</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element cannot have %2 attribute with value other than %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element cannot have %2 attribute with value other than %3 or %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 or %2 attribute of reference %3 does not match with the attribute declaration %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute group %1 has circular reference.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute in %2 must have %3 use like in base type %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute wildcard of %1 is not a valid restriction of attribute wildcard of base type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 has attribute wildcard but its base type %2 has not.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Union of attribute wildcard of type %1 and attribute wildcard of its base type %2 is not expressible.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Enumeration facet contains invalid content: {%1} is not a value of type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Namespace prefix of qualified name %1 is not defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element %2 is not a valid restriction of the %3 element it redefines: %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Empty particle cannot be derived from non-empty particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived particle is missing element %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived element %1 is missing value constraint as defined in base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived element %1 has weaker value constraint than base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Fixed value constraint of element %1 differs from value constraint in base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived element %1 cannot be nillable as base element is not nillable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Block constraints of derived element %1 must not be more weaker than in the base element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type of derived element %1 cannot be validly derived from base element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type of derived element %1 cannot be validly derived from base element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is missing in derived particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 does not match namespace constraint of wildcard in base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Wildcard in derived particle is not a valid subset of wildcard in base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>processContent of wildcard in derived particle is weaker than wildcard in base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived particle allows content that is not allowed in the base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Can not process unknown element %1, expected elements are: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed in this scope, possible elements are: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Child element is missing in that scope, possible child elements are: %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Document is not a XML schema.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element contains invalid content: {%3} is not a value of type %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element contains invalid content: {%3}.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Target namespace %1 of included schema is different from the target namespace %2 as defined by the including schema.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Target namespace %1 of imported schema is different from the target namespace %2 as defined by the importing schema.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element is not allowed to have the same %2 attribute value as the target namespace %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element without %2 attribute is not allowed inside schema without target namespace.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element is not allowed inside %2 element if %3 attribute is present.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element has neither %2 attribute nor %3 child element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element with %2 child element must not have a %3 attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must be %3 or %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must have a value of %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must have a value of %3 or %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element must not have %2 and %3 attribute together.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content of %1 attribute of %2 element must not be from namespace %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must not be %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must have the value %3 because the %4 attribute is set.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Specifying use=&apos;prohibited&apos; inside an attribute group has no effect.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element must have either %2 or %3 attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element must have either %2 attribute or %3 or %4 as child element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element requires either %2 or %3 attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Text or entity references not allowed inside %1 element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must contain %3, %4 or a list of URIs.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element is not allowed in this context.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element has larger value than %3 attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Prefix of qualified name %1 is not defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must either contain %3 or the other values.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Component with ID %1 has been defined previously.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute group %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element group %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Notation %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Identity constraint %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duplicated facets in simple type %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not valid according to %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>String content does not match the length facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>String content does not match the minLength facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>String content does not match the maxLength facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>String content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>String content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match the maxInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match the maxExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match the minInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match the minExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match in the totalDigits facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match the maxInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match the maxExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match the minInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match the minExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match in the totalDigits facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Double content does not match the maxInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Double content does not match the maxExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Double content does not match the minInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Double content does not match the minExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Double content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Double content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Decimal content does not match in the fractionDigits facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Decimal content does not match in the totalDigits facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date time content does not match the maxInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date time content does not match the maxExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date time content does not match the minInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date time content does not match the minExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date time content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date time content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duration content does not match the maxInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duration content does not match the maxExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duration content does not match the minInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duration content does not match the minExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duration content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duration content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Boolean content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Binary content does not match the length facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Binary content does not match the minLength facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Binary content does not match the maxLength facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Binary content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid QName content: %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>QName content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>QName content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Notation content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>List content does not match length facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>List content does not match minLength facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>List content does not match maxLength facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>List content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>List content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Union content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Union content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Data of type %1 are not allowed to be empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is missing child element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>There is one IDREF value with no corresponding ID: %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Loaded schema file is invalid.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 contains invalid data.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>xsi:schemaLocation namespace %1 has already appeared earlier in the instance document.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>xsi:noNamespaceSchemaLocation cannot appear after the first no-namespace element or attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>No schema defined for validation.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>No definition for element %1 available.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Specified type %1 is not known to the schema.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is not defined in this scope.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Declaration for element %1 does not exist.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains invalid content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is declared as abstract.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is not nillable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 contains invalid data: %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element contains content although it is nillable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Fixed value constraint not allowed if element is nillable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 cannot contain other elements, as it has a fixed content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Specified type %1 is not validly substitutable with element type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 is not allowed to be abstract.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains not allowed attributes.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains not allowed child element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content of element %1 does not match its type definition: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content of element %1 does not match defined value constraint.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains not allowed child content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains not allowed text content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is missing required attribute %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 does not match the attribute wildcard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Declaration for attribute %1 does not exist.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains two attributes of type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 contains invalid content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains unknown attribute %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content of attribute %1 does not match its type definition: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content of attribute %1 does not match defined value constraint.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Non-unique value found for constraint %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Key constraint %1 contains absent fields.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Key constraint %1 contains references nillable element %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>No referenced value found for key reference %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>More than one value found for field %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Field %1 has no simple type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>ID value &apos;%1&apos; is not unique.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&apos;%1&apos; attribute contains invalid QName content: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>VolumeSlider</name>
<message>
- <location filename="../src/3rdparty/phonon/phonon/volumeslider.cpp" line="+67"/>
+ <location filename="../src/3rdparty/phonon/phonon/volumeslider.cpp" line="+184"/>
<source>Muted</source>
<translation>Muet</translation>
</message>
@@ -8206,7 +8857,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<location line="+5"/>
<location line="+15"/>
<source>Volume: %1%</source>
- <translation></translation>
+ <translation>Volume : %1%</translation>
</message>
</context>
<context>
@@ -8264,4 +8915,655 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation type="obsolete">Défiler vers le bas</translation>
</message>
</context>
+<context>
+ <name>FakeReply</name>
+ <message>
+ <source>Fake error !</source>
+ <translation>Fausse erreur!</translation>
+ </message>
+ <message>
+ <source>Invalid URL</source>
+ <translation>URL non valide</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::AudioOutput</name>
+ <message>
+ <source>&lt;html&gt;The audio playback device &lt;b&gt;%1&lt;/b&gt; does not work.&lt;br/&gt;Falling back to &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</source>
+ <translation>&lt;html&gt;Le périphérique audio &lt;b&gt;%1&lt;/b&gt; ne fonctionne pas.&lt;br/&gt;Repli sur &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;html&gt;Switching to the audio playback device &lt;b&gt;%1&lt;/b&gt;&lt;br/&gt;which just became available and has higher preference.&lt;/html&gt;</source>
+ <translation>&lt;html&gt;Basculement vers le périphérique audio &lt;b&gt;%1&lt;/b&gt;&lt;br/&gt;qui vient juste d&apos;être disponible et dont le niveau de préférence est plus élevé.&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <source>Revert back to device &apos;%1&apos;</source>
+ <translation>Revenir au périphérique &apos;%1&apos;</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF</name>
+ <message>
+ <source>Audio Output</source>
+ <translation>Sortie audio</translation>
+ </message>
+ <message>
+ <source>The audio output device</source>
+ <translation>Périphérique audio de sortie</translation>
+ </message>
+ <message>
+ <source>No error</source>
+ <translation>Aucune erreur</translation>
+ </message>
+ <message>
+ <source>Not found</source>
+ <translation>Introuvable</translation>
+ </message>
+ <message>
+ <source>Out of memory</source>
+ <translation>Mémoire insuffisante</translation>
+ </message>
+ <message>
+ <source>Not supported</source>
+ <translation>Non supporté</translation>
+ </message>
+ <message>
+ <source>Overflow</source>
+ <translation>Dépassement</translation>
+ </message>
+ <message>
+ <source>Underflow</source>
+ <translation>Soupassement</translation>
+ </message>
+ <message>
+ <source>Already exists</source>
+ <translation>Existe déjà</translation>
+ </message>
+ <message>
+ <source>Path not found</source>
+ <translation>Chemin introuvable</translation>
+ </message>
+ <message>
+ <source>In use</source>
+ <translation>Utilisé</translation>
+ </message>
+ <message>
+ <source>Not ready</source>
+ <translation>Pas prêt</translation>
+ </message>
+ <message>
+ <source>Access denied</source>
+ <translation>Accès refusé</translation>
+ </message>
+ <message>
+ <source>Could not connect</source>
+ <translation>Connexion impossible</translation>
+ </message>
+ <message>
+ <source>Disconnected</source>
+ <translation>Déconnecté</translation>
+ </message>
+ <message>
+ <source>Permission denied</source>
+ <translation>Autorisation refusée</translation>
+ </message>
+ <message>
+ <source>Insufficient bandwidth</source>
+ <translation>Bande passante insuffisante</translation>
+ </message>
+ <message>
+ <source>Network unavailable</source>
+ <translation>Réseau non disponible</translation>
+ </message>
+ <message>
+ <source>Network communication error</source>
+ <translation>Erreur de communication réseau</translation>
+ </message>
+ <message>
+ <source>Streaming not supported</source>
+ <translation>Streaming non supporté</translation>
+ </message>
+ <message>
+ <source>Server alert</source>
+ <translation>Alerte serveur</translation>
+ </message>
+ <message>
+ <source>Invalid protocol</source>
+ <translation>Protocole non valide</translation>
+ </message>
+ <message>
+ <source>Invalid URL</source>
+ <translation>URL non valide</translation>
+ </message>
+ <message>
+ <source>Multicast error</source>
+ <translation>Erreur multicast</translation>
+ </message>
+ <message>
+ <source>Proxy server error</source>
+ <translation>Erreur du serveur proxy</translation>
+ </message>
+ <message>
+ <source>Proxy server not supported</source>
+ <translation>Serveur proxy non supporté</translation>
+ </message>
+ <message>
+ <source>Audio output error</source>
+ <translation>Erreur de sortie audio</translation>
+ </message>
+ <message>
+ <source>Video output error</source>
+ <translation>Erreur de sortie vidéo</translation>
+ </message>
+ <message>
+ <source>Decoder error</source>
+ <translation>Erreur du décodeur</translation>
+ </message>
+ <message>
+ <source>Audio or video components could not be played</source>
+ <translation>Les composants audio ou vidéo n&apos;ont pas pu être lus</translation>
+ </message>
+ <message>
+ <source>DRM error</source>
+ <translation>Erreur GDN</translation>
+ </message>
+ <message>
+ <source>Unknown error (%1)</source>
+ <translation>Erreur inconnue (%1)</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::AbstractMediaPlayer</name>
+ <message>
+ <source>Not ready to play</source>
+ <translation>Pas prêt pour lecture</translation>
+ </message>
+ <message>
+ <source>Error opening file</source>
+ <translation>Erreur lors de l&apos;ouverture du fichier</translation>
+ </message>
+ <message>
+ <source>Error opening URL</source>
+ <translation>Erreur lors de l&apos;ouverture de l&apos;URL</translation>
+ </message>
+ <message>
+ <source>Setting volume failed</source>
+ <translation>Le réglage du volume a échoué</translation>
+ </message>
+ <message>
+ <source>Playback complete</source>
+ <translation>Lecture terminée</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::AudioEqualizer</name>
+ <message>
+ <source>%1 Hz</source>
+ <translation>%1 Hz</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::AudioPlayer</name>
+ <message>
+ <source>Getting position failed</source>
+ <translation>L&apos;obtention de la position a échoué</translation>
+ </message>
+ <message>
+ <source>Opening clip failed</source>
+ <translation>L&apos;ouverture du clip a échoué</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::EffectFactory</name>
+ <message>
+ <source>Enabled</source>
+ <translation>Activé</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::EnvironmentalReverb</name>
+ <message>
+ <source>Decay HF ratio (%)</source>
+ <translation>Ratio HF du déclin (%)</translation>
+ </message>
+ <message>
+ <source>Decay time (ms)</source>
+ <translation>Temps de déclin (ms)</translation>
+ </message>
+ <message>
+ <source>Density (%)</source>
+ <translation>Densité (%)</translation>
+ </message>
+ <message>
+ <source>Diffusion (%)</source>
+ <translation>Diffusion (%)</translation>
+ </message>
+ <message>
+ <source>Reflections delay (ms)</source>
+ <translation>Délai réflexions (ms)</translation>
+ </message>
+ <message>
+ <source>Reflections level (mB)</source>
+ <translation>Niveau réflexions (mB)</translation>
+ </message>
+ <message>
+ <source>Reverb delay (ms)</source>
+ <translation>Délai de réverbération (ms)</translation>
+ </message>
+ <message>
+ <source>Reverb level (mB)</source>
+ <translation>Niveau de réverbération (mB)</translation>
+ </message>
+ <message>
+ <source>Room HF level</source>
+ <translation>Niveau HF pièce</translation>
+ </message>
+ <message>
+ <source>Room level (mB)</source>
+ <translation>Niveau pièce (mB)</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::MediaObject</name>
+ <message>
+ <source>Error opening source: type not supported</source>
+ <translation>Erreur lors de l&apos;ouverture de la source: type non supporté</translation>
+ </message>
+ <message>
+ <source>Error opening source: media type could not be determined</source>
+ <translation>Erreur lors de l&apos;ouverture de la source: type de média non déterminé</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::StereoWidening</name>
+ <message>
+ <source>Level (%)</source>
+ <translation>Niveau (%)</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::VideoPlayer</name>
+ <message>
+ <source>Pause failed</source>
+ <translation>La mise en pause a échoué</translation>
+ </message>
+ <message>
+ <source>Seek failed</source>
+ <translation>La recherche a échoué</translation>
+ </message>
+ <message>
+ <source>Getting position failed</source>
+ <translation>L&apos;obtention de la position a échoué</translation>
+ </message>
+ <message>
+ <source>Opening clip failed</source>
+ <translation>L&apos;ouverture du clip a échoué</translation>
+ </message>
+ <message>
+ <source>Buffering clip failed</source>
+ <translation>La mise en mémoire tampon du clip a échoué</translation>
+ </message>
+ <message>
+ <source>Video display error</source>
+ <translation>Erreur de l&apos;affichage vidéo</translation>
+ </message>
+</context>
+<context>
+ <name>QAccessibleButton</name>
+ <message>
+ <source>Press</source>
+ <translation>Appuyer</translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkAccessDebugPipeBackend</name>
+ <message>
+ <source>Write error writing to %1: %2</source>
+ <translation>Erreur lors de l&apos;écriture dans %1: %2</translation>
+ </message>
+</context>
+<context>
+ <name>QScriptBreakpointsModel</name>
+ <message>
+ <source>ID</source>
+ <translation>Identifiant</translation>
+ </message>
+ <message>
+ <source>Location</source>
+ <translation>Lieu</translation>
+ </message>
+ <message>
+ <source>Condition</source>
+ <translation>Condition</translation>
+ </message>
+ <message>
+ <source>Ignore-count</source>
+ <translation>Comptes d&apos;ignorés</translation>
+ </message>
+ <message>
+ <source>Single-shot</source>
+ <translation>Un seul tir</translation>
+ </message>
+ <message>
+ <source>Hit-count</source>
+ <translation>Compte de coups</translation>
+ </message>
+</context>
+<context>
+ <name>QScriptBreakpointsWidget</name>
+ <message>
+ <source>New</source>
+ <translation>Créer</translation>
+ </message>
+ <message>
+ <source>Delete</source>
+ <translation>Supprimer</translation>
+ </message>
+</context>
+<context>
+ <name>QScriptDebugger</name>
+ <message>
+ <source>Go to Line</source>
+ <translation>Aller à la ligne</translation>
+ </message>
+ <message>
+ <source>Line:</source>
+ <translation>Ligne:</translation>
+ </message>
+ <message>
+ <source>Interrupt</source>
+ <translation>Interrompre</translation>
+ </message>
+ <message>
+ <source>Shift+F5</source>
+ <translation>Shift+F5</translation>
+ </message>
+ <message>
+ <source>Continue</source>
+ <translation>Continuer</translation>
+ </message>
+ <message>
+ <source>F5</source>
+ <translation>F5</translation>
+ </message>
+ <message>
+ <source>Step Into</source>
+ <translation>Pas à pas détaillé</translation>
+ </message>
+ <message>
+ <source>F11</source>
+ <translation>F11</translation>
+ </message>
+ <message>
+ <source>Step Over</source>
+ <translation>Pas à pas principal</translation>
+ </message>
+ <message>
+ <source>F10</source>
+ <translation>F10</translation>
+ </message>
+ <message>
+ <source>Step Out</source>
+ <translation>Pas à pas sortant</translation>
+ </message>
+ <message>
+ <source>Shift+F11</source>
+ <translation>Shift+F11</translation>
+ </message>
+ <message>
+ <source>Run to Cursor</source>
+ <translation>Exécuter au curseur</translation>
+ </message>
+ <message>
+ <source>Ctrl+F10</source>
+ <translation>Ctrl+F10</translation>
+ </message>
+ <message>
+ <source>Run to New Script</source>
+ <translation>Exécuter au nouveau script</translation>
+ </message>
+ <message>
+ <source>Toggle Breakpoint</source>
+ <translation>Basculer le point d&apos;arrêt</translation>
+ </message>
+ <message>
+ <source>F9</source>
+ <translation>F9</translation>
+ </message>
+ <message>
+ <source>Clear Debug Output</source>
+ <translation>Effacer les résultats du débogage</translation>
+ </message>
+ <message>
+ <source>Clear Error Log</source>
+ <translation>Effacer le journal d&apos;erreurs</translation>
+ </message>
+ <message>
+ <source>Clear Console</source>
+ <translation>Effacer la console</translation>
+ </message>
+ <message>
+ <source>&amp;Find in Script...</source>
+ <translation>&amp;Chercher dans le script...</translation>
+ </message>
+ <message>
+ <source>Ctrl+F</source>
+ <translation>Ctrl+F</translation>
+ </message>
+ <message>
+ <source>Find &amp;Next</source>
+ <translation>Résultat &amp;suivant</translation>
+ </message>
+ <message>
+ <source>F3</source>
+ <translation>F3</translation>
+ </message>
+ <message>
+ <source>Find &amp;Previous</source>
+ <translation>Chercher &amp;précédent</translation>
+ </message>
+ <message>
+ <source>Shift+F3</source>
+ <translation>Shift+F3</translation>
+ </message>
+ <message>
+ <source>Ctrl+G</source>
+ <translation>Ctrl+G</translation>
+ </message>
+ <message>
+ <source>Debug</source>
+ <translation>Déboguer</translation>
+ </message>
+</context>
+<context>
+ <name>QScriptDebuggerCodeFinderWidget</name>
+ <message>
+ <source>Close</source>
+ <translation>Fermer</translation>
+ </message>
+ <message>
+ <source>Previous</source>
+ <translation>Précédent</translation>
+ </message>
+ <message>
+ <source>Next</source>
+ <translation>Suivant</translation>
+ </message>
+ <message>
+ <source>Case Sensitive</source>
+ <translation>Sensible à la casse</translation>
+ </message>
+ <message>
+ <source>Whole words</source>
+ <translation>Mots entiers</translation>
+ </message>
+ <message>
+ <source>&lt;img src=&quot;:/qt/scripttools/debugging/images/wrap.png&quot;&gt;&amp;nbsp;Search wrapped</source>
+ <translation>&lt;img src=&quot;:/qt/scripttools/debugging/images/wrap.png&quot;&gt;&amp;nbsp;La recherche est revenue au début</translation>
+ </message>
+</context>
+<context>
+ <name>QScriptDebuggerLocalsModel</name>
+ <message>
+ <source>Name</source>
+ <translation>Nom</translation>
+ </message>
+ <message>
+ <source>Value</source>
+ <translation>Valeur</translation>
+ </message>
+</context>
+<context>
+ <name>QScriptDebuggerStackModel</name>
+ <message>
+ <source>Level</source>
+ <translation>Niveau</translation>
+ </message>
+ <message>
+ <source>Name</source>
+ <translation>Nom</translation>
+ </message>
+ <message>
+ <source>Location</source>
+ <translation>Lieu</translation>
+ </message>
+</context>
+<context>
+ <name>QScriptEdit</name>
+ <message>
+ <source>Toggle Breakpoint</source>
+ <translation>Basculer le point d&apos;arrêt</translation>
+ </message>
+ <message>
+ <source>Disable Breakpoint</source>
+ <translation>Désactiver le point d&apos;arrêt</translation>
+ </message>
+ <message>
+ <source>Enable Breakpoint</source>
+ <translation>Activer le point d&apos;arrêt</translation>
+ </message>
+ <message>
+ <source>Breakpoint Condition:</source>
+ <translation>Condition du point d&apos;arrêt:</translation>
+ </message>
+</context>
+<context>
+ <name>QScriptEngineDebugger</name>
+ <message>
+ <source>Loaded Scripts</source>
+ <translation>Scripts chargés</translation>
+ </message>
+ <message>
+ <source>Breakpoints</source>
+ <translation>Points d&apos;arrêt</translation>
+ </message>
+ <message>
+ <source>Stack</source>
+ <translation>Empiler</translation>
+ </message>
+ <message>
+ <source>Locals</source>
+ <translation>Locaux</translation>
+ </message>
+ <message>
+ <source>Console</source>
+ <translation>Console</translation>
+ </message>
+ <message>
+ <source>Debug Output</source>
+ <translation>Résultats du débogage</translation>
+ </message>
+ <message>
+ <source>Error Log</source>
+ <translation>Journal d&apos;erreurs</translation>
+ </message>
+ <message>
+ <source>Search</source>
+ <translation>Chercher</translation>
+ </message>
+ <message>
+ <source>View</source>
+ <translation>Afficher</translation>
+ </message>
+ <message>
+ <source>Qt Script Debugger</source>
+ <translation>Débogueur de script Qt</translation>
+ </message>
+</context>
+<context>
+ <name>QScriptNewBreakpointWidget</name>
+ <message>
+ <source>Close</source>
+ <translation>Fermer</translation>
+ </message>
+</context>
+<context>
+ <name>QSoftKeyManager</name>
+ <message>
+ <source>Ok</source>
+ <translation>OK</translation>
+ </message>
+ <message>
+ <source>Select</source>
+ <translation>Sélectionner</translation>
+ </message>
+ <message>
+ <source>Done</source>
+ <translation>Terminer</translation>
+ </message>
+ <message>
+ <source>Options</source>
+ <translation>Options</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Annuler</translation>
+ </message>
+ <message>
+ <source>Exit</source>
+ <translation>Quitter</translation>
+ </message>
+</context>
+<context>
+ <name>QStateMachine</name>
+ <message>
+ <source>Missing initial state in compound state &apos;%1&apos;</source>
+ <translation>État initial manquant dans l&apos;état composé &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <source>Missing default state in history state &apos;%1&apos;</source>
+ <translation>État par défaut manquant dans l&apos;état de l&apos;historique &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <source>No common ancestor for targets and source of transition from state &apos;%1&apos;</source>
+ <translation>Aucun ancêtre commun pour les cibles et la source de transition de l&apos;état &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>Erreur inconnue</translation>
+ </message>
+</context>
+<context>
+ <name>QXmlPatternistCLI</name>
+ <message>
+ <source>Warning in %1, at line %2, column %3: %4</source>
+ <translation>Avertissement dans %1, à la ligne %2, colonne %3: %4</translation>
+ </message>
+ <message>
+ <source>Warning in %1: %2</source>
+ <translation>Avertissement dans %1: %2</translation>
+ </message>
+ <message>
+ <source>Unknown location</source>
+ <translation>Lieu inconnu</translation>
+ </message>
+ <message>
+ <source>Error %1 in %2, at line %3, column %4: %5</source>
+ <translation>Erreur %1 dans %2, à la ligne %3, colonne %4: %5</translation>
+ </message>
+ <message>
+ <source>Error %1 in %2: %3</source>
+ <translation>Erreur %1 dans %2: %3</translation>
+ </message>
+</context>
</TS>
diff --git a/translations/qt_pl.ts b/translations/qt_pl.ts
index ef5e9a2..a089cb6 100644
--- a/translations/qt_pl.ts
+++ b/translations/qt_pl.ts
@@ -4,7 +4,7 @@
<context>
<name>CloseButton</name>
<message>
- <location filename="../src/gui/widgets/qtabbar.cpp" line="+2266"/>
+ <location filename="../src/gui/widgets/qtabbar.cpp" line="+2274"/>
<source>Close Tab</source>
<translation>Zamknij kartę</translation>
</message>
@@ -156,7 +156,7 @@ zainstalowałeś libgstreamer-plugins-base.</translation>
<message>
<location line="+2"/>
<source>Plugin codec installation failed for codec: %0</source>
- <translation type="unfinished"></translation>
+ <translation>Błąd podczas instalacji wtyczki dla kodeka: %0</translation>
</message>
<message>
<location line="+11"/>
@@ -1616,7 +1616,7 @@ na
<context>
<name>QDeclarativeAnchorAnimation</name>
<message>
- <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="+2540"/>
+ <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="+2542"/>
<source>Cannot set a duration of &lt; 0</source>
<translation>Nie można ustawić ujemnego czasu trwania</translation>
</message>
@@ -1700,7 +1700,7 @@ na
<context>
<name>QDeclarativeBehavior</name>
<message>
- <location filename="../src/declarative/util/qdeclarativebehavior.cpp" line="+122"/>
+ <location filename="../src/declarative/util/qdeclarativebehavior.cpp" line="+124"/>
<source>Cannot change the animation assigned to a Behavior.</source>
<translation>Nie można zmienić animacji przypisanej do &quot;Zachowania&quot;.</translation>
</message>
@@ -1821,17 +1821,17 @@ na
<message>
<location line="+271"/>
<source>Element is not creatable.</source>
- <translation type="unfinished"></translation>
+ <translation>Nie można utworzyć elementu (&quot;creatable&quot; wyłączone).</translation>
</message>
<message>
<location line="+592"/>
<source>Component elements may not contain properties other than id</source>
- <translation type="unfinished"></translation>
+ <translation>Elementy komponentu nie mogą posiadać właściwości innych niż &quot;id&quot;</translation>
</message>
<message>
<location line="+7"/>
<source>Invalid component id specification</source>
- <translation>Niepoprawna specyfikacja &quot;id&quot; componentu</translation>
+ <translation>Niepoprawna specyfikacja &quot;id&quot; komponentu</translation>
</message>
<message>
<location line="+6"/>
@@ -1842,70 +1842,70 @@ na
<message>
<location line="-467"/>
<source>Invalid component body specification</source>
- <translation type="unfinished"></translation>
+ <translation>Niepoprawna specyfikacja &quot;body&quot; komponentu</translation>
</message>
<message>
<location line="+3"/>
<source>Component objects cannot declare new properties.</source>
- <translation type="unfinished"></translation>
+ <translation>Instancje komponentu nie mogą deklarować nowych właściwości.</translation>
</message>
<message>
<location line="+2"/>
<source>Component objects cannot declare new signals.</source>
- <translation type="unfinished"></translation>
+ <translation>Instancje komponentu nie mogą deklarować nowych sygnałów.</translation>
</message>
<message>
<location line="+2"/>
<source>Component objects cannot declare new functions.</source>
- <translation type="unfinished"></translation>
+ <translation>Instancje komponentu nie mogą deklarować nowych funkcji.</translation>
</message>
<message>
<location line="+7"/>
<source>Cannot create empty component specification</source>
- <translation type="unfinished"></translation>
+ <translation>Nie można utworzyć pustej specyfikacji komponentu</translation>
</message>
<message>
<location line="+89"/>
<source>Incorrectly specified signal assignment</source>
- <translation type="unfinished"></translation>
+ <translation>Przypisanie sygnału błędnie podane</translation>
</message>
<message>
<location line="+13"/>
<source>Empty signal assignment</source>
- <translation type="unfinished"></translation>
+ <translation>Przypisanie pustego sygnału</translation>
</message>
<message>
<location line="+38"/>
<source>Empty property assignment</source>
- <translation type="unfinished"></translation>
+ <translation>Przypisanie pustej właściwości</translation>
</message>
<message>
<location line="+12"/>
<source>Attached properties cannot be used here</source>
- <translation type="unfinished"></translation>
+ <translation>Dołączone właściwości nie mogą być tutaj użyte</translation>
</message>
<message>
<location line="+15"/>
<location line="+104"/>
<source>Non-existent attached object</source>
- <translation type="unfinished"></translation>
+ <translation>Nieistniejący dołączony obiekt</translation>
</message>
<message>
<location line="-100"/>
<location line="+103"/>
<source>Invalid attached object assignment</source>
- <translation type="unfinished"></translation>
+ <translation>Niepoprawne przypisanie dołączonego obiektu</translation>
</message>
<message>
<location line="-50"/>
<source>Cannot assign to non-existent default property</source>
- <translation type="unfinished"></translation>
+ <translation>Nie można przypisać wartości do nieistniejącej domyślnej właściwości</translation>
</message>
<message>
<location line="+2"/>
<location line="+355"/>
<source>Cannot assign to non-existent property &quot;%1&quot;</source>
- <translation type="unfinished"></translation>
+ <translation>Nie można przypisać wartości do nieistniejącej właściwości &quot;%1&quot;</translation>
</message>
<message>
<location line="-324"/>
@@ -1915,7 +1915,7 @@ na
<message>
<location line="+5"/>
<source>Not an attached property name</source>
- <translation type="unfinished"></translation>
+ <translation>Nie jest to nazwa dołączonej właściwości</translation>
</message>
<message>
<location line="+183"/>
@@ -1926,18 +1926,18 @@ na
<location line="+89"/>
<location line="+2"/>
<source>Property has already been assigned a value</source>
- <translation type="unfinished"></translation>
+ <translation>Wartość została już przypisana do właściwości</translation>
</message>
<message>
<location line="+12"/>
<location line="+8"/>
<source>Invalid grouped property access</source>
- <translation type="unfinished"></translation>
+ <translation>Błędny dostęp do zgrupowanej właściwości</translation>
</message>
<message>
<location line="+3"/>
<source>Cannot assign a value directly to a grouped property</source>
- <translation type="unfinished"></translation>
+ <translation>Nie można bezpośrednio przypisać wartości do zgrupowanej właściwości</translation>
</message>
<message>
<location line="+16"/>
@@ -1967,22 +1967,22 @@ na
<message>
<location line="+6"/>
<source>Can only assign one binding to lists</source>
- <translation type="unfinished"></translation>
+ <translation>Tylko jedno powiązanie może być przypisane do listy</translation>
</message>
<message>
<location line="+6"/>
<source>Cannot assign primitives to lists</source>
- <translation type="unfinished"></translation>
+ <translation>Nie można przypisać elementu do listy</translation>
</message>
<message>
<location line="+13"/>
<source>Cannot assign multiple values to a script property</source>
- <translation type="unfinished"></translation>
+ <translation>Nie można przypisać wielu wartości do skryptowej właściwości</translation>
</message>
<message>
<location line="+3"/>
<source>Invalid property assignment: script expected</source>
- <translation type="unfinished"></translation>
+ <translation>Niepoprawne przypisanie wartości: oczekiwano skryptu</translation>
</message>
<message>
<location line="+106"/>
@@ -1992,7 +1992,7 @@ na
<message>
<location line="+50"/>
<source>&quot;%1&quot; cannot operate on &quot;%2&quot;</source>
- <translation type="unfinished"></translation>
+ <translation>&quot;%1&quot; nie może operować na &quot;%2&quot;</translation>
</message>
<message>
<location line="+117"/>
@@ -2100,7 +2100,7 @@ na
<context>
<name>QDeclarativeComponent</name>
<message>
- <location filename="../src/declarative/qml/qdeclarativecomponent.cpp" line="+454"/>
+ <location filename="../src/declarative/qml/qdeclarativecomponent.cpp" line="+508"/>
<source>Invalid empty URL</source>
<translation>Niepoprawny pusty URL</translation>
</message>
@@ -2109,22 +2109,22 @@ na
<name>QDeclarativeCompositeTypeManager</name>
<message>
<location filename="../src/declarative/qml/qdeclarativecompositetypemanager.cpp" line="+482"/>
- <location line="+268"/>
+ <location line="+270"/>
<source>Resource %1 unavailable</source>
<translation>Zasób %1 nie jest dostępny</translation>
</message>
<message>
- <location line="-119"/>
+ <location line="-120"/>
<source>Namespace %1 cannot be used as a type</source>
<translation>Przestrzeń nazw %1 nie może być użyta jako typ</translation>
</message>
<message>
<location line="+2"/>
- <source>%1 is not a type</source>
- <translation>%1 nie jest typem</translation>
+ <source>%1 %2</source>
+ <translation>%1 %2</translation>
</message>
<message>
- <location line="+46"/>
+ <location line="+47"/>
<source>Type %1 unavailable</source>
<translation>Typ %1 nie jest dostępny</translation>
</message>
@@ -2132,7 +2132,7 @@ na
<context>
<name>QDeclarativeConnections</name>
<message>
- <location filename="../src/declarative/util/qdeclarativeconnections.cpp" line="+178"/>
+ <location filename="../src/declarative/util/qdeclarativeconnections.cpp" line="+180"/>
<location line="+54"/>
<location line="+7"/>
<source>Cannot assign to non-existent property &quot;%1&quot;</source>
@@ -2157,7 +2157,33 @@ na
<context>
<name>QDeclarativeEngine</name>
<message>
- <location filename="../src/declarative/qml/qdeclarativeengine.cpp" line="+1633"/>
+ <location filename="../src/declarative/qml/qdeclarativeengine.cpp" line="+1636"/>
+ <location line="+4"/>
+ <source>local directory</source>
+ <translation>lokalny katalog</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>is ambiguous. Found in %1 and in %2</source>
+ <translation>jest niejednoznaczny. Znaleziono w %1 i w %2</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>is ambiguous. Found in %1 in version %2.%3 and %4.%5</source>
+ <translation>jest niejednoznaczny. Znaleziono w %1 w wersji %2.%3 i %4.%5</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>is instantiated recursively</source>
+ <translation>jest zinstancjonowany rekurencyjnie</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>is not a type</source>
+ <translation>nie jest typem</translation>
+ </message>
+ <message>
+ <location line="+34"/>
<source>module &quot;%1&quot; definition &quot;%2&quot; not readable</source>
<translation>definicja &quot;%2&quot; modułu &quot;%1&quot; nie może zostać odczytana</translation>
</message>
@@ -2194,6 +2220,16 @@ na
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+46"/>
+ <source>- %1 is not a namespace</source>
+ <translation>- %1 nie jest przestrzenią nazw</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>- nested namespaces not allowed</source>
+ <translation>- zagnieżdżone przestrzenie nazw nie są dozwolone</translation>
+ </message>
+ <message>
<location filename="../src/declarative/qml/qdeclarativesqldatabase.cpp" line="+204"/>
<source>executeSql called outside transaction()</source>
<translation>&quot;executeSql&quot; zawołane na zewnątrz &quot;transation()&quot;</translation>
@@ -2222,7 +2258,7 @@ na
<location line="+57"/>
<location line="+16"/>
<source>SQL: database version mismatch</source>
- <translation type="unfinished"></translation>
+ <translation>SQL: niezgodność wersji bazy danych</translation>
</message>
</context>
<context>
@@ -2243,7 +2279,7 @@ na
<message>
<location filename="../src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp" line="+62"/>
<source>KeyNavigation is only available via attached properties</source>
- <translation>&quot;KeyNavigation&quot; jest dostępny jedynie poprzez właściwości dołączone</translation>
+ <translation>&quot;KeyNavigation&quot; jest dostępny jedynie poprzez dołączone właściwości</translation>
</message>
</context>
<context>
@@ -2251,7 +2287,7 @@ na
<message>
<location line="+1"/>
<source>Keys is only available via attached properties</source>
- <translation>&quot;Keys&quot; jest dostępny jedynie poprzez właściwości dołączone</translation>
+ <translation>&quot;Keys&quot; jest dostępny jedynie poprzez dołączone właściwości</translation>
</message>
</context>
<context>
@@ -2324,7 +2360,7 @@ na
<message>
<location filename="../src/declarative/graphicsitems/qdeclarativeloader.cpp" line="+317"/>
<source>Loader does not support loading non-visual elements.</source>
- <translation type="unfinished"></translation>
+ <translation>Ładowanie elementów niewizualnych nie jest obsługiwane.</translation>
</message>
</context>
<context>
@@ -2397,22 +2433,22 @@ na
<message>
<location line="+102"/>
<source>Illegal syntax for exponential number</source>
- <translation type="unfinished"></translation>
+ <translation>Niepoprawna składnia liczby o postaci wykładniczej</translation>
</message>
<message>
<location line="+26"/>
<source>Identifier cannot start with numeric literal</source>
- <translation type="unfinished"></translation>
+ <translation>Identyfikator nie może rozpoczynać się stałą liczbową</translation>
</message>
<message>
<location line="+338"/>
<source>Unterminated regular expression literal</source>
- <translation type="unfinished"></translation>
+ <translation>Niedokończone wyrażenie regularne</translation>
</message>
<message>
<location line="+15"/>
<source>Invalid regular expression flag &apos;%0&apos;</source>
- <translation type="unfinished"></translation>
+ <translation>Niepoprawna flaga &quot;%0&quot; w wyrażeniu regularnym</translation>
</message>
<message>
<location line="+16"/>
@@ -2423,7 +2459,7 @@ na
<message>
<location line="+13"/>
<source>Unterminated regular expression class</source>
- <translation type="unfinished"></translation>
+ <translation>Niedokończona klasa wyrażenia regularnego</translation>
</message>
<message>
<location filename="../src/declarative/qml/parser/qdeclarativejsparser.cpp" line="+1828"/>
@@ -2440,19 +2476,19 @@ na
<location line="+28"/>
<location line="+24"/>
<source>Expected token `%1&apos;</source>
- <translation>Oczekiwano znaku &quot;%1&quot;</translation>
+ <translation>Oczekiwany znak &quot;%1&quot;</translation>
</message>
<message>
<location filename="../src/declarative/qml/qdeclarativescriptparser.cpp" line="+264"/>
- <location line="+456"/>
+ <location line="+464"/>
<location line="+59"/>
<source>Property value set multiple times</source>
<translation>Wartość właściwości ustawiona wielokrotnie</translation>
</message>
<message>
- <location line="-504"/>
+ <location line="-512"/>
<source>Expected type name</source>
- <translation>Oczekiwano nazwy typu</translation>
+ <translation>Oczekiwana nazwa typu</translation>
</message>
<message>
<location line="+171"/>
@@ -2460,55 +2496,60 @@ na
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+8"/>
+ <source>Reserved name &quot;Qt&quot; cannot be used as an qualifier</source>
+ <translation>&quot;Qt&quot; jest nazwą zarezerwowaną i nie może być użyta jako kwalifikator</translation>
+ </message>
+ <message>
<location line="+15"/>
<source>Script import qualifiers must be unique.</source>
- <translation type="unfinished"></translation>
+ <translation>Kwalifikator importu skryptu musi być unikatowy.</translation>
</message>
<message>
<location line="+10"/>
<source>Script import requires a qualifier</source>
- <translation type="unfinished"></translation>
+ <translation>Import skryptu wymaga użycia kwalifikatora</translation>
</message>
<message>
<location line="+11"/>
<source>Library import requires a version</source>
- <translation type="unfinished"></translation>
+ <translation>Import biblioteki wymaga podania wersji</translation>
</message>
<message>
<location line="+59"/>
<source>Expected parameter type</source>
- <translation type="unfinished"></translation>
+ <translation>Oczekiwany typ parametru</translation>
</message>
<message>
<location line="+42"/>
<source>Invalid property type modifier</source>
- <translation type="unfinished"></translation>
+ <translation>Niepoprawny modyfikator typu właściwości</translation>
</message>
<message>
<location line="+9"/>
<source>Unexpected property type modifier</source>
- <translation type="unfinished"></translation>
+ <translation>Nieoczekiwany modyfikator typu właściwości</translation>
</message>
<message>
<location line="+9"/>
<source>Expected property type</source>
- <translation type="unfinished"></translation>
+ <translation>Oczekiwany typ właściwości</translation>
</message>
<message>
<location line="+9"/>
<source>Readonly not yet supported</source>
- <translation type="unfinished"></translation>
+ <translation>&quot;Tylko do odczytu&quot; nie jest jeszcze obsługiwane</translation>
</message>
<message>
<location line="+213"/>
<source>JavaScript declaration outside Script element</source>
- <translation type="unfinished"></translation>
+ <translation>Deklaracja &quot;JavaScript&quot; na zewnątrz elementu &quot;Script&quot;</translation>
</message>
</context>
<context>
<name>QDeclarativePauseAnimation</name>
<message>
- <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="-1973"/>
+ <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="-1975"/>
<source>Cannot set a duration of &lt; 0</source>
<translation>Nie można ustawić ujemnego czasu trwania</translation>
</message>
@@ -2540,7 +2581,7 @@ na
<context>
<name>QDeclarativePropertyAnimation</name>
<message>
- <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="+1100"/>
+ <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="+1102"/>
<source>Cannot set a duration of &lt; 0</source>
<translation>Nie można ustawić ujemnego czasu trwania</translation>
</message>
@@ -2548,7 +2589,7 @@ na
<context>
<name>QDeclarativePropertyChanges</name>
<message>
- <location filename="../src/declarative/util/qdeclarativepropertychanges.cpp" line="+231"/>
+ <location filename="../src/declarative/util/qdeclarativepropertychanges.cpp" line="+232"/>
<source>PropertyChanges does not support creating state-specific objects.</source>
<translation>&quot;PropertyChanges&quot; nie obsługuje tworzenia obiektów charakterystycznych dla stanów.</translation>
</message>
@@ -2566,7 +2607,7 @@ na
<context>
<name>QDeclarativeTextInput</name>
<message>
- <location filename="../src/declarative/graphicsitems/qdeclarativetextinput.cpp" line="+783"/>
+ <location filename="../src/declarative/graphicsitems/qdeclarativetextinput.cpp" line="+793"/>
<location line="+8"/>
<source>Could not load cursor delegate</source>
<translation type="unfinished"></translation>
@@ -2597,7 +2638,7 @@ na
<message>
<location line="+3"/>
<source>Cannot connect mismatched signal/slot %1 %vs. %2</source>
- <translation>Nie można podłączyć niepasujących sygnałów / slotów (%1 i %2)</translation>
+ <translation>Nie można podłączyć niezgodnych sygnałów / slotów (%1 i %2)</translation>
</message>
<message>
<location line="+5"/>
@@ -2622,13 +2663,13 @@ na
<message>
<location line="+32"/>
<source>Cannot set properties on %1 as it is null</source>
- <translation type="unfinished"></translation>
+ <translation>Nie można ustawić właściwości dla %1 ponieważ jest on zerowy</translation>
</message>
</context>
<context>
<name>QDeclarativeVisualDataModel</name>
<message>
- <location filename="../src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp" line="+1061"/>
+ <location filename="../src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp" line="+1070"/>
<source>Delegate component must be Item type.</source>
<translation type="unfinished"></translation>
</message>
@@ -2653,7 +2694,7 @@ na
<context>
<name>QDeclarativeXmlRoleList</name>
<message>
- <location filename="../src/declarative/util/qdeclarativexmllistmodel.cpp" line="+638"/>
+ <location filename="../src/declarative/util/qdeclarativexmllistmodel.cpp" line="+642"/>
<source>An XmlListModel query must start with &apos;/&apos; or &quot;//&quot;</source>
<translation>Zapytanie XmlListModel nie może rozpoczynać się od &quot;/&quot; ani od &quot;//&quot;</translation>
</message>
@@ -2679,7 +2720,7 @@ na
<context>
<name>QDialog</name>
<message>
- <location filename="../src/gui/dialogs/qdialog.cpp" line="+647"/>
+ <location filename="../src/gui/dialogs/qdialog.cpp" line="+645"/>
<source>What&apos;s This?</source>
<translation>Co to jest?</translation>
</message>
@@ -3857,7 +3898,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<location line="+747"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+441"/>
<source>Server closed connection unexpectedly</source>
- <translation>Serwer niespodziewanie zakończył połączenie</translation>
+ <translation>Serwer nieoczekiwanie zakończył połączenie</translation>
</message>
<message>
<location line="-999"/>
@@ -4174,7 +4215,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<message>
<location line="-6"/>
<source>Plugin verification data mismatch in &apos;%1&apos;</source>
- <translation>Błąd podczas weryfikacji danych we wtyczce &apos;%1&apos;</translation>
+ <translation>Niezgodność podczas weryfikacji danych we wtyczce &quot;%1&quot;</translation>
</message>
<message>
<location line="+381"/>
@@ -4553,7 +4594,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QMediaPlayer</name>
<message>
- <location filename="../src/multimedia/playback/qmediaplayer.cpp" line="+496"/>
+ <location filename="../src/multimedia/mediaservices/playback/qmediaplayer.cpp" line="+496"/>
<source>The QMediaPlayer object does not have a valid service</source>
<translation type="unfinished"></translation>
</message>
@@ -4561,7 +4602,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QMediaPlaylist</name>
<message>
- <location filename="../src/multimedia/base/qmediaplaylist.cpp" line="+455"/>
+ <location filename="../src/multimedia/mediaservices/base/qmediaplaylist.cpp" line="+455"/>
<location line="+46"/>
<source>Could not add items to read only playlist.</source>
<translation>Nie można dodać elementów do listy odtwarzania (tylko do odczytu).</translation>
@@ -4937,7 +4978,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<message>
<location line="+192"/>
<source>Network session error.</source>
- <translation type="unfinished"></translation>
+ <translation>Błąd sesji sieciowej.</translation>
</message>
<message>
<location line="+329"/>
@@ -5178,7 +5219,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/declarative/util/qdeclarativexmllistmodel.cpp" line="-194"/>
+ <location filename="../src/declarative/util/qdeclarativexmllistmodel.cpp" line="-196"/>
<source>&quot;%1&quot; duplicates a previous role name and will be disabled.</source>
<translation type="unfinished"></translation>
</message>
@@ -6852,7 +6893,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QShortcut</name>
<message>
- <location filename="../src/gui/kernel/qkeysequence.cpp" line="+1312"/>
+ <location filename="../src/gui/kernel/qkeysequence.cpp" line="+1315"/>
<source>+</source>
<translation>+</translation>
</message>
@@ -7375,152 +7416,152 @@ Proszę wybrać inną nazwę pliku.</translation>
<message>
<location line="+7"/>
<source>Kanji</source>
- <translation type="unfinished"></translation>
+ <translation>Kanji</translation>
</message>
<message>
<location line="+1"/>
<source>Muhenkan</source>
- <translation type="unfinished"></translation>
+ <translation>Muhenkan</translation>
</message>
<message>
<location line="+1"/>
<source>Henkan</source>
- <translation type="unfinished"></translation>
+ <translation>Henkan</translation>
</message>
<message>
<location line="+1"/>
<source>Romaji</source>
- <translation type="unfinished"></translation>
+ <translation>Romaji</translation>
</message>
<message>
<location line="+1"/>
<source>Hiragana</source>
- <translation type="unfinished"></translation>
+ <translation>Hiragana</translation>
</message>
<message>
<location line="+1"/>
<source>Katakana</source>
- <translation type="unfinished"></translation>
+ <translation>Katakana</translation>
</message>
<message>
<location line="+1"/>
<source>Hiragana Katakana</source>
- <translation type="unfinished"></translation>
+ <translation>Hiragana Katakana</translation>
</message>
<message>
<location line="+1"/>
<source>Zenkaku</source>
- <translation type="unfinished"></translation>
+ <translation>Zenkaku</translation>
</message>
<message>
<location line="+1"/>
<source>Hankaku</source>
- <translation type="unfinished"></translation>
+ <translation>Hankaku</translation>
</message>
<message>
<location line="+1"/>
<source>Zenkaku Hankaku</source>
- <translation type="unfinished"></translation>
+ <translation>Zenkaku Hankaku</translation>
</message>
<message>
<location line="+1"/>
<source>Touroku</source>
- <translation type="unfinished"></translation>
+ <translation>Touroku</translation>
</message>
<message>
<location line="+1"/>
<source>Massyo</source>
- <translation type="unfinished"></translation>
+ <translation>Massyo</translation>
</message>
<message>
<location line="+1"/>
<source>Kana Lock</source>
- <translation type="unfinished"></translation>
+ <translation>Kana Lock</translation>
</message>
<message>
<location line="+1"/>
<source>Kana Shift</source>
- <translation type="unfinished"></translation>
+ <translation>Kana Shift</translation>
</message>
<message>
<location line="+1"/>
<source>Eisu Shift</source>
- <translation type="unfinished"></translation>
+ <translation>Eisu Shift</translation>
</message>
<message>
<location line="+1"/>
<source>Eisu toggle</source>
- <translation type="unfinished"></translation>
+ <translation>Eisu toggle</translation>
</message>
<message>
<location line="+1"/>
<source>Code input</source>
- <translation type="unfinished"></translation>
+ <translation>Wprowadzanie kodu</translation>
</message>
<message>
<location line="+1"/>
<source>Multiple Candidate</source>
- <translation type="unfinished"></translation>
+ <translation>Kandydat wielokrotny</translation>
</message>
<message>
<location line="+1"/>
<source>Previous Candidate</source>
- <translation type="unfinished"></translation>
+ <translation>Poprzedni kandydat</translation>
</message>
<message>
<location line="+4"/>
<source>Hangul</source>
- <translation type="unfinished"></translation>
+ <translation>Hangul</translation>
</message>
<message>
<location line="+1"/>
<source>Hangul Start</source>
- <translation type="unfinished"></translation>
+ <translation>Hangul Start</translation>
</message>
<message>
<location line="+1"/>
<source>Hangul End</source>
- <translation type="unfinished"></translation>
+ <translation>Hangul End</translation>
</message>
<message>
<location line="+1"/>
<source>Hangul Hanja</source>
- <translation type="unfinished"></translation>
+ <translation>Hangul Hanja</translation>
</message>
<message>
<location line="+1"/>
<source>Hangul Jamo</source>
- <translation type="unfinished"></translation>
+ <translation>Hangul Jamo</translation>
</message>
<message>
<location line="+1"/>
<source>Hangul Romaja</source>
- <translation type="unfinished"></translation>
+ <translation>Hangul Romaja</translation>
</message>
<message>
<location line="+1"/>
<source>Hangul Jeonja</source>
- <translation type="unfinished"></translation>
+ <translation>Hangul Jeonja</translation>
</message>
<message>
<location line="+1"/>
<source>Hangul Banja</source>
- <translation type="unfinished"></translation>
+ <translation>Hangul Banja</translation>
</message>
<message>
<location line="+1"/>
<source>Hangul PreHanja</source>
- <translation type="unfinished"></translation>
+ <translation>Hangul PreHanja</translation>
</message>
<message>
<location line="+1"/>
<source>Hangul PostHanja</source>
- <translation type="unfinished"></translation>
+ <translation>Hangul PostHanja</translation>
</message>
<message>
<location line="+1"/>
<source>Hangul Special</source>
- <translation type="unfinished"></translation>
+ <translation>Hangul Special</translation>
</message>
<message>
<location line="+602"/>
@@ -7849,6 +7890,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<message>
<location line="-965"/>
<source>Space</source>
+ <extracomment>This and all following &quot;incomprehensible&quot; strings in QShortcut context are key names. Please use the localized names appearing on actual keyboards or whatever is commonly used.</extracomment>
<translation>Spacja</translation>
</message>
<message>
@@ -9441,7 +9483,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QWidget</name>
<message>
- <location filename="../src/gui/kernel/qwidget.cpp" line="+5809"/>
+ <location filename="../src/gui/kernel/qwidget.cpp" line="+5814"/>
<source>*</source>
<translation>*</translation>
</message>
@@ -9664,7 +9706,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<message>
<location line="-7"/>
<source>tag mismatch</source>
- <translation>niepoprawny tag</translation>
+ <translation>niezgodny tag</translation>
</message>
<message>
<location line="+2"/>
@@ -9684,7 +9726,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<message>
<location line="-11"/>
<source>version expected while reading the XML declaration</source>
- <translation>oczekiwana wersja podczas czytania deklaracji XML</translation>
+ <translation>oczekiwano wersji podczas czytania deklaracji XML</translation>
</message>
<message>
<location line="+1"/>
@@ -9826,7 +9868,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<message>
<location line="+516"/>
<source>Start tag expected.</source>
- <translation>Oczekiwano tagu start.</translation>
+ <translation>Oczekiwano rozpoczęcia tagu.</translation>
</message>
<message>
<location line="+222"/>
@@ -10052,12 +10094,12 @@ Proszę wybrać inną nazwę pliku.</translation>
<message>
<location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+88"/>
<source>Type error in cast, expected %1, received %2.</source>
- <translation>Błąd typów w rzutowaniu: spodziewano się %1, otrzymano %2.</translation>
+ <translation>Błąd typów w rzutowaniu: oczekiwano %1, otrzymano %2.</translation>
</message>
<message>
<location line="+29"/>
<source>When casting to %1 or types derived from it, the source value must be of the same type, or it must be a string literal. Type %2 is not allowed.</source>
- <translation>Podczas rzutowania na %1 lub na typ pochodny, wartość źródłowa musi być tego samego typu lub musi być zapisem tekstowym. Typ %2 nie jest dozwolony.</translation>
+ <translation>Podczas rzutowania na %1 lub na typ pochodny, wartość źródłowa musi być tego samego typu lub musi być stałą znakową. Typ %2 nie jest dozwolony.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+67"/>
@@ -10354,7 +10396,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<message>
<location line="-5902"/>
<source>%1 is not a valid numeric literal.</source>
- <translation>%1 nie jest poprawnym zapisem liczbowym.</translation>
+ <translation>%1 nie jest poprawną stałą liczbową.</translation>
</message>
<message>
<location line="-152"/>
@@ -10419,7 +10461,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<message>
<location line="+179"/>
<source>When function %1 is used for matching inside a pattern, the argument must be a variable reference or a string literal.</source>
- <translation>Gdy funkcja %1 jest wykorzystana do dopasowania wewnątrz wzorca, jej argument musi być referencją do zmiennej lub napisem.</translation>
+ <translation>Gdy funkcja %1 jest wykorzystana do dopasowania wewnątrz wzorca, jej argument musi być referencją do zmiennej lub stałą znakową.</translation>
</message>
<message>
<location line="+11"/>
@@ -11541,7 +11583,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<message>
<location filename="../src/xmlpatterns/schema/qxsdschemaparser.cpp" line="+170"/>
<source>Can not process unknown element %1, expected elements are: %2.</source>
- <translation>Nie można przetworzyć nieznanego elementu %1, spodziewanymi elementami są: %2.</translation>
+ <translation>Nie można przetworzyć nieznanego elementu %1, oczekiwanymi elementami są: %2.</translation>
</message>
<message>
<location line="+13"/>