Merge remote-tracking branch 'origin/5.8' into dev
Blacklist tst_QMenuBar::taskQTBUG46812_doNotLeaveMenubarHighlighted() on macOS. Conflicts: mkspecs/features/mac/default_post.prf mkspecs/features/mac/sdk.prf mkspecs/features/uikit/default_post.prf mkspecs/features/uikit/sdk.prf src/angle/src/libEGL/libEGL.pro src/platformsupport/fontdatabases/fontdatabases.pro src/platformsupport/platformsupport.pro src/plugins/platforms/cocoa/qnswindowdelegate.mm src/plugins/platforms/direct2d/qwindowsdirect2dintegration.cpp src/plugins/platforms/ios/ios.pro src/plugins/platforms/ios/kernel.pro tests/auto/widgets/widgets/qmenubar/BLACKLIST tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp Task-number: QTBUG-56853 Change-Id: If58785210feee3550892fc7768cce90e75a2416c
This commit is contained in:
commit
d7e4980132
@ -217,8 +217,6 @@ sub classNames {
|
||||
$$requires = "";
|
||||
|
||||
my $ihdrbase = basename($iheader);
|
||||
my $classname = $classnames{$ihdrbase};
|
||||
push @ret, split(/,/, $classname) if ($classname);
|
||||
|
||||
my $parsable = "";
|
||||
if(open(F, "<$iheader")) {
|
||||
@ -928,6 +926,7 @@ foreach my $lib (@modules_to_sync) {
|
||||
my $pri_install_classes = "";
|
||||
my $pri_install_files = "";
|
||||
my $pri_install_pfiles = "";
|
||||
my $pri_install_ipfiles = "";
|
||||
my $pri_install_qpafiles = "";
|
||||
my $pri_injections = "";
|
||||
my $pri_clean_files = "";
|
||||
@ -1042,7 +1041,11 @@ foreach my $lib (@modules_to_sync) {
|
||||
&& $header =~ /_p\.h$/ && $subdir !~ /3rdparty/;
|
||||
check_header($lib, $header, $iheader, $public_header, $private_header);
|
||||
}
|
||||
my @classes = $public_header && (!$minimal && $is_qt) ? classNames($iheader, \$clean_header, \$requires) : ();
|
||||
my @classes = ();
|
||||
push @classes, classNames($iheader, \$clean_header, \$requires)
|
||||
if (!$shadow && $public_header && !$minimal && $is_qt);
|
||||
my $classname = $classnames{$header};
|
||||
push @classes, split(/,/, $classname) if ($classname);
|
||||
if($showonly) {
|
||||
print "$header [$lib]\n";
|
||||
foreach(@classes) {
|
||||
@ -1096,6 +1099,9 @@ foreach my $lib (@modules_to_sync) {
|
||||
elsif ($qpa_header) {
|
||||
$pri_install_qpafiles.= "$pri_install_iheader ";;
|
||||
}
|
||||
elsif ($shadow) {
|
||||
$pri_install_ipfiles .= "$pri_install_iheader ";
|
||||
}
|
||||
else {
|
||||
$pri_install_pfiles.= "$pri_install_iheader ";;
|
||||
}
|
||||
@ -1240,6 +1246,7 @@ foreach my $lib (@modules_to_sync) {
|
||||
$headers_pri_contents .= "SYNCQT.HEADER_FILES = $pri_install_files\n";
|
||||
$headers_pri_contents .= "SYNCQT.HEADER_CLASSES = $pri_install_classes\n";
|
||||
$headers_pri_contents .= "SYNCQT.PRIVATE_HEADER_FILES = $pri_install_pfiles\n";
|
||||
$headers_pri_contents .= "SYNCQT.INJECTED_PRIVATE_HEADER_FILES = $pri_install_ipfiles\n";
|
||||
$headers_pri_contents .= "SYNCQT.QPA_HEADER_FILES = $pri_install_qpafiles\n";
|
||||
$headers_pri_contents .= "SYNCQT.CLEAN_HEADER_FILES = $pri_clean_files\n";
|
||||
$headers_pri_contents .= "SYNCQT.INJECTIONS = $pri_injections\n";
|
||||
|
@ -1,6 +1 @@
|
||||
mingw {
|
||||
TMPPATH = $$(INCLUDE)
|
||||
QMAKE_INCDIR_POST += $$split(TMPPATH, $$QMAKE_DIRLIST_SEP)
|
||||
TMPPATH = $$(LIB)
|
||||
QMAKE_LIBDIR_POST += $$split(TMPPATH, $$QMAKE_DIRLIST_SEP)
|
||||
}
|
||||
# This file exists only to detach the tests from the surroundings.
|
||||
|
1
config.tests/win/msvc_version.cpp
Normal file
1
config.tests/win/msvc_version.cpp
Normal file
@ -0,0 +1 @@
|
||||
_MSC_FULL_VER
|
@ -247,11 +247,12 @@ defineTest(qtConfTest_checkCompiler) {
|
||||
$${1}.compilerId = "icc"
|
||||
$${1}.compilerVersion = $$replace(version, "icpc version ([0-9.]+).*", "\\1")
|
||||
} else: msvc {
|
||||
qtRunLoggedCommand("$$QMAKE_CXX /? 2>&1", version)|return(false)
|
||||
command = $$QMAKE_CXX /EP /nologo $$source $$system_quote($$QMAKE_CONFIG_TESTS_DIR/win/msvc_version.cpp)
|
||||
qtRunLoggedCommand("$$command", version)|return(false)
|
||||
version = "$$version"
|
||||
$${1}.compilerDescription = "MSVC"
|
||||
$${1}.compilerId = "cl"
|
||||
$${1}.compilerVersion = $$replace(version, "^.*Compiler Version ([0-9.]+) for.*$", "\\1")
|
||||
$${1}.compilerVersion = $$replace(version, "^.*([0-9]{2})([0-9]{2})([0-9]{5}).*$", "\\1.\\2.\\3")
|
||||
} else {
|
||||
return(false)
|
||||
}
|
||||
@ -325,8 +326,9 @@ defineTest(qtConfOutput_qreal) {
|
||||
defineTest(qtConfOutput_pkgConfig) {
|
||||
!$${2}: return()
|
||||
|
||||
PKG_CONFIG = $$eval($${currentConfig}.tests.pkg-config.pkgConfig)
|
||||
export(PKG_CONFIG)
|
||||
PKG_CONFIG_EXECUTABLE = $$eval($${currentConfig}.tests.pkg-config.pkgConfig)
|
||||
qtConfOutputVar(assign, "privatePro", "PKG_CONFIG_EXECUTABLE", $$PKG_CONFIG_EXECUTABLE)
|
||||
export(PKG_CONFIG_EXECUTABLE)
|
||||
# this method also exports PKG_CONFIG_(LIB|SYSROOT)DIR, so that tests using pkgConfig will work correctly
|
||||
PKG_CONFIG_SYSROOT_DIR = $$eval($${currentConfig}.tests.pkg-config.pkgConfigSysrootDir)
|
||||
!isEmpty(PKG_CONFIG_SYSROOT_DIR) {
|
||||
|
@ -474,7 +474,7 @@
|
||||
*/
|
||||
|
||||
/*!
|
||||
\externalpage http://git.iksaif.net/?p=qsslkey-p11.git
|
||||
\externalpage https://github.com/iksaif/qsslkey-p11
|
||||
\title qsslkey example
|
||||
*/
|
||||
|
||||
|
@ -7,7 +7,6 @@ defines += Q_QDOC \
|
||||
QT_KEYPAD_NAVIGATION \
|
||||
QT_NO_EGL \
|
||||
QT3_SUPPORT \
|
||||
Q_DEAD_CODE_FROM_QT4_.* \
|
||||
Q_OS_.* \
|
||||
Q_BYTE_ORDER \
|
||||
QT_DEPRECATED \
|
||||
|
@ -1,4 +1,4 @@
|
||||
pre {
|
||||
pre, .LegaleseLeft {
|
||||
background-color: #f0f0f0;
|
||||
font-family: Courier, monospace;
|
||||
font-weight: 600;
|
||||
|
@ -18,8 +18,12 @@ img {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.content {
|
||||
.content .border img {
|
||||
box-shadow:3px 3px 8px 3px rgba(200,200,200,0.5)
|
||||
}
|
||||
|
||||
.content .border .player {
|
||||
box-shadow:3px 3px 8px 3px rgba(200,200,200,0.5)
|
||||
}
|
||||
|
||||
.content .indexboxcont li {
|
||||
@ -424,7 +428,7 @@ table styles
|
||||
|
||||
/* table with border alternative colours*/
|
||||
|
||||
table, pre {
|
||||
table, pre, .LegaleseLeft {
|
||||
-moz-border-radius: 7px 7px 7px 7px;
|
||||
-webkit-border-radius: 7px 7px 7px 7px;
|
||||
border-radius: 7px 7px 7px 7px;
|
||||
@ -481,6 +485,10 @@ table, pre {
|
||||
margin: 0px
|
||||
}
|
||||
|
||||
.LegaleseLeft {
|
||||
font-family: monospace;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
/* table bodless & white*/
|
||||
|
||||
.borderless {
|
||||
@ -543,7 +551,7 @@ ol.a > li{
|
||||
text-align: left
|
||||
}
|
||||
|
||||
.cpp {
|
||||
.cpp, .LegaleseLeft {
|
||||
display: block;
|
||||
margin: 10px;
|
||||
overflow: auto;
|
||||
|
@ -1280,6 +1280,12 @@ li a.active {
|
||||
margin-top:0.75em;
|
||||
max-width:100%
|
||||
}
|
||||
.context .border img {
|
||||
box-shadow:3px 3px 8px 3px rgba(200,200,200,0.5)
|
||||
}
|
||||
.context .border .player {
|
||||
box-shadow:3px 3px 8px 3px rgba(200,200,200,0.5)
|
||||
}
|
||||
.context table {
|
||||
vertical-align:initial
|
||||
}
|
||||
@ -1364,7 +1370,7 @@ div.qt_commercial {
|
||||
border-top:5px solid #5caa15;
|
||||
margin-bottom:50px
|
||||
}
|
||||
pre {
|
||||
pre, .LegaleseLeft {
|
||||
background-color:#404244;
|
||||
color:#fff;
|
||||
display:block;
|
||||
@ -1375,6 +1381,10 @@ pre {
|
||||
padding:25px;
|
||||
margin-top:0.75em
|
||||
}
|
||||
.mainContent .LegaleseLeft p {
|
||||
color:#fff;
|
||||
white-space: pre-wrap
|
||||
}
|
||||
.copy_text {
|
||||
background-color:#46a2da;
|
||||
color:#fff;
|
||||
|
@ -261,7 +261,7 @@
|
||||
|
||||
\snippet widgets/calculator/calculator.cpp 20
|
||||
|
||||
Like in \c additiveOperatorClicked(), we start by handing any
|
||||
Like in \c additiveOperatorClicked(), we start by handling any
|
||||
pending multiplicative and additive operators. Then we display \c
|
||||
sumSoFar and reset the variable to zero. Resetting the variable
|
||||
to zero is necessary to avoid counting the value twice.
|
||||
|
@ -128,7 +128,7 @@ void ColorEdit::mousePressEvent(QMouseEvent *event)
|
||||
QColorDialog dialog(color, 0);
|
||||
dialog.setOption(QColorDialog::ShowAlphaChannel, true);
|
||||
// The ifdef block is a workaround for the beta, TODO: remove when bug 238525 is fixed
|
||||
#ifdef Q_DEAD_CODE_FROM_QT4_MAC
|
||||
#if 0 // Used to be included in Qt4 for Q_WS_MAC
|
||||
dialog.setOption(QColorDialog::DontUseNativeDialog, true);
|
||||
#endif
|
||||
dialog.move(280, 120);
|
||||
|
@ -53,7 +53,7 @@
|
||||
#include "languagechooser.h"
|
||||
#include "mainwindow.h"
|
||||
|
||||
#ifdef Q_DEAD_CODE_FROM_QT4_MAC
|
||||
#if 0 // Used to be included in Qt4 for Q_WS_MAC
|
||||
QT_BEGIN_NAMESPACE
|
||||
extern void qt_mac_set_menubar_merge(bool merge);
|
||||
QT_END_NAMESPACE
|
||||
@ -92,7 +92,7 @@ LanguageChooser::LanguageChooser(const QString& defaultLang, QWidget *parent)
|
||||
mainLayout->addWidget(buttonBox);
|
||||
setLayout(mainLayout);
|
||||
|
||||
#ifdef Q_DEAD_CODE_FROM_QT4_MAC
|
||||
#if 0 // Used to be included in Qt4 for Q_WS_MAC
|
||||
qt_mac_set_menubar_merge(false);
|
||||
#endif
|
||||
|
||||
|
@ -15,8 +15,8 @@ SOURCES = main.cpp \
|
||||
|
||||
LIBS = -L../plugins
|
||||
|
||||
macx-xcode:qtConfig(simulator_and_device) {
|
||||
LIBS += -lpnp_basictools$($${QMAKE_XCODE_LIBRARY_PLATFORM_SUFFIX_SETTING})$($${QMAKE_XCODE_LIBRARY_SUFFIX_SETTING})
|
||||
macx-xcode {
|
||||
LIBS += -lpnp_basictools$($${QMAKE_XCODE_LIBRARY_SUFFIX_SETTING})
|
||||
} else {
|
||||
LIBS += -lpnp_basictools
|
||||
if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
|
||||
|
@ -14,4 +14,4 @@ target.path = $$[QT_INSTALL_EXAMPLES]/widgets/tools/plugandpaint/plugins
|
||||
INSTALLS += target
|
||||
|
||||
CONFIG += install_ok # Do not cargo-cult this!
|
||||
uikit: CONFIG += debug_and_release simulator_and_device
|
||||
uikit: CONFIG += debug_and_release
|
||||
|
@ -14,4 +14,4 @@ target.path = $$[QT_INSTALL_EXAMPLES]/widgets/tools/plugandpaint/plugins
|
||||
INSTALLS += target
|
||||
|
||||
CONFIG += install_ok # Do not cargo-cult this!
|
||||
uikit: CONFIG += debug_and_release simulator_and_device
|
||||
uikit: CONFIG += debug_and_release
|
||||
|
@ -55,7 +55,7 @@ while (<STDIN>) {
|
||||
my $comment = " /* $1 */";
|
||||
while (my $line = <HDR>) {
|
||||
# Match a struct or class declaration, but not a forward declaration
|
||||
$line =~ /^(?:struct|class) (?:Q_.*_EXPORT)? (\w+)(?!;)/ or next;
|
||||
$line =~ /^(?:struct|class|namespace) (?:Q_.*_EXPORT)? (\w+)(?!;)/ or next;
|
||||
print $comment if $comment;
|
||||
printf " *%d%s*;\n", length $1, $1;
|
||||
$comment = 0;
|
||||
|
@ -23,49 +23,4 @@ CONFIG = \
|
||||
unset(today)
|
||||
}
|
||||
|
||||
isEmpty(QMAKE_DEFAULT_INCDIRS):!host_build {
|
||||
#
|
||||
# Get default include and library paths from compiler
|
||||
#
|
||||
gcc {
|
||||
!equals(QMAKE_HOST.os, Windows) {
|
||||
cmd_prefix = "LC_ALL=C"
|
||||
cmd_suffix = "</dev/null >/dev/null"
|
||||
} else {
|
||||
cmd_prefix = "set LC_ALL=C&"
|
||||
cmd_suffix = "<NUL >NUL"
|
||||
}
|
||||
output = $$system("$$cmd_prefix $$QMAKE_CXX $$QMAKE_CXXFLAGS -xc++ -E -v - 2>&1 $$cmd_suffix", lines)
|
||||
add_includes = false
|
||||
for (line, output) {
|
||||
line ~= s/^ *// # remove leading spaces
|
||||
contains(line, "LIBRARY_PATH=.*") {
|
||||
line ~= s/^LIBRARY_PATH=// # remove leading LIBRARY_PATH=
|
||||
paths = $$split(line, $$QMAKE_DIRLIST_SEP)
|
||||
for (path, paths): \
|
||||
QMAKE_DEFAULT_LIBDIRS += $$clean_path($$path)
|
||||
} else: contains(line, "$${LITERAL_HASH}include <.*") { # #include <...> search starts here:
|
||||
add_includes = true
|
||||
} else: contains(line, "End of search.*") {
|
||||
add_includes = false
|
||||
} else: $$add_includes {
|
||||
!contains(line, ".* \\(framework directory\\)"): \
|
||||
QMAKE_DEFAULT_INCDIRS += $$clean_path($$line)
|
||||
}
|
||||
}
|
||||
QMAKE_DEFAULT_LIBDIRS = $$unique(QMAKE_DEFAULT_LIBDIRS)
|
||||
} else: msvc {
|
||||
LIB = $$getenv("LIB")
|
||||
QMAKE_DEFAULT_LIBDIRS = $$split(LIB, $$QMAKE_DIRLIST_SEP)
|
||||
INCLUDE = $$getenv("INCLUDE")
|
||||
QMAKE_DEFAULT_INCDIRS = $$split(INCLUDE, $$QMAKE_DIRLIST_SEP)
|
||||
}
|
||||
|
||||
unix {
|
||||
isEmpty(QMAKE_DEFAULT_INCDIRS): QMAKE_DEFAULT_INCDIRS = /usr/include /usr/local/include
|
||||
isEmpty(QMAKE_DEFAULT_LIBDIRS): QMAKE_DEFAULT_LIBDIRS = /lib /usr/lib
|
||||
}
|
||||
|
||||
!isEmpty(QMAKE_DEFAULT_INCDIRS): cache(QMAKE_DEFAULT_INCDIRS, set stash)
|
||||
!isEmpty(QMAKE_DEFAULT_LIBDIRS): cache(QMAKE_DEFAULT_LIBDIRS, set stash)
|
||||
}
|
||||
load(toolchain)
|
||||
|
@ -1,12 +1,9 @@
|
||||
|
||||
defineTest(addExclusiveBuilds) {
|
||||
lessThan(ARGC, 2): \
|
||||
error("addExclusiveBuilds() requires at least two arguments")
|
||||
|
||||
!$$join(ARGS, _and_):!fix_output_dirs: \
|
||||
defineTest(addExclusiveBuildsProper) {
|
||||
!$$1:!fix_output_dirs: \
|
||||
return(true)
|
||||
|
||||
for(build, ARGS) {
|
||||
for(build, 2) {
|
||||
isEmpty($${build}.name) {
|
||||
$${build}.name = $$title($$build)
|
||||
export($${build}.name)
|
||||
@ -20,7 +17,7 @@ defineTest(addExclusiveBuilds) {
|
||||
export($${build}.dir_affix)
|
||||
}
|
||||
|
||||
$${build}.exclusive = $$ARGS
|
||||
$${build}.exclusive = $$2
|
||||
export($${build}.exclusive)
|
||||
|
||||
QMAKE_EXCLUSIVE_BUILDS += $$build
|
||||
@ -33,6 +30,13 @@ defineTest(addExclusiveBuilds) {
|
||||
return(true)
|
||||
}
|
||||
|
||||
defineTest(addExclusiveBuilds) {
|
||||
lessThan(ARGC, 2): \
|
||||
error("addExclusiveBuilds() requires at least two arguments")
|
||||
|
||||
addExclusiveBuildsProper($$join(ARGS, _and_), $$ARGS)
|
||||
}
|
||||
|
||||
# Default directories to process
|
||||
QMAKE_DIR_REPLACE = OBJECTS_DIR MOC_DIR RCC_DIR PRECOMPILED_DIR QGLTF_DIR DESTDIR
|
||||
QMAKE_DIR_REPLACE_SANE += QGLTF_DIR
|
||||
|
@ -66,7 +66,7 @@ macx-xcode {
|
||||
QMAKE_MAC_XCODE_SETTINGS += only_active_arch
|
||||
} else {
|
||||
VALID_ARCHS =
|
||||
!simulator|simulator_and_device: VALID_ARCHS += $$QMAKE_APPLE_DEVICE_ARCHS
|
||||
device|!simulator: VALID_ARCHS += $$QMAKE_APPLE_DEVICE_ARCHS
|
||||
simulator: VALID_ARCHS += $$QMAKE_APPLE_SIMULATOR_ARCHS
|
||||
|
||||
single_arch: VALID_ARCHS = $$first(VALID_ARCHS)
|
||||
|
@ -1,4 +1,4 @@
|
||||
CONFIG = asset_catalogs sdk rez $$CONFIG
|
||||
CONFIG = asset_catalogs rez $$CONFIG
|
||||
load(default_pre)
|
||||
|
||||
isEmpty(QMAKE_XCODE_DEVELOPER_PATH) {
|
||||
|
@ -1,6 +1,7 @@
|
||||
|
||||
# Objective-C/C++ sources go in SOURCES, like all other sources
|
||||
SOURCES += $$OBJECTIVE_SOURCES
|
||||
unset(OBJECTIVE_SOURCES)
|
||||
|
||||
# Strip C/C++ flags from QMAKE_OBJECTIVE_CFLAGS just in case
|
||||
QMAKE_OBJECTIVE_CFLAGS -= $$QMAKE_CFLAGS $$QMAKE_CXXFLAGS
|
||||
@ -8,3 +9,4 @@ QMAKE_OBJECTIVE_CFLAGS -= $$QMAKE_CFLAGS $$QMAKE_CXXFLAGS
|
||||
# Add Objective-C/C++ flags to C/C++ flags, the compiler can handle it
|
||||
QMAKE_CFLAGS += $$QMAKE_OBJECTIVE_CFLAGS
|
||||
QMAKE_CXXFLAGS += $$QMAKE_OBJECTIVE_CFLAGS
|
||||
unset(QMAKE_OBJECTIVE_CFLAGS)
|
||||
|
@ -54,24 +54,27 @@ for(tool, $$list(QMAKE_CC QMAKE_CXX QMAKE_FIX_RPATH QMAKE_AR QMAKE_RANLIB QMAKE_
|
||||
tvos: deployment_target = $$QMAKE_TVOS_DEPLOYMENT_TARGET
|
||||
watchos: deployment_target = $$QMAKE_WATCHOS_DEPLOYMENT_TARGET
|
||||
|
||||
!simulator|simulator_and_device: device_archs = $$QMAKE_APPLE_DEVICE_ARCHS
|
||||
device|!simulator: device_archs = $$QMAKE_APPLE_DEVICE_ARCHS
|
||||
simulator: simulator_archs = $$QMAKE_APPLE_SIMULATOR_ARCHS
|
||||
archs = $$device_archs $$simulator_archs
|
||||
|
||||
isEmpty(archs): \
|
||||
error("QMAKE_APPLE_DEVICE_ARCHS or QMAKE_APPLE_SIMULATOR_ARCHS must contain at least one architecture")
|
||||
|
||||
single_arch {
|
||||
device_archs = $$first(device_archs)
|
||||
simulator_archs = $$first(simulator_archs)
|
||||
archs = $$first(archs)
|
||||
}
|
||||
|
||||
# If we're doing a simulator_and_device build, device and simulator architectures
|
||||
# If we're doing a simulator and device build, device and simulator architectures
|
||||
# use different paths and flags for the sysroot and deployment target switch, so we
|
||||
# must multiplex them across multiple architectures using -Xarch. Otherwise we fall
|
||||
# back to the simple path. This is not strictly necessary but results in cleaner
|
||||
# command lines and makes it easier for people to override EXPORT_VALID_ARCHS to
|
||||
# limit individual rules to a different set of architecture(s) from the overall
|
||||
# build (such as machtest in QtCore).
|
||||
simulator_and_device {
|
||||
simulator:device {
|
||||
QMAKE_XARCH_CFLAGS =
|
||||
QMAKE_XARCH_LFLAGS =
|
||||
QMAKE_EXTRA_VARIABLES += QMAKE_XARCH_CFLAGS QMAKE_XARCH_LFLAGS
|
||||
|
5
mkspecs/features/mac/toolchain.prf
Normal file
5
mkspecs/features/mac/toolchain.prf
Normal file
@ -0,0 +1,5 @@
|
||||
# Ensure that we process sdk.prf first, as it will update QMAKE_CXX,
|
||||
# which the default path determination uses.
|
||||
sdk: load(sdk)
|
||||
|
||||
load(toolchain)
|
@ -79,7 +79,7 @@ moc_source.CONFIG = no_link moc_verify
|
||||
moc_source.dependency_type = TYPE_C
|
||||
moc_source.commands = ${QMAKE_FUNC_mocCmdBase} ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
|
||||
moc_source.output = $$MOC_DIR/$${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}$${QMAKE_EXT_CPP_MOC}
|
||||
moc_source.input = SOURCES OBJECTIVE_SOURCES
|
||||
moc_source.input = SOURCES
|
||||
moc_source.name = MOC ${QMAKE_FILE_IN}
|
||||
moc_source.depends += $$WIN_INCLUDETEMP $$moc_predefs.output
|
||||
silent:moc_source.commands = @echo moc ${QMAKE_FILE_IN} && $$moc_source.commands
|
||||
|
@ -15,7 +15,6 @@ TEMPLATE = lib
|
||||
CONFIG += plugin
|
||||
|
||||
if(win32|mac):!macx-xcode {
|
||||
qtConfig(simulator_and_device): CONFIG += simulator_and_device
|
||||
qtConfig(debug_and_release): CONFIG += debug_and_release
|
||||
qtConfig(build_all): CONFIG += build_all
|
||||
}
|
||||
|
@ -1,3 +0,0 @@
|
||||
qtConfig(system-freetype) {
|
||||
QMAKE_USE_PRIVATE += freetype/linkonly
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
CONFIG += qpa/basicunixfontdatabase
|
||||
qtConfig(fontconfig) {
|
||||
DEFINES += Q_FONTCONFIGDATABASE
|
||||
QMAKE_USE_PRIVATE += fontconfig/linkonly
|
||||
}
|
||||
|
@ -71,6 +71,7 @@ for(ever) {
|
||||
MODULE_INCLUDES = $$eval(QT.$${QTLIB}.includes)
|
||||
MODULE_LIBS = $$eval(QT.$${QTLIB}.libs)
|
||||
MODULE_FRAMEWORKS = $$eval(QT.$${QTLIB}.frameworks)
|
||||
MODULE_USES = $$eval(QT.$${QTLIB}.uses)
|
||||
MODULE_CONFIG = $$eval(QT.$${QTLIB}.module_config)
|
||||
|
||||
isEmpty(MODULE_NAME) {
|
||||
@ -141,6 +142,7 @@ for(ever) {
|
||||
}
|
||||
}
|
||||
}
|
||||
QMAKE_USE$$var_sfx += $$MODULE_USES
|
||||
# Add capabilities as defined by modules used in the project
|
||||
winrt {
|
||||
MODULE_WINRT_CAPABILITIES = $$eval(QT.$${QTLIB}.winrt_capabilities)
|
||||
@ -290,7 +292,8 @@ contains(TEMPLATE, .*app) {
|
||||
autoplugs =
|
||||
for (qtmod, qt_module_deps) {
|
||||
for (ptype, QT.$${qtmod}.plugin_types) {
|
||||
isEmpty(QTPLUGIN.$$ptype) {
|
||||
nptype = $$replace(ptype, [-/], _)
|
||||
isEmpty(QTPLUGIN.$$nptype) {
|
||||
for (plug, QT_PLUGINS) {
|
||||
equals(QT_PLUGIN.$${plug}.TYPE, $$ptype) {
|
||||
for (dep, QT_PLUGIN.$${plug}.EXTENDS) {
|
||||
@ -303,7 +306,7 @@ contains(TEMPLATE, .*app) {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
plug = $$eval(QTPLUGIN.$$ptype)
|
||||
plug = $$eval(QTPLUGIN.$$nptype)
|
||||
!equals(plug, -): \
|
||||
autoplugs += $$plug
|
||||
}
|
||||
|
@ -36,3 +36,27 @@ INSTALLS += target
|
||||
|
||||
load(qt_targets)
|
||||
load(qt_common)
|
||||
|
||||
no_launch_target: return()
|
||||
|
||||
load(resolve_target)
|
||||
launch.commands = $$shell_quote($$shell_path($$QMAKE_RESOLVED_TARGET))
|
||||
QMAKE_EXTRA_TARGETS += launch
|
||||
|
||||
# Add environment for non-installed builds.
|
||||
QT_TOOL_NAME = target
|
||||
qtAddTargetEnv(launch.commands, QT)
|
||||
|
||||
isEmpty(BUILDS)|build_pass {
|
||||
launch.depends = first
|
||||
} else {
|
||||
# For exclusive builds, run the app only once.
|
||||
launch.CONFIG = recursive
|
||||
launch.target = launch_all
|
||||
launch.recurse_target = launch
|
||||
launch.commands =
|
||||
|
||||
launch_first.depends = $$eval($$first(BUILDS).target)-launch
|
||||
launch_first.target = launch
|
||||
QMAKE_EXTRA_TARGETS += launch_first
|
||||
}
|
||||
|
@ -376,7 +376,7 @@ defineReplace(qtConfPkgConfig) {
|
||||
$$host {
|
||||
pkg_config = $$qtConfFindInPath("pkg-config")
|
||||
} else {
|
||||
pkg_config = "$$qtConfPkgConfigEnv()$$PKG_CONFIG"
|
||||
pkg_config = "$$qtConfPkgConfigEnv()$$PKG_CONFIG_EXECUTABLE"
|
||||
}
|
||||
|
||||
return($$pkg_config)
|
||||
@ -557,18 +557,6 @@ defineReplace(qtConfLibraryArgs) {
|
||||
return($$qmake_args)
|
||||
}
|
||||
|
||||
defineReplace(qtConfGetHexVersion) {
|
||||
version = $$split(1, '.')
|
||||
number =
|
||||
for(i, 0..2) {
|
||||
n = $$member(version, $$i)
|
||||
isEmpty(n): n = 0
|
||||
number += $$format_number($$n, obase=16 zeropad width=2)
|
||||
}
|
||||
number = "0x$$join(number)"
|
||||
return($$number)
|
||||
}
|
||||
|
||||
defineTest(qtConfExportLibrary) {
|
||||
isEmpty(2): return()
|
||||
!$$qtConfEvaluate($$eval($${1}.export)): return()
|
||||
@ -578,7 +566,6 @@ defineTest(qtConfExportLibrary) {
|
||||
eval(libs = $$eval($${1}.libs))
|
||||
eval(cflags = $$eval($${1}.cflags))
|
||||
eval(includes = $$eval($${1}.includedir))
|
||||
version = $$eval($${1}.version)
|
||||
|
||||
# Split $$cflags into stuff that goes into DEFINES, INCLUDEPATH, and other stuff.
|
||||
defines =
|
||||
@ -606,14 +593,6 @@ defineTest(qtConfExportLibrary) {
|
||||
$$eval($${1}.builds.$${b}))
|
||||
!isEmpty(defines): qtConfOutputVar(assign, $$output, QMAKE_DEFINES_$$NAME, $$defines)
|
||||
!isEmpty(includes): qtConfOutputVar(assign, $$output, QMAKE_INCDIR_$$NAME, $$includes)
|
||||
!isEmpty(version) {
|
||||
qtConfOutputVar(assign, $$output, QMAKE_$${NAME}_VERSION, $$version)
|
||||
qtConfOutputSetDefine("privateHeader", "QT_LIBRARY_VERSION_$${2}", $$qtConfGetHexVersion($$version))
|
||||
version = $$split(version, '.')
|
||||
qtConfOutputVar(assign, $$output, QMAKE_$${NAME}_VERSION_MAJOR, $$member(version, 0))
|
||||
qtConfOutputVar(assign, $$output, QMAKE_$${NAME}_VERSION_MINOR, $$member(version, 1))
|
||||
qtConfOutputVar(assign, $$output, QMAKE_$${NAME}_VERSION_PATCH, $$member(version, 2))
|
||||
}
|
||||
!isEmpty($${currentConfig}.module): \
|
||||
qtConfExtendVar($$output, "QT.$${currentModule}_private.libraries", $$2)
|
||||
}
|
||||
@ -623,6 +602,8 @@ defineTest(qtConfHandleLibrary) {
|
||||
defined($${lpfx}.result, var): return()
|
||||
|
||||
qtConfEnsureTestTypeDeps("library")
|
||||
qtConfTestPrepare_compile($$lpfx)
|
||||
use_args = $$eval($${lpfx}.literal_args)
|
||||
|
||||
qtConfLoadResult($${lpfx}, $$1) {
|
||||
$$eval($${lpfx}.result): \
|
||||
@ -636,7 +617,6 @@ defineTest(qtConfHandleLibrary) {
|
||||
|
||||
result = false
|
||||
for (s, $${lpfx}.sources._KEYS_) {
|
||||
qtLog("Trying source $$s of library $${1}.")
|
||||
spfx = $${lpfx}.sources.$${s}
|
||||
|
||||
t = $$eval($${spfx}.type)
|
||||
@ -644,26 +624,30 @@ defineTest(qtConfHandleLibrary) {
|
||||
!defined($$call, test): \
|
||||
error("Library $${1} source $${s} has unknown type '$$t'")
|
||||
|
||||
qtLog("Trying source $$s (type $$t) of library $${1} ...")
|
||||
|
||||
!$$qtConfEvaluate($$eval($${spfx}.condition)) {
|
||||
qtLog("Source $$s of library $$1 failed condition.")
|
||||
qtLog(" => source failed condition.")
|
||||
next()
|
||||
}
|
||||
|
||||
!$${call}($$spfx) {
|
||||
qtLog("Source $$s of library $$1 produced no result.")
|
||||
qtLog(" => source produced no result.")
|
||||
next()
|
||||
}
|
||||
|
||||
# if the library defines a test, use it to verify the source.
|
||||
!isEmpty($${lpfx}.test) {
|
||||
$${lpfx}.literal_args = $$qtConfLibraryArgs($$spfx)
|
||||
$${lpfx}.literal_args = $$use_args $$qtConfLibraryArgs($$spfx)
|
||||
$${lpfx}.host = $$eval($${spfx}.host)
|
||||
!qtConfTest_compile($$lpfx) {
|
||||
qtLog("Source $$s of library $$1 failed verification.")
|
||||
qtLog(" => source failed verification.")
|
||||
next()
|
||||
}
|
||||
}
|
||||
|
||||
qtLog(" => source accepted.")
|
||||
|
||||
$${lpfx}.cache += source
|
||||
for (v, $$list(libs includes cflags version export)): \
|
||||
$${lpfx}.cache += sources.$${s}.$${v}
|
||||
|
@ -15,16 +15,40 @@ TEMPLATE = lib
|
||||
CONFIG -= qt
|
||||
QT = # In case qt is re-added.
|
||||
|
||||
INCLUDEPATH += $$MODULE_INCLUDEPATH
|
||||
DEFINES += $$MODULE_DEFINES
|
||||
|
||||
CONFIG -= warning_clean # Don't presume 3rd party code to be clean
|
||||
load(qt_common)
|
||||
|
||||
qtConfig(simulator_and_device): CONFIG += simulator_and_device
|
||||
qtConfig(debug_and_release): CONFIG += debug_and_release
|
||||
qtConfig(build_all): CONFIG += build_all
|
||||
|
||||
DESTDIR = $$MODULE_BASE_OUTDIR/lib
|
||||
DLLDESTDIR = $$MODULE_BASE_OUTDIR/bin
|
||||
|
||||
!build_pass {
|
||||
MODULE = $$replace(TARGET, ^qt, )
|
||||
MODULE_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules/qt_ext_$${MODULE}.pri
|
||||
ucmodule = $$upper($$MODULE)
|
||||
|
||||
MODULE_PRI_CONT = \
|
||||
"QMAKE_INCDIR_$${ucmodule} = $$val_escape(MODULE_INCLUDEPATH)" \
|
||||
"QMAKE_DEFINES_$${ucmodule} = $$val_escape(MODULE_DEFINES)"
|
||||
MODULE_LIBS = -L$$DESTDIR -l$$TARGET
|
||||
debug_and_release {
|
||||
win32: MODULE_DEBUG_LIBS = -L$$DESTDIR -l$${TARGET}d
|
||||
darwin: MODULE_DEBUG_LIBS = -L$$DESTDIR -l$${TARGET}_debug
|
||||
MODULE_PRI_CONT += \
|
||||
"QMAKE_LIBS_$${ucmodule}_DEBUG = $$val_escape(MODULE_DEBUG_LIBS)" \
|
||||
"QMAKE_LIBS_$${ucmodule}_RELEASE = $$val_escape(MODULE_LIBS)"
|
||||
} else {
|
||||
MODULE_PRI_CONT += \
|
||||
"QMAKE_LIBS_$${ucmodule} = $$val_escape(MODULE_LIBS)"
|
||||
}
|
||||
write_file($$MODULE_PRI, MODULE_PRI_CONT)|error()
|
||||
}
|
||||
|
||||
# In static builds of Qt, convenience libraries must be installed,
|
||||
# as in this case they are not linked to the final library/plugin.
|
||||
installed|if(!not_installed:qtConfig(static)): load(qt_installs)
|
||||
|
@ -36,7 +36,7 @@ qt_install_headers {
|
||||
targ_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME
|
||||
INSTALLS += targ_headers
|
||||
|
||||
private_headers.files = $$SYNCQT.PRIVATE_HEADER_FILES
|
||||
private_headers.files = $$SYNCQT.PRIVATE_HEADER_FILES $$SYNCQT.INJECTED_PRIVATE_HEADER_FILES
|
||||
private_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private
|
||||
INSTALLS += private_headers
|
||||
|
||||
|
@ -13,6 +13,11 @@ isEmpty(MODULE):MODULE = $$section($$list($$basename(_PRO_FILE_)), ., 0, 0)
|
||||
isEmpty(VERSION): VERSION = $$MODULE_VERSION
|
||||
isEmpty(VERSION): error("Module does not define version.")
|
||||
|
||||
exists($$OUT_PWD/qt$${MODULE}-config.pri) {
|
||||
include($$OUT_PWD/qt$${MODULE}-config.pri)
|
||||
CONFIG += generated_privates
|
||||
}
|
||||
|
||||
# Compile as shared/DLL or static according to the option given to configure
|
||||
# unless overridden. Host builds are always static
|
||||
host_build|staticlib: CONFIG += static
|
||||
@ -79,15 +84,16 @@ INCLUDEPATH *= $$eval(QT.$${MODULE}.includes) $$eval(QT.$${MODULE}_private.inclu
|
||||
# If Qt was configured with -debug-and-release then build the module the same way
|
||||
# - unless this is a host library
|
||||
!host_build:if(win32|mac):!macx-xcode {
|
||||
qtConfig(simulator_and_device): CONFIG += simulator_and_device
|
||||
qtConfig(debug_and_release): CONFIG += debug_and_release
|
||||
qtConfig(build_all): CONFIG += build_all
|
||||
}
|
||||
|
||||
QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF
|
||||
|
||||
QT += $$QT_FOR_PRIVATE
|
||||
QT_PRIVATE += $$QT_FOR_PRIVATE
|
||||
unset(QT_FOR_PRIVATE)
|
||||
QMAKE_USE_PRIVATE += $$QMAKE_USE_FOR_PRIVATE
|
||||
unset(QMAKE_USE_FOR_PRIVATE)
|
||||
|
||||
!internal_module:CONFIG += create_cmake
|
||||
|
||||
@ -114,7 +120,7 @@ lib_bundle {
|
||||
FRAMEWORK_HEADERS.files = $$SYNCQT.HEADER_FILES $$SYNCQT.HEADER_CLASSES
|
||||
FRAMEWORK_HEADERS.path = Headers
|
||||
FRAMEWORK_PRIVATE_HEADERS.version = Versions
|
||||
FRAMEWORK_PRIVATE_HEADERS.files = $$SYNCQT.PRIVATE_HEADER_FILES
|
||||
FRAMEWORK_PRIVATE_HEADERS.files = $$SYNCQT.PRIVATE_HEADER_FILES $$SYNCQT.INJECTED_PRIVATE_HEADER_FILES
|
||||
FRAMEWORK_PRIVATE_HEADERS.path = Headers/$$VERSION/$$MODULE_INCNAME/private
|
||||
FRAMEWORK_QPA_HEADERS.version = Versions
|
||||
FRAMEWORK_QPA_HEADERS.files = $$SYNCQT.QPA_HEADER_FILES
|
||||
|
@ -113,7 +113,7 @@ exists($$OUT_PWD/qt$${MODULE}-config.h) {
|
||||
$$fwd_rel/qt$${MODULE}-config_p.h:$$MODULE_VERSION/$$MODULE_INCNAME/private/qt$${MODULE}-config_p.h
|
||||
inst_rel = $$relative_path($$OUT_PWD, $$_PRO_FILE_PWD_)
|
||||
SYNCQT.HEADER_FILES += $$inst_rel/qt$${MODULE}-config.h
|
||||
SYNCQT.PRIVATE_HEADER_FILES += $$inst_rel/qt$${MODULE}-config_p.h
|
||||
SYNCQT.INJECTED_PRIVATE_HEADER_FILES += $$inst_rel/qt$${MODULE}-config_p.h
|
||||
}
|
||||
|
||||
for (injection, SYNCQT.INJECTIONS) {
|
||||
|
@ -35,9 +35,6 @@ else: \
|
||||
MODULE_PRI = $$mod_inst_pfx/qt_lib_$${MODULE_ID}.pri
|
||||
MODULE_FWD_PRI = $$mod_work_pfx/qt_lib_$${MODULE_ID}.pri
|
||||
|
||||
exists($$OUT_PWD/qt$${MODULE}-config.pri): \
|
||||
include($$OUT_PWD/qt$${MODULE}-config.pri)
|
||||
|
||||
defineReplace(qtGetFeaturesForModule) {
|
||||
enabled = $$unique(QT.$${1}.enabled_features)
|
||||
disabled = $$unique(QT.$${1}.disabled_features)
|
||||
@ -60,8 +57,7 @@ defineReplace(qtExportLibsForModule) {
|
||||
NAME = $$upper($$lib)
|
||||
vars = \
|
||||
QMAKE_LIBS_$$NAME QMAKE_LIBS_$${NAME}_DEBUG QMAKE_LIBS_$${NAME}_RELEASE \
|
||||
QMAKE_CFLAGS_$$NAME QMAKE_INCDIR_$$NAME QMAKE_$${NAME}_VERSION \
|
||||
QMAKE_$${NAME}_VERSION_MAJOR QMAKE_$${NAME}_VERSION_MINOR QMAKE_$${NAME}_VERSION_PATCH
|
||||
QMAKE_DEFINES_$$NAME QMAKE_INCDIR_$$NAME
|
||||
for (var, vars) {
|
||||
!isEmpty($$var): \
|
||||
result += "$$var = $$val_escape($$var)"
|
||||
@ -105,7 +101,7 @@ defineReplace(qtExportLibsForModule) {
|
||||
else: \
|
||||
module_config =
|
||||
!isEmpty(MODULE_PLUGIN_TYPES): \
|
||||
module_plugtypes = "QT.$${MODULE_ID}.plugin_types = $$replace(MODULE_PLUGIN_TYPES, /.*$, )"
|
||||
module_plugtypes = "QT.$${MODULE_ID}.plugin_types = $$replace(MODULE_PLUGIN_TYPES, /[^.]+\\.[^.]+$, )"
|
||||
else: \
|
||||
module_plugtypes =
|
||||
!isEmpty(MODULE_MASTER_HEADER): \
|
||||
@ -134,6 +130,7 @@ defineReplace(qtExportLibsForModule) {
|
||||
MODULE_PRI_CONT += \
|
||||
"QT.$${MODULE_ID}.depends =$$join(MODULE_DEPENDS, " ", " ")" \
|
||||
$$module_rundep \
|
||||
"QT.$${MODULE_ID}.uses =$$join(QMAKE_USE, " ", " ")" \
|
||||
"QT.$${MODULE_ID}.module_config =$$join(module_build_type, " ", " ")" \
|
||||
$$module_config \
|
||||
"QT.$${MODULE_ID}.DEFINES = $$val_escape(MODULE_DEFINES)" \
|
||||
@ -164,6 +161,7 @@ defineReplace(qtExportLibsForModule) {
|
||||
"QT.$${MODULE}_private.includes = $$MODULE_PRIVATE_INCLUDES" \
|
||||
"QT.$${MODULE}_private.frameworks =" \
|
||||
"QT.$${MODULE}_private.depends = $$private_deps" \
|
||||
"QT.$${MODULE}_private.uses =$$join(QMAKE_USE_FOR_PRIVATE, " ", " ")" \
|
||||
"QT.$${MODULE}_private.module_config =$$join(module_build_type, " ", " ")" \
|
||||
$$qtGetFeaturesForModule($${MODULE}_private) \
|
||||
"" \
|
||||
|
@ -26,7 +26,6 @@ win32:CONFIG(shared, static|shared) {
|
||||
tool_plugin {
|
||||
!build_pass:qtConfig(debug_and_release): CONFIG += release
|
||||
} else:if(win32|mac):!macx-xcode {
|
||||
qtConfig(simulator_and_device): CONFIG += simulator_and_device
|
||||
qtConfig(debug_and_release): CONFIG += debug_and_release
|
||||
qtConfig(build_all): CONFIG += build_all
|
||||
}
|
||||
|
@ -9,6 +9,7 @@
|
||||
# We mean it.
|
||||
#
|
||||
|
||||
CONFIG += no_launch_target
|
||||
load(qt_app)
|
||||
|
||||
CONFIG += console
|
||||
|
@ -1,4 +1,4 @@
|
||||
have_target {
|
||||
!have_target: return()
|
||||
|
||||
# qt_build_config.prf disables execptions for all Qt modules which don't
|
||||
# explicitly turn it on again, while the qmake default is to build with
|
||||
@ -207,5 +207,3 @@ macx-xcode:bundle:isEmpty(QMAKE_BUNDLE_EXTENSION) {
|
||||
QMAKE_BUNDLE_EXTENSION = .xctest
|
||||
}
|
||||
|
||||
} # have_target
|
||||
|
||||
|
57
mkspecs/features/toolchain.prf
Normal file
57
mkspecs/features/toolchain.prf
Normal file
@ -0,0 +1,57 @@
|
||||
|
||||
defineReplace(qtMakeExpand) {
|
||||
out = "$$1"
|
||||
for(ever) {
|
||||
m = $$replace(out, ".*\\$\\(EXPORT_([^)]+)\\).*", \\1)
|
||||
equals(m, $$out): \
|
||||
return($$out)
|
||||
out = $$replace(out, "\\$\\(EXPORT_$$m\\)", $$eval($$m))
|
||||
}
|
||||
}
|
||||
|
||||
isEmpty(QMAKE_DEFAULT_INCDIRS):!host_build {
|
||||
#
|
||||
# Get default include and library paths from compiler
|
||||
#
|
||||
gcc {
|
||||
!equals(QMAKE_HOST.os, Windows) {
|
||||
cmd_prefix = "LC_ALL=C"
|
||||
cmd_suffix = "</dev/null >/dev/null"
|
||||
} else {
|
||||
cmd_prefix = "set LC_ALL=C&"
|
||||
cmd_suffix = "<NUL >NUL"
|
||||
}
|
||||
output = $$system("$$cmd_prefix $$QMAKE_CXX $$qtMakeExpand($$QMAKE_CXXFLAGS) -xc++ -E -v - 2>&1 $$cmd_suffix", lines)
|
||||
add_includes = false
|
||||
for (line, output) {
|
||||
line ~= s/^ *// # remove leading spaces
|
||||
contains(line, "LIBRARY_PATH=.*") {
|
||||
line ~= s/^LIBRARY_PATH=// # remove leading LIBRARY_PATH=
|
||||
paths = $$split(line, $$QMAKE_DIRLIST_SEP)
|
||||
for (path, paths): \
|
||||
QMAKE_DEFAULT_LIBDIRS += $$clean_path($$path)
|
||||
} else: contains(line, "$${LITERAL_HASH}include <.*") { # #include <...> search starts here:
|
||||
add_includes = true
|
||||
} else: contains(line, "End of search.*") {
|
||||
add_includes = false
|
||||
} else: $$add_includes {
|
||||
!contains(line, ".* \\(framework directory\\)"): \
|
||||
QMAKE_DEFAULT_INCDIRS += $$clean_path($$line)
|
||||
}
|
||||
}
|
||||
QMAKE_DEFAULT_LIBDIRS = $$unique(QMAKE_DEFAULT_LIBDIRS)
|
||||
} else: msvc {
|
||||
LIB = $$getenv("LIB")
|
||||
QMAKE_DEFAULT_LIBDIRS = $$split(LIB, $$QMAKE_DIRLIST_SEP)
|
||||
INCLUDE = $$getenv("INCLUDE")
|
||||
QMAKE_DEFAULT_INCDIRS = $$split(INCLUDE, $$QMAKE_DIRLIST_SEP)
|
||||
}
|
||||
|
||||
unix {
|
||||
isEmpty(QMAKE_DEFAULT_INCDIRS): QMAKE_DEFAULT_INCDIRS = /usr/include /usr/local/include
|
||||
isEmpty(QMAKE_DEFAULT_LIBDIRS): QMAKE_DEFAULT_LIBDIRS = /lib /usr/lib
|
||||
}
|
||||
|
||||
!isEmpty(QMAKE_DEFAULT_INCDIRS): cache(QMAKE_DEFAULT_INCDIRS, set stash)
|
||||
!isEmpty(QMAKE_DEFAULT_LIBDIRS): cache(QMAKE_DEFAULT_LIBDIRS, set stash)
|
||||
}
|
@ -52,3 +52,11 @@ macx-xcode {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
!xcodebuild:equals(TEMPLATE, app):!isEmpty(QMAKE_INFO_PLIST) {
|
||||
# Only link in photo library support if Info.plist contains
|
||||
# NSPhotoLibraryUsageDescription. Otherwise it will be rejected from AppStore.
|
||||
plist_path = $$absolute_path($$QMAKE_INFO_PLIST, $$_PRO_FILE_PWD_)
|
||||
system("/usr/libexec/PlistBuddy -c 'Print NSPhotoLibraryUsageDescription' $$system_quote($$plist_path) &>/dev/null"): \
|
||||
QTPLUGIN += qiosnsphotolibrarysupport
|
||||
}
|
||||
|
@ -1,22 +1,25 @@
|
||||
sim_and_dev = false
|
||||
!isEmpty(QT_VERSION):qtConfig(simulator_and_device): \
|
||||
sim_and_dev = true
|
||||
|
||||
$$sim_and_dev|contains(QMAKE_MAC_SDK, ^$${device.sdk}.*): \
|
||||
CONFIG += device $${device.sdk}
|
||||
$$sim_and_dev|contains(QMAKE_MAC_SDK, ^$${simulator.sdk}.*): \
|
||||
CONFIG += simulator $${simulator.sdk}
|
||||
|
||||
$$sim_and_dev {
|
||||
# For a simulator_and_device build all the config tests
|
||||
# are based on the device's ARM SDK, but we know that the simulator
|
||||
# is Intel and that we support SSE/SSE2.
|
||||
QT_CPU_FEATURES.$$QT_ARCH += sse sse2
|
||||
CONFIG += sse sse2
|
||||
DEFINES += QT_COMPILER_SUPPORTS_SSE2
|
||||
}
|
||||
|
||||
unset(sim_and_dev)
|
||||
|
||||
load(default_pre)
|
||||
|
||||
!isEmpty(QT_VERSION) {
|
||||
qtConfig(simulator_and_device)|contains(QMAKE_MAC_SDK, ^$${device.sdk}.*): \
|
||||
CONFIG += device $${device.sdk}
|
||||
qtConfig(simulator_and_device)|contains(QMAKE_MAC_SDK, ^$${simulator.sdk}.*): \
|
||||
CONFIG += simulator $${simulator.sdk}
|
||||
|
||||
qtConfig(simulator_and_device) {
|
||||
# For a simulator_and_device build all the config tests
|
||||
# are based on the device's ARM SDK, but we know that the simulator
|
||||
# is Intel and that we support SSE/SSE2.
|
||||
QT_CPU_FEATURES.$$QT_ARCH += sse sse2
|
||||
CONFIG += sse sse2
|
||||
DEFINES += QT_COMPILER_SUPPORTS_SSE2
|
||||
}
|
||||
}
|
||||
|
||||
# Check for supported Xcode versions
|
||||
lessThan(QMAKE_XCODE_VERSION, "4.3"): \
|
||||
error("This mkspec requires Xcode 4.3 or later")
|
||||
|
@ -11,7 +11,7 @@ load(resolve_config)
|
||||
!macx-xcode:xcodebuild {
|
||||
# Switch the order to make sure that the first Makefile target is the right one
|
||||
!qtConfig(simulator_and_device):contains(QMAKE_MAC_SDK, ^$${simulator.sdk}.*): \
|
||||
addExclusiveBuilds(simulator, device)
|
||||
addExclusiveBuildsProper(simulator_and_device, simulator device)
|
||||
else: \
|
||||
addExclusiveBuilds(device, simulator)
|
||||
addExclusiveBuildsProper(simulator_and_device, device simulator)
|
||||
}
|
||||
|
@ -1,15 +1,3 @@
|
||||
|
||||
# In case the user sets the SDK manually
|
||||
contains(QMAKE_MAC_SDK, ^$${simulator.sdk}.*) {
|
||||
!isEmpty(QT_VERSION):qtConfig(simulator_and_device): \
|
||||
error("Simulator is handled automatically for simulator_and_device")
|
||||
|
||||
CONFIG += simulator $${simulator.sdk}
|
||||
}
|
||||
|
||||
build_pass:!simulator_and_device:simulator: \
|
||||
QMAKE_MAC_SDK ~= s,^$${device.sdk},$${simulator.sdk},
|
||||
|
||||
load(sdk)
|
||||
|
||||
macx-xcode {
|
||||
|
@ -1813,6 +1813,12 @@
|
||||
which qmake will replace with the actual executable name. Other variables
|
||||
include @ICON@, @TYPEINFO@, @LIBRARY@, and @SHORT_VERSION@.
|
||||
|
||||
If building for iOS, and the \c{.plist} file contains the key
|
||||
\c NSPhotoLibraryUsageDescription, qmake will include an additional plugin
|
||||
to the build that adds photo access support (to, e.g.,
|
||||
\l{QFileDialog::setDirectory()}{QFile/QFileDialog}). See Info.plist
|
||||
documentation from Apple for more information regarding this key.
|
||||
|
||||
\note Most of the time, the default \c{Info.plist} is good enough.
|
||||
|
||||
\section1 QMAKE_LFLAGS
|
||||
|
@ -46,6 +46,7 @@
|
||||
#include <fcntl.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <limits.h>
|
||||
#if defined(_MSC_VER) && _MSC_VER >= 1400
|
||||
#include <share.h>
|
||||
#endif
|
||||
@ -986,9 +987,11 @@ bool QMakeSourceFileInfo::findMocs(SourceFile *file)
|
||||
continue;
|
||||
|
||||
int matchlen = 0, extralines = 0;
|
||||
size_t needle_len = strlen(interesting[interest]);
|
||||
Q_ASSERT(needle_len <= INT_MAX);
|
||||
if (matchWhileUnsplitting(buffer, buffer_len, y,
|
||||
interesting[interest],
|
||||
strlen(interesting[interest]),
|
||||
static_cast<int>(needle_len),
|
||||
&matchlen, &extralines)
|
||||
&& y + matchlen < buffer_len
|
||||
&& !isCWordChar(buffer[y + matchlen])) {
|
||||
|
@ -374,14 +374,21 @@ void NmakeMakefileGenerator::init()
|
||||
project->values("QMAKE_DISTCLEAN").append(tgt + ".lib");
|
||||
}
|
||||
if (project->isActiveConfig("debug_info")) {
|
||||
// Add the compiler's PDB file.
|
||||
QString pdbfile = var("OBJECTS_DIR") + project->first("TARGET") + ".vc.pdb";
|
||||
QString pdbfile;
|
||||
QString distPdbFile = tgt + ".pdb";
|
||||
if (project->isActiveConfig("staticlib")) {
|
||||
// For static libraries, the compiler's pdb file and the dist pdb file are the same.
|
||||
pdbfile = distPdbFile;
|
||||
} else {
|
||||
// Use $${TARGET}.vc.pdb in the OBJECTS_DIR for the compiler and
|
||||
// $${TARGET}.pdb (the default) for the linker.
|
||||
pdbfile = var("OBJECTS_DIR") + project->first("TARGET") + ".vc.pdb";
|
||||
}
|
||||
QString escapedPdbFile = escapeFilePath(pdbfile);
|
||||
project->values("QMAKE_CFLAGS").append("/Fd" + escapedPdbFile);
|
||||
project->values("QMAKE_CXXFLAGS").append("/Fd" + escapedPdbFile);
|
||||
project->values("QMAKE_CLEAN").append(pdbfile);
|
||||
// Add the linker's PDB file to the distclean target.
|
||||
project->values("QMAKE_DISTCLEAN").append(tgt + ".pdb");
|
||||
project->values("QMAKE_DISTCLEAN").append(distPdbFile);
|
||||
}
|
||||
if (project->isActiveConfig("debug")) {
|
||||
project->values("QMAKE_CLEAN").append(tgt + ".ilk");
|
||||
|
8
src/3rdparty/freetype/freetype.pro
vendored
8
src/3rdparty/freetype/freetype.pro
vendored
@ -6,6 +6,8 @@ CONFIG += \
|
||||
exceptions_off rtti_off warn_off \
|
||||
installed
|
||||
|
||||
MODULE_INCLUDEPATH += $$PWD/include
|
||||
|
||||
load(qt_helper_lib)
|
||||
|
||||
SOURCES += \
|
||||
@ -61,16 +63,12 @@ win32 {
|
||||
INCLUDEPATH += $$PWD/builds/unix
|
||||
}
|
||||
|
||||
INCLUDEPATH += $$PWD/include
|
||||
|
||||
DEFINES += FT2_BUILD_LIBRARY
|
||||
|
||||
DEFINES += FT_CONFIG_OPTION_SYSTEM_ZLIB
|
||||
include(../zlib_dependency.pri)
|
||||
|
||||
QT_FOR_CONFIG += gui-private
|
||||
include($$OUT_PWD/../../gui/qtgui-config.pri)
|
||||
DEFINES += FT_CONFIG_OPTION_USE_PNG
|
||||
include($$PWD/../png_dependency.pri)
|
||||
QMAKE_USE_PRIVATE += libpng
|
||||
|
||||
DEFINES += TT_CONFIG_OPTION_SUBPIXEL_HINTING
|
||||
|
6
src/3rdparty/freetype_dependency.pri
vendored
6
src/3rdparty/freetype_dependency.pri
vendored
@ -1,6 +0,0 @@
|
||||
qtConfig(system-freetype) {
|
||||
QMAKE_USE_PRIVATE += freetype/nolink
|
||||
} else: qtConfig(freetype) {
|
||||
INCLUDEPATH += $$PWD/freetype/include
|
||||
LIBS_PRIVATE += -L$$QT_BUILD_TREE/lib -lqtfreetype$$qtPlatformTargetSuffix()
|
||||
}
|
6
src/3rdparty/harfbuzz-ng/harfbuzz-ng.pro
vendored
6
src/3rdparty/harfbuzz-ng/harfbuzz-ng.pro
vendored
@ -1,10 +1,12 @@
|
||||
TARGET = qtharfbuzzng
|
||||
TARGET = qtharfbuzz
|
||||
|
||||
CONFIG += \
|
||||
static \
|
||||
hide_symbols \
|
||||
exceptions_off rtti_off warn_off
|
||||
|
||||
MODULE_INCLUDEPATH += $$PWD/include
|
||||
|
||||
load(qt_helper_lib)
|
||||
|
||||
# built-in shapers list configuration:
|
||||
@ -24,8 +26,6 @@ win32: DEFINES += HB_NO_WIN1256
|
||||
#Workaround https://code.google.com/p/android/issues/detail?id=194631
|
||||
android: DEFINES += _POSIX_C_SOURCE=200112L
|
||||
|
||||
INCLUDEPATH += $$PWD/include
|
||||
|
||||
# Harfbuzz-NG inside Qt uses the Qt atomics (inline code only)
|
||||
INCLUDEPATH += $$QT.core.includes
|
||||
DEFINES += QT_NO_VERSION_TAGGING
|
||||
|
@ -156,12 +156,14 @@ static inline void positionCluster(HB_ShaperItem *item, int gfrom, int glast)
|
||||
// ### wrong in rtl context!
|
||||
case HB_Combining_BelowLeft:
|
||||
p.y += offset;
|
||||
// fall through
|
||||
case HB_Combining_BelowLeftAttached:
|
||||
p.x += attachmentRect.x - markMetrics.x;
|
||||
p.y += (attachmentRect.y + attachmentRect.height) - markMetrics.y;
|
||||
break;
|
||||
case HB_Combining_Below:
|
||||
p.y += offset;
|
||||
// fall through
|
||||
case HB_Combining_BelowAttached:
|
||||
p.x += attachmentRect.x - markMetrics.x;
|
||||
p.y += (attachmentRect.y + attachmentRect.height) - markMetrics.y;
|
||||
@ -170,28 +172,33 @@ static inline void positionCluster(HB_ShaperItem *item, int gfrom, int glast)
|
||||
break;
|
||||
case HB_Combining_BelowRight:
|
||||
p.y += offset;
|
||||
// fall through
|
||||
case HB_Combining_BelowRightAttached:
|
||||
p.x += attachmentRect.x + attachmentRect.width - markMetrics.width - markMetrics.x;
|
||||
p.y += attachmentRect.y + attachmentRect.height - markMetrics.y;
|
||||
break;
|
||||
case HB_Combining_Left:
|
||||
p.x -= offset;
|
||||
// fall through
|
||||
case HB_Combining_LeftAttached:
|
||||
break;
|
||||
case HB_Combining_Right:
|
||||
p.x += offset;
|
||||
// fall through
|
||||
case HB_Combining_RightAttached:
|
||||
break;
|
||||
case HB_Combining_DoubleAbove:
|
||||
// ### wrong in RTL context!
|
||||
case HB_Combining_AboveLeft:
|
||||
p.y -= offset;
|
||||
// fall through
|
||||
case HB_Combining_AboveLeftAttached:
|
||||
p.x += attachmentRect.x - markMetrics.x;
|
||||
p.y += attachmentRect.y - markMetrics.y - markMetrics.height;
|
||||
break;
|
||||
case HB_Combining_Above:
|
||||
p.y -= offset;
|
||||
// fall through
|
||||
case HB_Combining_AboveAttached:
|
||||
p.x += attachmentRect.x - markMetrics.x;
|
||||
p.y += attachmentRect.y - markMetrics.y - markMetrics.height;
|
||||
@ -200,6 +207,7 @@ static inline void positionCluster(HB_ShaperItem *item, int gfrom, int glast)
|
||||
break;
|
||||
case HB_Combining_AboveRight:
|
||||
p.y -= offset;
|
||||
// fall through
|
||||
case HB_Combining_AboveRightAttached:
|
||||
p.x += attachmentRect.x + attachmentRect.width - markMetrics.x - markMetrics.width;
|
||||
p.y += attachmentRect.y - markMetrics.y - markMetrics.height;
|
||||
|
6
src/3rdparty/harfbuzz_dependency.pri
vendored
6
src/3rdparty/harfbuzz_dependency.pri
vendored
@ -1,6 +0,0 @@
|
||||
qtConfig(system-harfbuzz) {
|
||||
QMAKE_USE_PRIVATE += harfbuzz
|
||||
} else: qtConfig(harfbuzz) {
|
||||
INCLUDEPATH += $$PWD/harfbuzz-ng/include
|
||||
LIBS_PRIVATE += -L$$QT_BUILD_TREE/lib -lqtharfbuzzng$$qtPlatformTargetSuffix()
|
||||
}
|
4
src/3rdparty/libpng/libpng.pro
vendored
4
src/3rdparty/libpng/libpng.pro
vendored
@ -1,4 +1,4 @@
|
||||
TARGET = qtpng
|
||||
TARGET = qtlibpng
|
||||
|
||||
CONFIG += \
|
||||
static \
|
||||
@ -6,6 +6,8 @@ CONFIG += \
|
||||
exceptions_off rtti_off warn_off \
|
||||
installed
|
||||
|
||||
MODULE_INCLUDEPATH = $$PWD
|
||||
|
||||
load(qt_helper_lib)
|
||||
|
||||
DEFINES += PNG_ARM_NEON_OPT=0
|
||||
|
4
src/3rdparty/pcre/pcre.pro
vendored
4
src/3rdparty/pcre/pcre.pro
vendored
@ -5,12 +5,14 @@ CONFIG += \
|
||||
hide_symbols \
|
||||
exceptions_off rtti_off warn_off
|
||||
|
||||
win32: MODULE_DEFINES += PCRE_STATIC
|
||||
MODULE_INCLUDEPATH += $$PWD
|
||||
|
||||
load(qt_helper_lib)
|
||||
|
||||
DEFINES += HAVE_CONFIG_H
|
||||
|
||||
# platform/compiler specific definitions
|
||||
win32: DEFINES += PCRE_STATIC
|
||||
uikit|qnx|winrt: DEFINES += PCRE_DISABLE_JIT
|
||||
|
||||
SOURCES += \
|
||||
|
7
src/3rdparty/pcre_dependency.pri
vendored
7
src/3rdparty/pcre_dependency.pri
vendored
@ -1,7 +0,0 @@
|
||||
qtConfig(system-pcre) {
|
||||
QMAKE_USE_PRIVATE += pcre
|
||||
} else {
|
||||
win32: DEFINES += PCRE_STATIC
|
||||
INCLUDEPATH += $$PWD/pcre
|
||||
LIBS_PRIVATE += -L$$QT_BUILD_TREE/lib -lqtpcre$$qtPlatformTargetSuffix()
|
||||
}
|
6
src/3rdparty/png_dependency.pri
vendored
6
src/3rdparty/png_dependency.pri
vendored
@ -1,6 +0,0 @@
|
||||
qtConfig(system-png) {
|
||||
QMAKE_USE_PRIVATE += libpng
|
||||
} else: qtConfig(png) {
|
||||
INCLUDEPATH += $$PWD/libpng
|
||||
LIBS_PRIVATE += -L$$QT_BUILD_TREE/lib -lqtpng$$qtPlatformTargetSuffix()
|
||||
}
|
@ -66,7 +66,7 @@ public class QtActivityLoader extends QtLoader {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialogInterface, int i) {
|
||||
try {
|
||||
Uri uri = Uri.parse("market://search?q=pname:org.kde.necessitas.ministro");
|
||||
Uri uri = Uri.parse("market://details?id=org.kde.necessitas.ministro");
|
||||
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
|
||||
m_activity.startActivityForResult(intent, MINISTRO_INSTALL_REQUEST_CODE);
|
||||
} catch (Exception e) {
|
||||
|
@ -73,7 +73,7 @@ public abstract class QtLoader {
|
||||
public final static int MINISTRO_INSTALL_REQUEST_CODE = 0xf3ee; // request code used to know when Ministro instalation is finished
|
||||
public static final int MINISTRO_API_LEVEL = 5; // Ministro api level (check IMinistro.aidl file)
|
||||
public static final int NECESSITAS_API_LEVEL = 2; // Necessitas api level used by platform plugin
|
||||
public static final int QT_VERSION = 0x050100; // This app requires at least Qt version 5.1.0
|
||||
public static final int QT_VERSION = 0x050700; // This app requires at least Qt version 5.7.0
|
||||
|
||||
public static final String ERROR_CODE_KEY = "error.code";
|
||||
public static final String ERROR_MESSAGE_KEY = "error.message";
|
||||
|
@ -113,9 +113,9 @@ QSet<QString> dictionary = QtConcurrent::blockingFilteredReduced(strings, allLow
|
||||
//! [7]
|
||||
// keep only images with an alpha channel
|
||||
QList<QImage> images = ...;
|
||||
QFuture<void> alphaImages = QtConcurrent::filter(strings, &QImage::hasAlphaChannel);
|
||||
QFuture<void> alphaImages = QtConcurrent::filter(images, &QImage::hasAlphaChannel);
|
||||
|
||||
// keep only gray scale images
|
||||
// retrieve gray scale images
|
||||
QList<QImage> images = ...;
|
||||
QFuture<QImage> grayscaleImages = QtConcurrent::filtered(images, &QImage::isGrayscale);
|
||||
|
||||
|
24
src/corelib/codecs/QBKCODEC_LICENSE.txt
Normal file
24
src/corelib/codecs/QBKCODEC_LICENSE.txt
Normal file
@ -0,0 +1,24 @@
|
||||
Copyright (C) 2000 TurboLinux, Inc. Written by Justin Yu and Sean Chen.
|
||||
Copyright (C) 2001, 2002 Turbolinux, Inc. Written by James Su.
|
||||
Copyright (C) 2001, 2002 ThizLinux Laboratory Ltd. Written by Anthony Fok.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
22
src/corelib/codecs/QEUCJPCODEC_LICENSE.txt
Normal file
22
src/corelib/codecs/QEUCJPCODEC_LICENSE.txt
Normal file
@ -0,0 +1,22 @@
|
||||
Copyright (C) 1999 Serika Kurusugawa, All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
22
src/corelib/codecs/QEUCKRCODEC_LICENSE.txt
Normal file
22
src/corelib/codecs/QEUCKRCODEC_LICENSE.txt
Normal file
@ -0,0 +1,22 @@
|
||||
Copyright (C) 1999-2000 Mizi Research Inc. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
22
src/corelib/codecs/QJISCODEC_LICENSE.txt
Normal file
22
src/corelib/codecs/QJISCODEC_LICENSE.txt
Normal file
@ -0,0 +1,22 @@
|
||||
Copyright (C) 1999 Serika Kurusugawa, All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
22
src/corelib/codecs/QSJISCODEC_LICENSE.txt
Normal file
22
src/corelib/codecs/QSJISCODEC_LICENSE.txt
Normal file
@ -0,0 +1,22 @@
|
||||
Copyright (C) 1999 Serika Kurusugawa, All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
22
src/corelib/codecs/QTSCIICODEC_LICENSE.txt
Normal file
22
src/corelib/codecs/QTSCIICODEC_LICENSE.txt
Normal file
@ -0,0 +1,22 @@
|
||||
Copyright (C) 2000 Hans Petter Bieker. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
@ -55,35 +55,7 @@
|
||||
\<anthony@thizlinux.com\> \<foka@debian.org\> to adapt the code
|
||||
for Qt.
|
||||
|
||||
\legalese
|
||||
Copyright (C) 2000 Ming-Che Chuang
|
||||
Copyright (C) 2002 James Su, Turbolinux Inc.
|
||||
Copyright (C) 2002 Anthony Fok, ThizLinux Laboratory Ltd.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
\list 1
|
||||
\li Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
\li Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
\endlist
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
\endlegalese
|
||||
\sa{Text Codecs: Big5, Big5-HKSCS}
|
||||
*/
|
||||
|
||||
/*!
|
||||
@ -124,36 +96,7 @@
|
||||
Li18nux Big5 Standard Subgroup. See \l{http://www.autrijus.org/xml/}
|
||||
for the various Big5 CharMapML tables.
|
||||
|
||||
\legalese
|
||||
Copyright (C) 2000 Ming-Che Chuang
|
||||
Copyright (C) 2001, 2002 James Su, Turbolinux Inc.
|
||||
Copyright (C) 2002 WU Yi, HancomLinux Inc.
|
||||
Copyright (C) 2001, 2002 Anthony Fok, ThizLinux Laboratory Ltd.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
\list 1
|
||||
\li Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
\li Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
\endlist
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
\endlegalese
|
||||
\sa{Text Codecs: Big5, Big5-HKSCS}
|
||||
*/
|
||||
|
||||
/*!
|
||||
@ -171,37 +114,9 @@
|
||||
|
||||
Most of the code here was written by Serika Kurusugawa,
|
||||
a.k.a. Junji Takagi, and is included in Qt with the author's
|
||||
permission and the grateful thanks of the Qt team. Here is
|
||||
the copyright statement for that code:
|
||||
permission and the grateful thanks of the Qt team.
|
||||
|
||||
\legalese
|
||||
|
||||
Copyright (C) 1999 Serika Kurusugawa. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
\list 1
|
||||
\li Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
\li Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
\endlist
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS".
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
\endlegalese
|
||||
\sa{Text Codec: EUC-JP}
|
||||
*/
|
||||
|
||||
/*!
|
||||
@ -217,34 +132,7 @@
|
||||
contribution. The subsequent modifications are covered by
|
||||
the usual copyright for Qt.
|
||||
|
||||
\legalese
|
||||
|
||||
Copyright (C) 1999-2000 Mizi Research Inc. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
\list 1
|
||||
\li Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
\li Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
\endlist
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
\endlegalese
|
||||
\sa{Text Codec: EUC-KR}
|
||||
*/
|
||||
|
||||
/*!
|
||||
@ -292,37 +180,7 @@
|
||||
A copy of the source Perl script is available at
|
||||
\l{http://people.debian.org/~foka/gb18030/gen-qgb18030codec.pl}
|
||||
|
||||
The copyright notice for their code follows:
|
||||
|
||||
\legalese
|
||||
Copyright (C) 2000 TurboLinux, Inc. Written by Justin Yu and Sean Chen.
|
||||
Copyright (C) 2001, 2002 Turbolinux, Inc. Written by James Su.
|
||||
Copyright (C) 2001, 2002 ThizLinux Laboratory Ltd. Written by Anthony Fok.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
\list 1
|
||||
\li Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
\li Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
\endlist
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
\endlegalese
|
||||
\sa{Text Codec: GBK}
|
||||
*/
|
||||
|
||||
/*!
|
||||
@ -381,37 +239,9 @@
|
||||
|
||||
Most of the code here was written by Serika Kurusugawa,
|
||||
a.k.a. Junji Takagi, and is included in Qt with the author's
|
||||
permission and the grateful thanks of the Qt team. Here is
|
||||
the copyright statement for that code:
|
||||
permission and the grateful thanks of the Qt team.
|
||||
|
||||
\legalese
|
||||
|
||||
Copyright (C) 1999 Serika Kurusugawa. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
\list 1
|
||||
\li Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
\li Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
\endlist
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS".
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
\endlegalese
|
||||
\sa{Text Codec: ISO 2022-JP (JIS)}
|
||||
*/
|
||||
|
||||
/*!
|
||||
@ -433,34 +263,7 @@
|
||||
contribution. The subsequent modifications are covered by
|
||||
the usual copyright for Qt.
|
||||
|
||||
\legalese
|
||||
|
||||
Copyright (C) 1999 Serika Kurusugawa. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
\list 1
|
||||
\li Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
\li Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
\endlist
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS".
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
\endlegalese
|
||||
\sa{Text Codec: Shift-JIS}
|
||||
*/
|
||||
|
||||
/*!
|
||||
@ -483,37 +286,7 @@
|
||||
|
||||
Most of the code was written by Hans Petter Bieker and is
|
||||
included in Qt with the author's permission and the grateful
|
||||
thanks of the Qt team. Here is the copyright statement for
|
||||
the code as it was at the point of contribution. The
|
||||
subsequent modifications are covered by the usual copyright for
|
||||
Qt:
|
||||
thanks of the Qt team.
|
||||
|
||||
\legalese
|
||||
|
||||
Copyright (c) 2000 Hans Petter Bieker. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
\list 1
|
||||
\li Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
\li Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
\endlist
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
\endlegalese
|
||||
\sa{Text Codec: TSCII}
|
||||
*/
|
||||
|
103
src/corelib/codecs/qt_attribution.json
Normal file
103
src/corelib/codecs/qt_attribution.json
Normal file
@ -0,0 +1,103 @@
|
||||
[
|
||||
{
|
||||
"Id": "qbig5codecs",
|
||||
"Name": "Text Codecs: Big5, Big5-HKSCS",
|
||||
"QDocModule": "qtcore",
|
||||
"QtUsage": "Used in Qt Core if ICU is not used. Configure with -icu to avoid.",
|
||||
"Path": "qbig5codec.cpp",
|
||||
|
||||
"Description": "The Big5 codecs (QBig5Codec, QBig5hkscsCodec)
|
||||
provide conversion to and from the Big5 encodings.",
|
||||
"License": "BSD 2-clause \"Simplified\" License",
|
||||
"LicenseId": "BSD-2-Clause",
|
||||
"LicenseFile": "QBIG5CODEC_LICENSE.txt",
|
||||
"Copyright": "Copyright (C) 2000 Ming-Che Chuang
|
||||
Copyright (C) 2001, 2002 James Su, Turbolinux Inc.
|
||||
Copyright (C) 2002 WU Yi, HancomLinux Inc.
|
||||
Copyright (C) 2001, 2002 Anthony Fok, ThizLinux Laboratory Ltd."
|
||||
},
|
||||
{
|
||||
"Id": "qeucjpcodec",
|
||||
"Name": "Text Codec: EUC-JP",
|
||||
"QDocModule": "qtcore",
|
||||
"QtUsage": "Used in Qt Core if ICU is not used. Configure with -icu to avoid.",
|
||||
"Path": "qeucjpcodec.cpp",
|
||||
|
||||
"Description": "The EUC-JP text codec provides conversion to and from EUC-JP,
|
||||
the main legacy encoding for Unix machines in Japan.",
|
||||
"License": "BSD 2-clause \"Simplified\" License",
|
||||
"LicenseId": "BSD-2-Clause",
|
||||
"LicenseFile": "QEUCJPCODEC_LICENSE.txt",
|
||||
"Copyright": "Copyright (C) 1999 Serika Kurusugawa."
|
||||
},
|
||||
{
|
||||
"Id": "qeuckrcodec",
|
||||
"Name": "Text Codec: EUC-KR",
|
||||
"QDocModule": "qtcore",
|
||||
"QtUsage": "Used in Qt Core if ICU is not used. Configure with -icu to avoid.",
|
||||
"Path": "qeuckrcodec.cpp",
|
||||
|
||||
"Description": "The EUC-KR text codec provides conversion to and from EUC-KR, KR,
|
||||
the main legacy encoding for Unix machines in Korea.",
|
||||
"License": "BSD 2-clause \"Simplified\" License",
|
||||
"LicenseId": "BSD-2-Clause",
|
||||
"LicenseFile": "QEUCKRCODEC_LICENSE.txt",
|
||||
"Copyright": "Copyright (C) 1999-2000 Mizi Research Inc."
|
||||
},
|
||||
{
|
||||
"Id": "qjiscodec",
|
||||
"Name": "Text Codec: ISO 2022-JP (JIS)",
|
||||
"QDocModule": "qtcore",
|
||||
"QtUsage": "Used in Qt Core if ICU is not used. Configure with -icu to avoid.",
|
||||
"Path": "qjiscodec.cpp",
|
||||
|
||||
"Description": "The ISO 2022-JP (JIS) text codec provides conversion to and from ISO 2022-JP.",
|
||||
"License": "BSD 2-clause \"Simplified\" License",
|
||||
"LicenseId": "BSD-2-Clause",
|
||||
"LicenseFile": "QJISCODEC_LICENSE.txt",
|
||||
"Copyright": "Copyright (C) 1999 Serika Kurusugawa."
|
||||
},
|
||||
{
|
||||
"Id": "qsjiscodec",
|
||||
"Name": "Text Codec: Shift-JIS",
|
||||
"QDocModule": "qtcore",
|
||||
"QtUsage": "Used in Qt Core if ICU is not used. Configure with -icu to avoid.",
|
||||
"Path": "qsjiscodec.cpp",
|
||||
|
||||
"Description": "The Shift-JIS text codec provides conversion to and from Shift-JIS.",
|
||||
"License": "BSD 2-clause \"Simplified\" License",
|
||||
"LicenseId": "BSD-2-Clause",
|
||||
"LicenseFile": "QSJISCODEC_LICENSE.txt",
|
||||
"Copyright": "Copyright (C) 1999 Serika Kurusugawa."
|
||||
},
|
||||
{
|
||||
"Id": "qtsciicodec",
|
||||
"Name": "Text Codec: TSCII",
|
||||
"QDocModule": "qtcore",
|
||||
"QtUsage": "Used in Qt Core.",
|
||||
"Path": "qtsciicodec.cpp",
|
||||
|
||||
"Description": "The TSCII text codec provides conversion to and from the Tamil TSCII
|
||||
encoding.",
|
||||
"License": "BSD 2-clause \"Simplified\" License",
|
||||
"LicenseId": "BSD-2-Clause",
|
||||
"LicenseFile": "QTSCIICODEC_LICENSE.txt",
|
||||
"Copyright": "Copyright (C) 2000 Hans Petter Bieker."
|
||||
},
|
||||
{
|
||||
"Id": "qbkcodec",
|
||||
"Name": "Text Codec: GBK",
|
||||
"QDocModule": "qtcore",
|
||||
"QtUsage": "Used in Qt Core if ICU is not used. Configure with -icu to avoid.",
|
||||
"Path": "qgb18030codec.cpp",
|
||||
|
||||
"Description": "The GBK codec provides conversion to and from the Chinese
|
||||
GB18030/GBK/GB2312 encoding.",
|
||||
"License": "BSD 2-clause \"Simplified\" License",
|
||||
"LicenseId": "BSD-2-Clause",
|
||||
"LicenseFile": "QBKCODEC_LICENSE.txt",
|
||||
"Copyright": "Copyright (C) 2000 TurboLinux, Inc. Written by Justin Yu and Sean Chen.
|
||||
Copyright (C) 2001, 2002 Turbolinux, Inc. Written by James Su.
|
||||
Copyright (C) 2001, 2002 ThizLinux Laboratory Ltd. Written by Anthony Fok."
|
||||
}
|
||||
]
|
@ -61,7 +61,6 @@
|
||||
"journald": {
|
||||
"label": "journald",
|
||||
"test": "unix/journald",
|
||||
"export": "",
|
||||
"sources": [
|
||||
{ "type": "pkgConfig", "args": "libsystemd" },
|
||||
{ "type": "pkgConfig", "args": "libsystemd-journal" }
|
||||
@ -579,7 +578,10 @@
|
||||
},
|
||||
"topleveldomain": {
|
||||
"label": "QUrl::topLevelDomain()",
|
||||
"description": "Provides support for extracting the top level domain from URLs.",
|
||||
"purpose": "Provides support for extracting the top level domain from URLs.
|
||||
|
||||
If enabled, a binary dump of the Public Suffix List (http://www.publicsuffix.org,
|
||||
Mozilla License) is included. The data is then also used in QNetworkCookieJar::validateCookie.",
|
||||
"section": "Utilities",
|
||||
"output": [ "publicFeature" ]
|
||||
}
|
||||
|
@ -158,11 +158,8 @@
|
||||
\endtable
|
||||
|
||||
Containers can be nested. For example, it is perfectly possible
|
||||
to use a QMap<QString, QList<int> >, where the key type is
|
||||
QString and the value type QList<int>. The only pitfall is that
|
||||
you must insert a space between the closing angle brackets (>);
|
||||
otherwise the C++ compiler will misinterpret the two >'s as a
|
||||
right-shift operator (>>) and report a syntax error.
|
||||
to use a QMap<QString, QList<int>>, where the key type is
|
||||
QString and the value type QList<int>.
|
||||
|
||||
The containers are defined in individual header files with the
|
||||
same name as the container (e.g., \c <QLinkedList>). For
|
||||
|
@ -80,7 +80,7 @@
|
||||
|
||||
\section1 Event Types
|
||||
|
||||
Most events types have special classes, notably QResizeEvent,
|
||||
Most event types have special classes, notably QResizeEvent,
|
||||
QPaintEvent, QMouseEvent, QKeyEvent, and QCloseEvent. Each class
|
||||
subclasses QEvent and adds event-specific functions. For example,
|
||||
QResizeEvent adds \l{QResizeEvent::}{size()} and
|
||||
|
@ -59,11 +59,7 @@ slog2 {
|
||||
}
|
||||
|
||||
journald {
|
||||
CONFIG += link_pkgconfig
|
||||
packagesExist(libsystemd): \
|
||||
PKGCONFIG_PRIVATE += libsystemd
|
||||
else: \
|
||||
PKGCONFIG_PRIVATE += libsystemd-journal
|
||||
QMAKE_USE_PRIVATE += journald
|
||||
DEFINES += QT_USE_JOURNALD
|
||||
}
|
||||
|
||||
|
@ -4192,8 +4192,10 @@ bool QInternal::activateCallbacks(Callback cb, void **parameters)
|
||||
Compares the floating point value \a p1 and \a p2 and
|
||||
returns \c true if they are considered equal, otherwise \c false.
|
||||
|
||||
Note that comparing values where either \a p1 or \a p2 is 0.0 will not work.
|
||||
The solution to this is to compare against values greater than or equal to 1.0.
|
||||
Note that comparing values where either \a p1 or \a p2 is 0.0 will not work,
|
||||
nor does comparing values where one of the values is NaN or infinity.
|
||||
If one of the values is always 0.0, use qFuzzyIsNull instead. If one of the
|
||||
values is likely to be 0.0, one solution is to add 1.0 to both values.
|
||||
|
||||
\snippet code/src_corelib_global_qglobal.cpp 46
|
||||
|
||||
|
@ -593,9 +593,9 @@ Q_DECL_CONSTEXPR inline const T &qBound(const T &min, const T &val, const T &max
|
||||
# define QT_WATCHOS_DEPLOYMENT_TARGET_BELOW(watchos) \
|
||||
QT_DARWIN_DEPLOYMENT_TARGET_BELOW(__MAC_NA, __IPHONE_NA, __TVOS_NA, watchos)
|
||||
|
||||
// Compatibility synonyms, do not use
|
||||
# define QT_MAC_PLATFORM_SDK_EQUAL_OR_ABOVE(osx, ios) QT_MACOS_IOS_PLATFORM_SDK_EQUAL_OR_ABOVE(osx, ios)
|
||||
# define QT_MAC_DEPLOYMENT_TARGET_BELOW(osx, ios) QT_MACOS_IOS_DEPLOYMENT_TARGET_BELOW(osx, ios)
|
||||
|
||||
# define QT_OSX_PLATFORM_SDK_EQUAL_OR_ABOVE(osx) QT_MACOS_PLATFORM_SDK_EQUAL_OR_ABOVE(osx)
|
||||
# define QT_OSX_DEPLOYMENT_TARGET_BELOW(osx) QT_MACOS_DEPLOYMENT_TARGET_BELOW(osx)
|
||||
|
||||
|
@ -53,10 +53,5 @@
|
||||
#include <QtCore/private/qtcore-config_p.h>
|
||||
#endif
|
||||
|
||||
#define QT_LIBRARY_VERSION(lib) QT_LIBRARY_VERSION_##lib
|
||||
#define QT_LIBRARY_VERSION_MAJOR(lib) (QT_LIBRARY_VERSION_##lib >> 16)
|
||||
#define QT_LIBRARY_VERSION_MINOR(lib) ((QT_LIBRARY_VERSION_##lib >> 8) & 0xff)
|
||||
#define QT_LIBRARY_VERSION_PATCH(lib) (QT_LIBRARY_VERSION_##lib & 0xff)
|
||||
|
||||
#endif // QGLOBAL_P_H
|
||||
|
||||
|
@ -1197,7 +1197,8 @@ public:
|
||||
SystemLocaleLongDate,
|
||||
DefaultLocaleShortDate,
|
||||
DefaultLocaleLongDate,
|
||||
RFC2822Date // RFC 2822 (+ 850 and 1036 during parsing)
|
||||
RFC2822Date, // RFC 2822 (+ 850 and 1036 during parsing)
|
||||
ISODateWithMs
|
||||
};
|
||||
|
||||
enum TimeSpec {
|
||||
|
@ -658,6 +658,8 @@
|
||||
\c{YYYY-MM-DDTHH:mm:ss}, \c{YYYY-MM-DDTHH:mm:ssTZD} (e.g., 1997-07-16T19:20:30+01:00)
|
||||
for combined dates and times.
|
||||
|
||||
\value ISODateWithMs \l{ISO 8601} extended format, including milliseconds if applicable.
|
||||
|
||||
\value SystemLocaleShortDate The \l{QLocale::ShortFormat}{short format} used
|
||||
by the \l{QLocale::system()}{operating system}.
|
||||
|
||||
|
@ -60,7 +60,7 @@ QT_BEGIN_NAMESPACE
|
||||
* There will only be one copy of the section in the output library or application.
|
||||
*/
|
||||
|
||||
#if defined(QT_BUILD_CORE_LIB) || defined(QT_BOOTSTRAPPED) || defined(QT_NO_VERSION_TAGGING)
|
||||
#if defined(QT_BUILD_CORE_LIB) || defined(QT_BOOTSTRAPPED) || defined(QT_NO_VERSION_TAGGING) || defined(QT_STATIC)
|
||||
// don't make tags in QtCore, bootstrapped systems or if the user asked not to
|
||||
#elif defined(Q_CC_GNU) && !defined(Q_OS_ANDROID)
|
||||
# if defined(Q_PROCESSOR_X86) && (defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL))
|
||||
|
26
src/corelib/io/QTEMPORARYFILE_LICENSE.txt
Normal file
26
src/corelib/io/QTEMPORARYFILE_LICENSE.txt
Normal file
@ -0,0 +1,26 @@
|
||||
Copyright (c) 1987, 1993
|
||||
The Regents of the University of California. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
3. Neither the name of the University nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
@ -293,8 +293,7 @@ QDateTime &QFileInfoPrivate::getFileTime(QAbstractFileEngine::FileTime request)
|
||||
\note To speed up performance, QFileInfo caches information about
|
||||
the file.
|
||||
|
||||
To speed up performance, QFileInfo caches information about the
|
||||
file. Because files can be changed by other users or programs, or
|
||||
Because files can be changed by other users or programs, or
|
||||
even by other parts of the same program, there is a function that
|
||||
refreshes the file information: refresh(). If you want to switch
|
||||
off a QFileInfo's caching and force it to access the file system
|
||||
|
@ -283,7 +283,7 @@ QFileSystemEntry QFileSystemEngine::canonicalName(const QFileSystemEntry &entry,
|
||||
if (ret) {
|
||||
data.knownFlagsMask |= QFileSystemMetaData::ExistsAttribute;
|
||||
data.entryFlags |= QFileSystemMetaData::ExistsAttribute;
|
||||
QString canonicalPath = QDir::cleanPath(QString::fromLocal8Bit(ret));
|
||||
QString canonicalPath = QDir::cleanPath(QFile::decodeName(ret));
|
||||
free(ret);
|
||||
return QFileSystemEntry(canonicalPath);
|
||||
} else if (errno == ENOENT) { // file doesn't exist
|
||||
|
@ -343,7 +343,7 @@ QStringList QFseventsFileSystemWatcherEngine::addPaths(const QStringList &paths,
|
||||
QStringList p = paths;
|
||||
QMutableListIterator<QString> it(p);
|
||||
while (it.hasNext()) {
|
||||
QString origPath = it.next();
|
||||
QString origPath = it.next().normalized(QString::NormalizationForm_C);
|
||||
QString realPath = origPath;
|
||||
if (realPath.endsWith(QDir::separator()))
|
||||
realPath = realPath.mid(0, realPath.size() - 1);
|
||||
|
@ -382,11 +382,11 @@ qint64 QFSFileEnginePrivate::nativeWrite(const char *data, qint64 len)
|
||||
|
||||
// Writing on Windows fails with ERROR_NO_SYSTEM_RESOURCES when
|
||||
// the chunks are too large, so we limit the block size to 32MB.
|
||||
const DWORD blockSize = DWORD(qMin(bytesToWrite, qint64(32 * 1024 * 1024)));
|
||||
qint64 totalWritten = 0;
|
||||
do {
|
||||
const DWORD currentBlockSize = DWORD(qMin(bytesToWrite, qint64(32 * 1024 * 1024)));
|
||||
DWORD bytesWritten;
|
||||
if (!WriteFile(fileHandle, data + totalWritten, blockSize, &bytesWritten, NULL)) {
|
||||
if (!WriteFile(fileHandle, data + totalWritten, currentBlockSize, &bytesWritten, NULL)) {
|
||||
if (totalWritten == 0) {
|
||||
// Note: Only return error if the first WriteFile failed.
|
||||
q->setError(QFile::WriteError, qt_error_string());
|
||||
|
@ -274,7 +274,6 @@ static QVariant qtValue(CFPropertyListRef cfvalue)
|
||||
|
||||
const QString str = QString::fromUtf8(byteArray.constData(), byteArray.size());
|
||||
return QSettingsPrivate::stringToVariant(str);
|
||||
|
||||
} else if (typeId == CFDictionaryGetTypeID()) {
|
||||
CFDictionaryRef cfdict = static_cast<CFDictionaryRef>(cfvalue);
|
||||
CFTypeID arrayTypeId = CFArrayGetTypeID();
|
||||
|
@ -245,7 +245,7 @@ QString QStandardPaths::writableLocation(StandardLocation type)
|
||||
break;
|
||||
|
||||
case FontsLocation:
|
||||
path = QDir::homePath() + QLatin1String("/.fonts");
|
||||
path = writableLocation(GenericDataLocation) + QLatin1String("/fonts");
|
||||
break;
|
||||
|
||||
case MusicLocation:
|
||||
@ -340,6 +340,9 @@ QStringList QStandardPaths::standardLocations(StandardLocation type)
|
||||
for (int i = 0; i < dirs.count(); ++i)
|
||||
appendOrganizationAndApp(dirs[i]);
|
||||
break;
|
||||
case FontsLocation:
|
||||
dirs += QDir::homePath() + QLatin1String("/.fonts");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
13
src/corelib/io/qt_attribution.json
Normal file
13
src/corelib/io/qt_attribution.json
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"Id": "qtemporaryfile",
|
||||
"Name": "Parts of QTemporaryFile",
|
||||
"QDocModule": "qtcore",
|
||||
"QtUsage": "Used in Qt Core. Disable the qtemporaryfile feature to avoid.",
|
||||
"Path": "qtemporaryfile.cpp",
|
||||
|
||||
"Description": "Generates a unique file path and returns a native handle to the open file.",
|
||||
"License": "BSD 3-clause \"New\" or \"Revised\" License",
|
||||
"LicenseId": "BSD-3-Clause",
|
||||
"LicenseFile": "QTEMPORARYFILE_LICENSE.txt",
|
||||
"Copyright": "Copyright (c) 1987, 1993 The Regents of the University of California."
|
||||
}
|
@ -155,7 +155,7 @@
|
||||
dealing with URLs and strings:
|
||||
|
||||
\list
|
||||
\li When creating an QString to contain a URL from a QByteArray or a
|
||||
\li When creating a QString to contain a URL from a QByteArray or a
|
||||
char*, always use QString::fromUtf8().
|
||||
\endlist
|
||||
*/
|
||||
@ -4128,35 +4128,6 @@ static bool isIp6(const QString &text)
|
||||
return !text.isEmpty() && QIPAddressUtils::parseIp6(address, text.begin(), text.end()) == 0;
|
||||
}
|
||||
|
||||
// The following code has the following copyright:
|
||||
/*
|
||||
Copyright (C) Research In Motion Limited 2009. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of Research In Motion Limited nor the
|
||||
contributors may be used to endorse or promote products derived
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY Research In Motion Limited ''AS IS'' AND ANY
|
||||
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL Research In Motion Limited BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
/*!
|
||||
Returns a valid URL from a user supplied \a userInput string if one can be
|
||||
deducted. In the case that is not possible, an invalid QUrl() is returned.
|
||||
@ -4275,6 +4246,5 @@ QUrl QUrl::fromUserInput(const QString &userInput)
|
||||
|
||||
return QUrl();
|
||||
}
|
||||
// end of BSD code
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -9,8 +9,8 @@ Those arrays in qurltlds_p.h are derived from the Public
|
||||
Suffix List ([2]), which was originally provided by
|
||||
Jo Hermans <jo.hermans@gmail.com>.
|
||||
|
||||
The file qurltlds_p.h was last generated Wednesday,
|
||||
February 11th 14:36 2015.
|
||||
The file qurltlds_p.h was last generated Thursday,
|
||||
October 20th 8:40 2016.
|
||||
|
||||
----
|
||||
[1] list: http://mxr.mozilla.org/mozilla-central/source/netwerk/dns/effective_tld_names.dat?raw=1
|
||||
|
@ -260,22 +260,28 @@ QJsonDocument QJsonDocument::fromBinaryData(const QByteArray &data, DataValidati
|
||||
Creates a QJsonDocument from the QVariant \a variant.
|
||||
|
||||
If the \a variant contains any other type than a QVariantMap,
|
||||
QVariantHash, QVariantList or QStringList, the returned document
|
||||
document is invalid.
|
||||
QVariantHash, QVariantList or QStringList, the returned document is invalid.
|
||||
|
||||
\sa toVariant()
|
||||
*/
|
||||
QJsonDocument QJsonDocument::fromVariant(const QVariant &variant)
|
||||
{
|
||||
QJsonDocument doc;
|
||||
if (variant.type() == QVariant::Map) {
|
||||
switch (variant.type()) {
|
||||
case QVariant::Map:
|
||||
doc.setObject(QJsonObject::fromVariantMap(variant.toMap()));
|
||||
} else if (variant.type() == QVariant::Hash) {
|
||||
break;
|
||||
case QVariant::Hash:
|
||||
doc.setObject(QJsonObject::fromVariantHash(variant.toHash()));
|
||||
} else if (variant.type() == QVariant::List) {
|
||||
break;
|
||||
case QVariant::List:
|
||||
doc.setArray(QJsonArray::fromVariantList(variant.toList()));
|
||||
} else if (variant.type() == QVariant::StringList) {
|
||||
break;
|
||||
case QVariant::StringList:
|
||||
doc.setArray(QJsonArray::fromStringList(variant.toStringList()));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return doc;
|
||||
}
|
||||
@ -344,10 +350,9 @@ QByteArray QJsonDocument::toJson() const
|
||||
#ifndef QT_JSON_READONLY
|
||||
QByteArray QJsonDocument::toJson(JsonFormat format) const
|
||||
{
|
||||
if (!d)
|
||||
return QByteArray();
|
||||
|
||||
QByteArray json;
|
||||
if (!d)
|
||||
return json;
|
||||
|
||||
if (d->header->root()->isArray())
|
||||
QJsonPrivate::Writer::arrayToJson(static_cast<QJsonPrivate::Array *>(d->header->root()), json, 0, (format == Compact));
|
||||
|
29
src/corelib/kernel/QEVENTDISPATCHER_CF_LICENSE.txt
Normal file
29
src/corelib/kernel/QEVENTDISPATCHER_CF_LICENSE.txt
Normal file
@ -0,0 +1,29 @@
|
||||
Copyright (c) 2007-2008, Apple, Inc.
|
||||
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
* Neither the name of Apple, Inc. nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
@ -140,14 +140,12 @@ nacl {
|
||||
unix|integrity {
|
||||
SOURCES += \
|
||||
kernel/qcore_unix.cpp \
|
||||
kernel/qcrashhandler.cpp \
|
||||
kernel/qeventdispatcher_unix.cpp \
|
||||
kernel/qtimerinfo_unix.cpp
|
||||
!darwin|nacl: SOURCES += kernel/qelapsedtimer_unix.cpp
|
||||
|
||||
HEADERS += \
|
||||
kernel/qcore_unix_p.h \
|
||||
kernel/qcrashhandler_p.h \
|
||||
kernel/qeventdispatcher_unix_p.h \
|
||||
kernel/qpoll_p.h \
|
||||
kernel/qtimerinfo_unix_p.h
|
||||
|
@ -1004,7 +1004,7 @@ bool QCoreApplication::notifyInternal2(QObject *receiver, QEvent *event)
|
||||
approaches are listed below:
|
||||
\list 1
|
||||
\li Reimplementing \l {QWidget::}{paintEvent()}, \l {QWidget::}{mousePressEvent()} and so
|
||||
on. This is the commonest, easiest, and least powerful way.
|
||||
on. This is the most common, easiest, and least powerful way.
|
||||
|
||||
\li Reimplementing this function. This is very powerful, providing
|
||||
complete control; but only one subclass can be active at a time.
|
||||
|
@ -1,421 +0,0 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2016 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the QtCore module of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:LGPL$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU Lesser General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.LGPL3 included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU Lesser General Public License version 3 requirements
|
||||
** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 2.0 or (at your option) the GNU General
|
||||
** Public license version 3 or any later version approved by the KDE Free
|
||||
** Qt Foundation. The licenses are as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-2.0.html and
|
||||
** https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
/*************************************************************************
|
||||
*
|
||||
* stacktrace.c 1.2 1998/12/21
|
||||
*
|
||||
* Copyright (c) 1998 by Bjorn Reese <breese@imada.ou.dk>
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
|
||||
* CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER.
|
||||
*
|
||||
************************************************************************/
|
||||
|
||||
#include "qplatformdefs.h"
|
||||
#include "private/qcrashhandler_p.h"
|
||||
#include "qbytearray.h" // for qvsnprintf()
|
||||
|
||||
#ifndef QT_NO_CRASHHANDLER
|
||||
|
||||
#include <stdio.h>
|
||||
#include <signal.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
QtCrashHandler QSegfaultHandler::callback = 0;
|
||||
|
||||
#if defined(__GLIBC__) && (__GLIBC__ >= 2) && !defined(__UCLIBC__) && !defined(QT_LINUXBASE)
|
||||
QT_BEGIN_INCLUDE_NAMESPACE
|
||||
# include "qstring.h"
|
||||
# include <execinfo.h>
|
||||
QT_END_INCLUDE_NAMESPACE
|
||||
|
||||
static void print_backtrace(FILE *outb)
|
||||
{
|
||||
void *stack[128];
|
||||
int stack_size = backtrace(stack, sizeof(stack) / sizeof(void *));
|
||||
char **stack_symbols = backtrace_symbols(stack, stack_size);
|
||||
fprintf(outb, "Stack [%d]:\n", stack_size);
|
||||
if(FILE *cppfilt = popen("c++filt", "rw")) {
|
||||
dup2(fileno(outb), fileno(cppfilt));
|
||||
for(int i = stack_size-1; i>=0; --i)
|
||||
fwrite(stack_symbols[i], 1, strlen(stack_symbols[i]), cppfilt);
|
||||
pclose(cppfilt);
|
||||
} else {
|
||||
for(int i = stack_size-1; i>=0; --i)
|
||||
fprintf(outb, "#%d %p [%s]\n", i, stack[i], stack_symbols[i]);
|
||||
}
|
||||
}
|
||||
static void init_backtrace(char **, int)
|
||||
{
|
||||
}
|
||||
|
||||
#else /* Don't use the GLIBC callback */
|
||||
/* Code sourced from: */
|
||||
QT_BEGIN_INCLUDE_NAMESPACE
|
||||
#include <stdarg.h>
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/wait.h>
|
||||
#if defined(Q_OS_IRIX) && defined(USE_LIBEXC)
|
||||
# include <libexc.h>
|
||||
#endif
|
||||
QT_END_INCLUDE_NAMESPACE
|
||||
|
||||
|
||||
static char *globalProgName = NULL;
|
||||
static bool backtrace_command(FILE *outb, const char *format, ...)
|
||||
{
|
||||
|
||||
bool ret = false;
|
||||
char buffer[50];
|
||||
|
||||
/*
|
||||
* Please note that vsnprintf() is not ASync safe (ie. cannot safely
|
||||
* be used from a signal handler.) If this proves to be a problem
|
||||
* then the cmd string can be built by more basic functions such as
|
||||
* strcpy, strcat, and a home-made integer-to-ascii function.
|
||||
*/
|
||||
va_list args;
|
||||
char cmd[512];
|
||||
va_start(args, format);
|
||||
qvsnprintf(cmd, 512, format, args);
|
||||
va_end(args);
|
||||
|
||||
char *foo = cmd;
|
||||
#if 0
|
||||
foo = "echo hi";
|
||||
#endif
|
||||
if(FILE *inb = popen(foo, "r")) {
|
||||
while(!feof(inb)) {
|
||||
int len = fread(buffer, 1, sizeof(buffer), inb);
|
||||
if(!len)
|
||||
break;
|
||||
if(!ret) {
|
||||
fwrite("Output from ", 1, strlen("Output from "), outb);
|
||||
strtok(cmd, " ");
|
||||
fwrite(cmd, 1, strlen(cmd), outb);
|
||||
fwrite("\n", 1, 1, outb);
|
||||
ret = true;
|
||||
}
|
||||
fwrite(buffer, 1, len, outb);
|
||||
}
|
||||
fclose(inb);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void init_backtrace(char **argv, int argc)
|
||||
{
|
||||
if(argc >= 1)
|
||||
globalProgName = argv[0];
|
||||
}
|
||||
|
||||
static void print_backtrace(FILE *outb)
|
||||
{
|
||||
/*
|
||||
* In general dbx seems to do a better job than gdb.
|
||||
*
|
||||
* Different dbx implementations require different flags/commands.
|
||||
*/
|
||||
#if defined(Q_OS_AIX)
|
||||
if(backtrace_command(outb, "dbx -a %d 2>/dev/null <<EOF\n"
|
||||
"where\n"
|
||||
"detach\n"
|
||||
"EOF\n",
|
||||
(int)getpid()))
|
||||
return;
|
||||
if(backtrace_command(outb, "gdb -q %s %d 2>/dev/null <<EOF\n"
|
||||
"set prompt\n"
|
||||
"where\n"
|
||||
"detach\n"
|
||||
"quit\n"
|
||||
"EOF\n",
|
||||
globalProgName, (int)getpid()))
|
||||
return;
|
||||
#elif defined(Q_OS_FREEBSD)
|
||||
/*
|
||||
* FreeBSD insists on sending a SIGSTOP to the process we
|
||||
* attach to, so we let the debugger send a SIGCONT to that
|
||||
* process after we have detached.
|
||||
*/
|
||||
if(backtrace_command(outb, "gdb -q %s %d 2>/dev/null <<EOF\n"
|
||||
"set prompt\n"
|
||||
"where\n"
|
||||
"detach\n"
|
||||
"shell kill -CONT %d\n"
|
||||
"quit\n"
|
||||
"EOF\n",
|
||||
globalProgName, (int)getpid(), (int)getpid()))
|
||||
return;
|
||||
#elif defined(Q_OS_HPUX)
|
||||
/*
|
||||
* HP decided to call their debugger xdb.
|
||||
*
|
||||
* This does not seem to work properly yet. The debugger says
|
||||
* "Note: Stack traces may not be possible until you are
|
||||
* stopped in user code." on HP-UX 09.01
|
||||
*
|
||||
* -L = line-oriented interface.
|
||||
* "T [depth]" gives a stacktrace with local variables.
|
||||
* The final "y" is confirmation to the quit command.
|
||||
*/
|
||||
if(backtrace_command(outb, "xdb -P %d -L %s 2>&1 <<EOF\n"
|
||||
"T 50\n"
|
||||
"q\ny\n"
|
||||
"EOF\n",
|
||||
(int)getpid(), globalProgName))
|
||||
return;
|
||||
if(backtrace_command(outb, "gdb -q %s %d 2>/dev/null <<EOF\n"
|
||||
"set prompt\n"
|
||||
"where\n"
|
||||
"detach\n"
|
||||
"quit\n"
|
||||
"EOF\n",
|
||||
globalProgName, (int)getpid()))
|
||||
return;
|
||||
#elif defined(Q_OS_IRIX)
|
||||
/*
|
||||
* "set $page=0" drops hold mode
|
||||
* "dump ." displays the contents of the variables
|
||||
*/
|
||||
if(backtrace_command(outb, "dbx -p %d 2>/dev/null <<EOF\n"
|
||||
"set \\$page=0\n"
|
||||
"where\n"
|
||||
# if !defined(__GNUC__)
|
||||
/* gcc does not generate this information */
|
||||
"dump .\n"
|
||||
# endif
|
||||
"detach\n"
|
||||
"EOF\n",
|
||||
(int)getpid()))
|
||||
return;
|
||||
|
||||
# if defined(USE_LIBEXC)
|
||||
if(trace_back_stack_and_print())
|
||||
return;
|
||||
# endif
|
||||
if(backtrace_command(outb, "gdb -q %s %d 2>/dev/null <<EOF\n"
|
||||
"set prompt\n"
|
||||
"where\n"
|
||||
"echo ---\\n\n"
|
||||
"frame 5\n" /* Skip signal handler frames */
|
||||
"set \\$x = 50\n"
|
||||
"while (\\$x)\n" /* Print local variables for each frame */
|
||||
"info locals\n"
|
||||
"up\n"
|
||||
"set \\$x--\n"
|
||||
"end\n"
|
||||
"echo ---\\n\n"
|
||||
"detach\n"
|
||||
"quit\n"
|
||||
"EOF\n",
|
||||
globalProgName, (int)getpid()))
|
||||
return;
|
||||
#elif defined(Q_OS_OSF)
|
||||
if(backtrace_command(outb, "dbx -pid %d %s 2>/dev/null <<EOF\n"
|
||||
"where\n"
|
||||
"detach\n"
|
||||
"quit\n"
|
||||
"EOF\n",
|
||||
(int)getpid(), globalProgName))
|
||||
return;
|
||||
if(backtrace_command(outb, "gdb -q %s %d 2>/dev/null <<EOF\n"
|
||||
"set prompt\n"
|
||||
"where\n"
|
||||
"detach\n"
|
||||
"quit\n"
|
||||
"EOF\n",
|
||||
globalProgName, (int)getpid()))
|
||||
return;
|
||||
#elif defined(Q_OS_SCO)
|
||||
/*
|
||||
* SCO OpenServer dbx is like a catch-22. The 'detach' command
|
||||
* depends on whether ptrace(S) support detaching or not. If it
|
||||
* is supported then 'detach' must be used, otherwise the process
|
||||
* will be killed upon dbx exit. If it isn't supported then 'detach'
|
||||
* will cause the process to be killed. We do not want it to be
|
||||
* killed.
|
||||
*
|
||||
* Out of two evils, the omission of 'detach' was chosen because
|
||||
* it worked on our system.
|
||||
*/
|
||||
if(backtrace_command(outb, "dbx %s %d 2>/dev/null <<EOF\n"
|
||||
"where\n"
|
||||
"quit\nEOF\n",
|
||||
globalProgName, (int)getpid()))
|
||||
return;
|
||||
if(backtrace_command(outb, "gdb -q %s %d 2>/dev/null <<EOF\n"
|
||||
"set prompt\n"
|
||||
"where\n"
|
||||
"detach\n"
|
||||
"quit\n"
|
||||
"EOF\n",
|
||||
globalProgName, (int)getpid()))
|
||||
return;
|
||||
#elif defined(Q_OS_SOLARIS)
|
||||
if(backtrace_command(outb, "dbx %s %d 2>/dev/null <<EOF\n"
|
||||
"where\n"
|
||||
"detach\n"
|
||||
"EOF\n",
|
||||
globalProgName, (int)getpid()))
|
||||
return;
|
||||
if(backtrace_command(outb, "gdb -q %s %d 2>/dev/null <<EOF\n"
|
||||
"set prompt\n"
|
||||
"where\n"
|
||||
"echo ---\\n\n"
|
||||
"frame 5\n" /* Skip signal handler frames */
|
||||
"set \\$x = 50\n"
|
||||
"while (\\$x)\n" /* Print local variables for each frame */
|
||||
"info locals\n"
|
||||
"up\n"
|
||||
"set \\$x--\n"
|
||||
"end\n"
|
||||
"echo ---\\n\n"
|
||||
"detach\n"
|
||||
"quit\n"
|
||||
"EOF\n",
|
||||
globalProgName, (int)getpid()))
|
||||
return;
|
||||
if(backtrace_command(outb, "/usr/proc/bin/pstack %d",
|
||||
(int)getpid()))
|
||||
return;
|
||||
/*
|
||||
* Other Unices (AIX, HPUX, SCO) also have adb, but
|
||||
* they seem unable to attach to a running process.)
|
||||
*/
|
||||
if(backtrace_command(outb, "adb %s 2>&1 <<EOF\n"
|
||||
"0t%d:A\n" /* Attach to pid */
|
||||
"\\$c\n" /* print stacktrace */
|
||||
":R\n" /* Detach */
|
||||
"\\$q\n" /* Quit */
|
||||
"EOF\n",
|
||||
globalProgName, (int)getpid()))
|
||||
return;
|
||||
#elif defined(Q_OS_INTEGRITY)
|
||||
/* abort */
|
||||
CheckSuccess(Failure);
|
||||
#else /* All other platforms */
|
||||
/*
|
||||
* TODO: SCO/UnixWare 7 must be something like (not tested)
|
||||
* debug -i c <pid> <<EOF\nstack -f 4\nquit\nEOF\n
|
||||
*/
|
||||
# if !defined(__GNUC__)
|
||||
if(backtrace_command(outb, "dbx %s %d 2>/dev/null <<EOF\n"
|
||||
"where\n"
|
||||
"detach\n"
|
||||
"EOF\n",
|
||||
globalProgName, (int)getpid()))
|
||||
return;
|
||||
# endif
|
||||
if(backtrace_command(outb, "gdb -q %s %d 2>/dev/null <<EOF\n"
|
||||
"set prompt\n"
|
||||
"where\n"
|
||||
#if 0
|
||||
"echo ---\\n\n"
|
||||
"frame 4\n"
|
||||
"set \\$x = 50\n"
|
||||
"while (\\$x)\n"
|
||||
"info locals\n"
|
||||
"up\n"
|
||||
"set \\$x--\n"
|
||||
"end\n"
|
||||
"echo ---\\n\n"
|
||||
#endif
|
||||
"detach\n"
|
||||
"quit\n"
|
||||
"EOF\n",
|
||||
globalProgName, (int)getpid()))
|
||||
return;
|
||||
#endif
|
||||
const char debug_err[] = "No debugger found\n";
|
||||
fwrite(debug_err, strlen(debug_err), 1, outb);
|
||||
}
|
||||
/* end of copied code */
|
||||
#endif
|
||||
|
||||
|
||||
void qt_signal_handler(int sig)
|
||||
{
|
||||
signal(sig, SIG_DFL);
|
||||
if(QSegfaultHandler::callback) {
|
||||
(*QSegfaultHandler::callback)();
|
||||
_exit(1);
|
||||
}
|
||||
FILE *outb = stderr;
|
||||
if(char *crash_loc = ::getenv("QT_CRASH_OUTPUT")) {
|
||||
if(FILE *new_outb = fopen(crash_loc, "w")) {
|
||||
fprintf(stderr, "Crash (backtrace written to %s)!!!\n", crash_loc);
|
||||
outb = new_outb;
|
||||
}
|
||||
} else {
|
||||
fprintf(outb, "Crash!!!\n");
|
||||
}
|
||||
print_backtrace(outb);
|
||||
if(outb != stderr)
|
||||
fclose(outb);
|
||||
_exit(1);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
QSegfaultHandler::initialize(char **argv, int argc)
|
||||
{
|
||||
init_backtrace(argv, argc);
|
||||
|
||||
struct sigaction SignalAction;
|
||||
SignalAction.sa_flags = 0;
|
||||
SignalAction.sa_handler = qt_signal_handler;
|
||||
sigemptyset(&SignalAction.sa_mask);
|
||||
sigaction(SIGSEGV, &SignalAction, NULL);
|
||||
sigaction(SIGBUS, &SignalAction, NULL);
|
||||
}
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif // QT_NO_CRASHHANDLER
|
13
src/corelib/kernel/qt_attribution.json
Normal file
13
src/corelib/kernel/qt_attribution.json
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"Id": "qeventdispatcher_cf",
|
||||
"Name": "QEventDispatcher on macOS",
|
||||
"QDocModule": "qtcore",
|
||||
"QtUsage": "Used in Qt Core on macOS.",
|
||||
"Path": "qeventdispatcher_cf_p.h",
|
||||
|
||||
"Description": "Implementation of QAbstractEventDispatcher for macOS.",
|
||||
"License": "BSD 3-clause \"New\" or \"Revised\" License",
|
||||
"LicenseId": "BSD-3-Clause",
|
||||
"LicenseFile": "QEVENTDISPATCHER_CF_LICENSE.txt",
|
||||
"Copyright": "Copyright (c) 2007-2008, Apple, Inc."
|
||||
}
|
@ -533,7 +533,7 @@ void QTimer::singleShot(int msec, Qt::TimerType timerType, const QObject *receiv
|
||||
*/
|
||||
|
||||
/*!
|
||||
\fn void QTimer::singleShot(std::chrono::duration<Rep, Period> value, const QObject *receiver, const char *member)
|
||||
\fn void QTimer::singleShot(std::chrono::milliseconds msec, const QObject *receiver, const char *member)
|
||||
\since 5.8
|
||||
\overload
|
||||
\reentrant
|
||||
@ -545,13 +545,13 @@ void QTimer::singleShot(int msec, Qt::TimerType timerType, const QObject *receiv
|
||||
create a local QTimer object.
|
||||
|
||||
The \a receiver is the receiving object and the \a member is the slot. The
|
||||
time interval is given in the duration object \a value.
|
||||
time interval is given in the duration object \a msec.
|
||||
|
||||
\sa start()
|
||||
*/
|
||||
|
||||
/*!
|
||||
\fn void QTimer::singleShot(std::chrono::duration<Rep, Period> value, Qt::TimerType timerType, const QObject *receiver, const char *member)
|
||||
\fn void QTimer::singleShot(std::chrono::milliseconds msec, Qt::TimerType timerType, const QObject *receiver, const char *member)
|
||||
\since 5.8
|
||||
\overload
|
||||
\reentrant
|
||||
@ -563,18 +563,18 @@ void QTimer::singleShot(int msec, Qt::TimerType timerType, const QObject *receiv
|
||||
create a local QTimer object.
|
||||
|
||||
The \a receiver is the receiving object and the \a member is the slot. The
|
||||
time interval is given in the duration object \a value. The \a timerType affects the
|
||||
time interval is given in the duration object \a msec. The \a timerType affects the
|
||||
accuracy of the timer.
|
||||
|
||||
\sa start()
|
||||
*/
|
||||
|
||||
/*!
|
||||
\fn void QTimer::start(std::chrono::duration<Rep, Period> value)
|
||||
\fn void QTimer::start(std::chrono::milliseconds msec)
|
||||
\since 5.8
|
||||
\overload
|
||||
|
||||
Starts or restarts the timer with a timeout of duration \a value.
|
||||
Starts or restarts the timer with a timeout of duration \a msec milliseconds.
|
||||
|
||||
If the timer is already running, it will be
|
||||
\l{QTimer::stop()}{stopped} and restarted.
|
||||
|
@ -165,38 +165,40 @@ Q_SIGNALS:
|
||||
|
||||
public:
|
||||
#if QT_HAS_INCLUDE(<chrono>) || defined(Q_QDOC)
|
||||
template <class Rep, class Period>
|
||||
void setInterval(std::chrono::duration<Rep, Period> value)
|
||||
Q_ALWAYS_INLINE
|
||||
void setInterval(std::chrono::milliseconds value)
|
||||
{
|
||||
setInterval(std::chrono::duration_cast<std::chrono::milliseconds>(value).count());
|
||||
setInterval(value.count());
|
||||
}
|
||||
|
||||
Q_ALWAYS_INLINE
|
||||
std::chrono::milliseconds intervalAsDuration() const
|
||||
{
|
||||
return std::chrono::milliseconds(interval());
|
||||
}
|
||||
|
||||
Q_ALWAYS_INLINE
|
||||
std::chrono::milliseconds remainingTimeAsDuration() const
|
||||
{
|
||||
return std::chrono::milliseconds(remainingTime());
|
||||
}
|
||||
|
||||
template <class Rep, class Period>
|
||||
static void singleShot(std::chrono::duration<Rep, Period> value, const QObject *receiver, const char *member)
|
||||
Q_ALWAYS_INLINE
|
||||
static void singleShot(std::chrono::milliseconds value, const QObject *receiver, const char *member)
|
||||
{
|
||||
singleShot(int(std::chrono::duration_cast<std::chrono::milliseconds>(value).count()), receiver, member);
|
||||
singleShot(int(value.count()), receiver, member);
|
||||
}
|
||||
|
||||
template <class Rep, class Period>
|
||||
static void singleShot(std::chrono::duration<Rep, Period> value, Qt::TimerType timerType, const QObject *receiver, const char *member)
|
||||
Q_ALWAYS_INLINE
|
||||
static void singleShot(std::chrono::milliseconds value, Qt::TimerType timerType, const QObject *receiver, const char *member)
|
||||
{
|
||||
singleShot(int(std::chrono::duration_cast<std::chrono::milliseconds>(value).count()), timerType, receiver, member);
|
||||
singleShot(int(value.count()), timerType, receiver, member);
|
||||
}
|
||||
|
||||
template <class Rep, class Period>
|
||||
void start(std::chrono::duration<Rep, Period> value)
|
||||
Q_ALWAYS_INLINE
|
||||
void start(std::chrono::milliseconds value)
|
||||
{
|
||||
start(int(std::chrono::duration_cast<std::chrono::milliseconds>(value).count()));
|
||||
start(int(value.count()));
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -215,15 +217,13 @@ private:
|
||||
const QObject *receiver, QtPrivate::QSlotObjectBase *slotObj);
|
||||
|
||||
#if QT_HAS_INCLUDE(<chrono>)
|
||||
template <class Rep, class Period>
|
||||
static Qt::TimerType defaultTypeFor(std::chrono::duration<Rep, Period> interval)
|
||||
{ return defaultTypeFor(int(std::chrono::duration_cast<std::chrono::milliseconds>(interval).count())); }
|
||||
static Qt::TimerType defaultTypeFor(std::chrono::milliseconds interval)
|
||||
{ return defaultTypeFor(int(interval.count())); }
|
||||
|
||||
template <class Rep, class Period>
|
||||
static void singleShotImpl(std::chrono::duration<Rep, Period> interval, Qt::TimerType timerType,
|
||||
static void singleShotImpl(std::chrono::milliseconds interval, Qt::TimerType timerType,
|
||||
const QObject *receiver, QtPrivate::QSlotObjectBase *slotObj)
|
||||
{
|
||||
singleShotImpl(int(std::chrono::duration_cast<std::chrono::milliseconds>(interval).count()),
|
||||
singleShotImpl(int(interval.count()),
|
||||
timerType, receiver, slotObj);
|
||||
}
|
||||
#endif
|
||||
|
@ -712,6 +712,10 @@ QMimeXMLProvider::QMimeXMLProvider(QMimeDatabasePrivate *db)
|
||||
initResources();
|
||||
}
|
||||
|
||||
QMimeXMLProvider::~QMimeXMLProvider()
|
||||
{
|
||||
}
|
||||
|
||||
bool QMimeXMLProvider::isValid()
|
||||
{
|
||||
return true;
|
||||
|
@ -138,6 +138,7 @@ class QMimeXMLProvider : public QMimeProviderBase
|
||||
{
|
||||
public:
|
||||
QMimeXMLProvider(QMimeDatabasePrivate *db);
|
||||
~QMimeXMLProvider();
|
||||
|
||||
virtual bool isValid() Q_DECL_OVERRIDE;
|
||||
virtual QMimeType mimeTypeForName(const QString &name) Q_DECL_OVERRIDE;
|
||||
|
@ -89,8 +89,8 @@ public:
|
||||
void unlock()
|
||||
{
|
||||
if (locked) {
|
||||
if (mtx1) mtx1->unlock();
|
||||
if (mtx2) mtx2->unlock();
|
||||
if (mtx1) mtx1->unlock();
|
||||
locked = false;
|
||||
}
|
||||
}
|
||||
@ -100,7 +100,7 @@ public:
|
||||
// mtx1 is already locked, mtx2 not... do we need to unlock and relock?
|
||||
if (mtx1 == mtx2)
|
||||
return false;
|
||||
if (mtx1 < mtx2) {
|
||||
if (std::less<QMutex *>()(mtx1, mtx2)) {
|
||||
mtx2->lock();
|
||||
return true;
|
||||
}
|
||||
|
31
src/corelib/tools/CLDR_LICENSE.txt
Normal file
31
src/corelib/tools/CLDR_LICENSE.txt
Normal file
@ -0,0 +1,31 @@
|
||||
Copyright © 1991-2016 Unicode, Inc. All rights reserved.
|
||||
Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Unicode data files and any associated documentation
|
||||
(the "Data Files") or Unicode software and any associated documentation
|
||||
(the "Software") to deal in the Data Files or Software
|
||||
without restriction, including without limitation the rights to use,
|
||||
copy, modify, merge, publish, distribute, and/or sell copies of
|
||||
the Data Files or Software, and to permit persons to whom the Data Files
|
||||
or Software are furnished to do so, provided that either
|
||||
(a) this copyright and permission notice appear with all copies
|
||||
of the Data Files or Software, or
|
||||
(b) this copyright and permission notice appear in associated
|
||||
Documentation.
|
||||
|
||||
THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
|
||||
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
||||
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT OF THIRD PARTY RIGHTS.
|
||||
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
|
||||
NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
|
||||
DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THE DATA FILES OR SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of a copyright holder
|
||||
shall not be used in advertising or otherwise to promote the sale,
|
||||
use or other dealings in these Data Files or Software without prior
|
||||
written authorization of the copyright holder.
|
@ -42,6 +42,10 @@
|
||||
|
||||
#include <QtCore/qglobal.h>
|
||||
|
||||
#if defined(Q_CC_MSVC)
|
||||
#include <intrin.h>
|
||||
#endif
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_GCC("-Wdeprecated-declarations")
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user