Merge remote-tracking branch 'origin/stable' into dev
Conflicts: src/plugins/platforms/cocoa/qcocoamenubar.mm Change-Id: I4a699fc8a7f30b2af9de8e496c3d5f027b7495bb
This commit is contained in:
commit
e2776b44a0
@ -14,8 +14,8 @@ TECHNOLOGY PREVIEW LICENSE AGREEMENT: The Americas
|
||||
Agreement version 2.4
|
||||
|
||||
This Technology Preview License Agreement ("Agreement")is a legal agreement
|
||||
between Digia USA, Inc. ("Digia"), with its registered office at 32 W.
|
||||
Loockerman Street, Suite 201, City of Dover, County of Kent, Delaware 19904,
|
||||
between Digia USA, Inc. ("Digia"), with its registered office at 2350
|
||||
Mission College Blvd., Suite 1020, Santa Clara, California 95054,
|
||||
U.S.A. and you (either an individual or a legal entity) ("Licensee") for the
|
||||
Licensed Software (as defined below).
|
||||
|
||||
|
207
bin/syncqt.pl
207
bin/syncqt.pl
@ -97,7 +97,6 @@ my $force_win = 0;
|
||||
my $force_relative = 0;
|
||||
my $check_includes = 0;
|
||||
my $copy_headers = 0;
|
||||
my $create_uic_class_map = 0;
|
||||
my $create_private_headers = 1;
|
||||
my $minimal = 0;
|
||||
my $module_version = 0;
|
||||
@ -171,6 +170,30 @@ sub checkRelative {
|
||||
return 1;
|
||||
}
|
||||
|
||||
######################################################################
|
||||
# Syntax: shouldMasterInclude(iheader)
|
||||
# Params: iheader, string, filename to verify inclusion
|
||||
#
|
||||
# Purpose: Determines if header should be in the master include file.
|
||||
# Returns: 0 if file contains "#pragma qt_no_master_include" or not
|
||||
# able to open, else 1.
|
||||
######################################################################
|
||||
sub shouldMasterInclude {
|
||||
my ($iheader) = @_;
|
||||
return 0 if (basename($iheader) =~ /_/);
|
||||
return 0 if (basename($iheader) =~ /qconfig/);
|
||||
if (open(F, "<$iheader")) {
|
||||
while (<F>) {
|
||||
chomp;
|
||||
return 0 if (/^\#pragma qt_no_master_include$/);
|
||||
}
|
||||
close(F);
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
######################################################################
|
||||
# Syntax: classNames(iheader)
|
||||
# Params: iheader, string, filename to parse for classname "symlinks"
|
||||
@ -382,6 +405,32 @@ sub fileContents {
|
||||
return $filecontents;
|
||||
}
|
||||
|
||||
######################################################################
|
||||
# Syntax: writeFile(filename, contents)
|
||||
# Params: filename, string, filename of file to write
|
||||
# contents, string, new contents for the file
|
||||
#
|
||||
# Purpose: Write file with given contents. If new contents match old
|
||||
# ones, do no change the file's timestamp.
|
||||
# Returns: 1 if the file's contents changed.
|
||||
######################################################################
|
||||
sub writeFile {
|
||||
my ($filename, $contents, $lib, $what) = @_;
|
||||
my $oldcontents = fileContents($filename);
|
||||
$oldcontents =~ s/\r//g; # remove \r's , so comparison is ok on all platforms
|
||||
if ($oldcontents ne $contents) {
|
||||
open(O, "> " . $filename) || die "Could not open $filename for writing: $!\n";
|
||||
print O $contents;
|
||||
close O;
|
||||
if ($lib && $verbose_level) {
|
||||
my $action = ($oldcontents eq "") ? "created" : "updated";
|
||||
print "$lib: $action $what\n";
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
######################################################################
|
||||
# Syntax: fileCompare(file1, file2)
|
||||
# Params: file1, string, filename of first file
|
||||
@ -457,36 +506,6 @@ sub copyFile
|
||||
return 0;
|
||||
}
|
||||
|
||||
######################################################################
|
||||
# Syntax: symlinkFile(file, ifile)
|
||||
# Params: file, string, filename to create "symlink" for
|
||||
# ifile, string, destination name of symlink
|
||||
#
|
||||
# Purpose: File is symlinked to ifile (or copied if filesystem doesn't
|
||||
# support symlink).
|
||||
# Returns: 1 on success, else 0.
|
||||
######################################################################
|
||||
sub symlinkFile
|
||||
{
|
||||
my ($lib, $file, $ifile) = @_;
|
||||
|
||||
if ($isunix) {
|
||||
print "$lib: symlink created for $file " if ($verbose_level);
|
||||
if ( $force_relative && ($ifile =~ /^$quoted_basedir/)) {
|
||||
my $t = getcwd();
|
||||
my $c = -1;
|
||||
my $p = "../";
|
||||
$t =~ s-^$quoted_basedir/--;
|
||||
$p .= "../" while( ($c = index( $t, "/", $c + 1)) != -1 );
|
||||
$file =~ s-^$quoted_basedir/-$p-;
|
||||
print " ($file)\n" if($verbose_level);
|
||||
}
|
||||
print "\n" if($verbose_level);
|
||||
return symlink($file, $ifile);
|
||||
}
|
||||
return copyFile($lib, $file, $ifile);
|
||||
}
|
||||
|
||||
######################################################################
|
||||
# Syntax: findFiles(dir, match, descend)
|
||||
# Params: dir, string, directory to search for name
|
||||
@ -736,7 +755,6 @@ while ( @ARGV ) {
|
||||
$modules{$module} = $prodir;
|
||||
push @modules_to_sync, $module;
|
||||
$moduleheaders{$module} = $headerdir;
|
||||
$create_uic_class_map = 0;
|
||||
} elsif ($var eq "version") {
|
||||
if($val) {
|
||||
$module_version = $val;
|
||||
@ -802,6 +820,12 @@ foreach my $lib (@modules_to_sync) {
|
||||
my $pri_install_pfiles = "";
|
||||
my $pri_install_qpafiles = "";
|
||||
|
||||
my $libcapitals = uc($lib);
|
||||
my $master_contents =
|
||||
"#ifndef QT_".$libcapitals."_MODULE_H\n" .
|
||||
"#define QT_".$libcapitals."_MODULE_H\n" .
|
||||
"#include <$lib/${lib}Depends>\n";
|
||||
|
||||
#remove the old files
|
||||
if($remove_stale) {
|
||||
my %injections = ();
|
||||
@ -867,15 +891,8 @@ foreach my $lib (@modules_to_sync) {
|
||||
#calc files and "copy" them
|
||||
foreach my $subdir (@subdirs) {
|
||||
my @headers = findFiles($subdir, "^[-a-z0-9_]*\\.h\$" , 0);
|
||||
if (defined $inject_headers{$subdir}) {
|
||||
foreach my $if (@{$inject_headers{$subdir}}) {
|
||||
@headers = grep(!/^\Q$if\E$/, @headers); #in case we configure'd previously
|
||||
push @headers, "*".$if;
|
||||
}
|
||||
}
|
||||
my $header_dirname = "";
|
||||
foreach my $header (@headers) {
|
||||
my $shadow = ($header =~ s/^\*//);
|
||||
$header = 0 if($header =~ /^ui_.*.h/);
|
||||
foreach (@ignore_headers) {
|
||||
$header = 0 if($header eq $_);
|
||||
@ -897,7 +914,6 @@ foreach my $lib (@modules_to_sync) {
|
||||
}
|
||||
|
||||
my $iheader = $subdir . "/" . $header;
|
||||
$iheader =~ s/^\Q$basedir\E/$out_basedir/ if ($shadow);
|
||||
my @classes = $public_header && !$minimal ? classNames($iheader) : ();
|
||||
if($showonly) {
|
||||
print "$header [$lib]\n";
|
||||
@ -938,10 +954,13 @@ foreach my $lib (@modules_to_sync) {
|
||||
}
|
||||
|
||||
foreach(@headers) { #sync them
|
||||
$header_copies++ if(syncHeader($lib, $_, $iheader, $copy_headers && !$shadow, $ts));
|
||||
$header_copies++ if (syncHeader($lib, $_, $iheader, $copy_headers, $ts));
|
||||
}
|
||||
|
||||
if($public_header) {
|
||||
#put it into the master file
|
||||
$master_contents .= "#include \"$public_header\"\n" if (shouldMasterInclude($iheader));
|
||||
|
||||
#deal with the install directives
|
||||
if($public_header) {
|
||||
my $pri_install_iheader = fixPaths($iheader, $dir);
|
||||
@ -1000,6 +1019,11 @@ foreach my $lib (@modules_to_sync) {
|
||||
}
|
||||
}
|
||||
|
||||
# close the master include:
|
||||
$master_contents .=
|
||||
"#include \"".lc($lib)."version.h\"\n" .
|
||||
"#endif\n";
|
||||
|
||||
unless ($showonly || $minimal) {
|
||||
# create deprecated headers
|
||||
my $first = 1;
|
||||
@ -1021,34 +1045,37 @@ foreach my $lib (@modules_to_sync) {
|
||||
my $header_dir = dirname($header_path);
|
||||
make_path($header_dir, $lib, $verbose_level);
|
||||
|
||||
open(HEADER, ">$header_path") || die "Could not open $header_path for writing: $!\n";
|
||||
print HEADER "#ifndef $guard\n";
|
||||
print HEADER "#define $guard\n";
|
||||
my $hdrcont =
|
||||
"#ifndef $guard\n" .
|
||||
"#define $guard\n";
|
||||
my $warning = "Header <$lib/";
|
||||
$warning .= "private/" unless ($public_header);
|
||||
$warning .= "$header> is deprecated. Please include <$include> instead.";
|
||||
print HEADER "#if defined(__GNUC__)\n";
|
||||
print HEADER "# warning $warning\n";
|
||||
print HEADER "#elif defined(_MSC_VER)\n";
|
||||
print HEADER "# pragma message (\"$warning\")\n";
|
||||
print HEADER "#endif\n";
|
||||
print HEADER "#include <$include>\n";
|
||||
$hdrcont .=
|
||||
"#if defined(__GNUC__)\n" .
|
||||
"# warning $warning\n" .
|
||||
"#elif defined(_MSC_VER)\n" .
|
||||
"# pragma message (\"$warning\")\n" .
|
||||
"#endif\n" .
|
||||
"#include <$include>\n";
|
||||
if ($public_header) {
|
||||
print HEADER "#if 0\n";
|
||||
print HEADER "#pragma qt_no_master_include\n";
|
||||
print HEADER "#endif\n";
|
||||
$hdrcont .=
|
||||
"#if 0\n" .
|
||||
"#pragma qt_no_master_include\n" .
|
||||
"#endif\n";
|
||||
}
|
||||
print HEADER "#endif\n";
|
||||
close HEADER;
|
||||
|
||||
if ($verbose_level < 3) {
|
||||
my $line_prefix = ",";
|
||||
$line_prefix = "$lib: created deprecated header(s) {" if ($first);
|
||||
print "$line_prefix $header";
|
||||
} else {
|
||||
print "$lib: created deprecated header $header => $include\n";
|
||||
$hdrcont .=
|
||||
"#endif\n";
|
||||
if (writeFile($header_path, $hdrcont)) {
|
||||
if ($verbose_level < 3) {
|
||||
my $line_prefix = ",";
|
||||
$line_prefix = "$lib: created deprecated header(s) {" if ($first);
|
||||
print "$line_prefix $header";
|
||||
} else {
|
||||
print "$lib: created deprecated header $header => $include\n";
|
||||
}
|
||||
$first = 0;
|
||||
}
|
||||
$first = 0;
|
||||
}
|
||||
|
||||
my $addendum = fixPaths($header_path, $dir) . " ";
|
||||
@ -1068,6 +1095,23 @@ foreach my $lib (@modules_to_sync) {
|
||||
syncHeader($lib, $VHeader, $vheader, 0);
|
||||
$pri_install_files .= fixPaths($vheader, $dir) . " ";
|
||||
$pri_install_classes .= fixPaths($VHeader, $dir) . " ";
|
||||
my @versions = split(/\./, $module_version);
|
||||
my $modulehexstring = sprintf("0x%02X%02X%02X", $versions[0], $versions[1], $versions[2]);
|
||||
my $vhdrcont =
|
||||
"/* This file was generated by syncqt. */\n".
|
||||
"#ifndef QT_".uc($lib)."_VERSION_H\n".
|
||||
"#define QT_".uc($lib)."_VERSION_H\n".
|
||||
"\n".
|
||||
"#define ".uc($lib)."_VERSION_STR \"".$module_version."\"\n".
|
||||
"\n".
|
||||
"#define ".uc($lib)."_VERSION ".$modulehexstring."\n".
|
||||
"\n".
|
||||
"#endif // QT_".uc($lib)."_VERSION_H\n";
|
||||
writeFile($vheader, $vhdrcont, $lib, "version header");
|
||||
|
||||
my $master_include = "$out_basedir/include/$lib/$lib";
|
||||
$pri_install_files .= fixPaths($master_include, $dir) . " ";
|
||||
writeFile($master_include, $master_contents, $lib, "master header");
|
||||
|
||||
#handle the headers.pri for each module
|
||||
my $headers_pri_contents = "";
|
||||
@ -1076,42 +1120,7 @@ foreach my $lib (@modules_to_sync) {
|
||||
$headers_pri_contents .= "SYNCQT.PRIVATE_HEADER_FILES = $pri_install_pfiles\n";
|
||||
$headers_pri_contents .= "SYNCQT.QPA_HEADER_FILES = $pri_install_qpafiles\n";
|
||||
my $headers_pri_file = "$out_basedir/include/$lib/headers.pri";
|
||||
if(-e $headers_pri_file) {
|
||||
open HEADERS_PRI_FILE, "<$headers_pri_file";
|
||||
local $/;
|
||||
binmode HEADERS_PRI_FILE;
|
||||
my $old_headers_pri_contents = <HEADERS_PRI_FILE>;
|
||||
close HEADERS_PRI_FILE;
|
||||
$old_headers_pri_contents =~ s/\r//g; # remove \r's , so comparison is ok on all platforms
|
||||
$headers_pri_file = 0 if($old_headers_pri_contents eq $headers_pri_contents);
|
||||
}
|
||||
if($headers_pri_file) {
|
||||
my $headers_pri_dir = dirname($headers_pri_file);
|
||||
make_path($headers_pri_dir, $lib, $verbose_level);
|
||||
open HEADERS_PRI_FILE, ">$headers_pri_file";
|
||||
print HEADERS_PRI_FILE $headers_pri_contents;
|
||||
close HEADERS_PRI_FILE;
|
||||
print "$lib: created headers.pri file\n" if($verbose_level);
|
||||
}
|
||||
}
|
||||
}
|
||||
unless($showonly || !$create_uic_class_map) {
|
||||
my $class_lib_map = "$out_basedir/src/tools/uic/qclass_lib_map.h";
|
||||
if(-e $class_lib_map) {
|
||||
open CLASS_LIB_MAP, "<$class_lib_map";
|
||||
local $/;
|
||||
binmode CLASS_LIB_MAP;
|
||||
my $old_class_lib_map_contents = <CLASS_LIB_MAP>;
|
||||
close CLASS_LIB_MAP;
|
||||
$old_class_lib_map_contents =~ s/\r//g; # remove \r's , so comparison is ok on all platforms
|
||||
$class_lib_map = 0 if($old_class_lib_map_contents eq $class_lib_map_contents);
|
||||
}
|
||||
if($class_lib_map) {
|
||||
my $class_lib_map_dir = dirname($class_lib_map);
|
||||
make_path($class_lib_map_dir, "<outdir>", $verbose_level);
|
||||
open CLASS_LIB_MAP, ">$class_lib_map";
|
||||
print CLASS_LIB_MAP $class_lib_map_contents;
|
||||
close CLASS_LIB_MAP;
|
||||
writeFile($headers_pri_file, $headers_pri_contents, $lib, "headers.pri file");
|
||||
}
|
||||
}
|
||||
|
||||
|
45
configure
vendored
45
configure
vendored
@ -2389,13 +2389,6 @@ fi
|
||||
if [ "$OPT_SHADOW" = "yes" ]; then
|
||||
echo "Preparing build tree..."
|
||||
|
||||
if [ -z "$PERL" ]; then
|
||||
echo
|
||||
echo "You need perl in your PATH to make a shadow build."
|
||||
echo "Cannot proceed."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
[ -d "$outpath/bin" ] || mkdir -p "$outpath/bin"
|
||||
|
||||
# save a pre-existing mkspecs/modules dir
|
||||
@ -3918,7 +3911,14 @@ fi
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
# symlink includes
|
||||
if [ -n "$PERL" ] && [ -x "$relpath/bin/syncqt.pl" ]; then
|
||||
if [ -e "$relpath/.git" ]; then
|
||||
if [ -z "$PERL" ]; then
|
||||
echo
|
||||
echo "You need perl in your PATH to make a build from GIT."
|
||||
echo "Cannot proceed."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
"$relpath/bin/syncqt.pl" -minimal -module QtCore "$relpath" || exit 1
|
||||
fi
|
||||
|
||||
@ -4051,6 +4051,11 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ];
|
||||
|
||||
echo "BUILD_PATH = $adjoutpath" >> "$mkfile"
|
||||
echo "SOURCE_PATH = $adjrelpath" >> "$mkfile"
|
||||
if [ -e "$relpath/.git" ]; then
|
||||
echo 'INC_PATH = $(BUILD_PATH)/include' >> "$mkfile"
|
||||
else
|
||||
echo 'INC_PATH = $(SOURCE_PATH)/include' >> "$mkfile"
|
||||
fi
|
||||
echo "QMAKESPEC = $adjqmakespec" >> "$mkfile"
|
||||
echo "QT_VERSION = $QT_VERSION" >> "$mkfile"
|
||||
echo "EXTRA_CFLAGS = $EXTRA_CFLAGS" >> "$mkfile"
|
||||
@ -6438,12 +6443,24 @@ echo "#define QT_QPA_DEFAULT_PLATFORM_NAME \"$QT_QPA_DEFAULT_PLATFORM\"" >>"$out
|
||||
if cmp -s "$outpath/src/corelib/global/qconfig.h" "$outpath/src/corelib/global/qconfig.h.new"; then
|
||||
rm -f "$outpath/src/corelib/global/qconfig.h.new"
|
||||
else
|
||||
[ -f "$outpath/src/corelib/global/qconfig.h" ] && chmod +w "$outpath/src/corelib/global/qconfig.h"
|
||||
mv "$outpath/src/corelib/global/qconfig.h.new" "$outpath/src/corelib/global/qconfig.h"
|
||||
chmod -w "$outpath/src/corelib/global/qconfig.h"
|
||||
if [ ! -f "$outpath/include/QtCore/qconfig.h" ]; then
|
||||
ln -s "$outpath/src/corelib/global/qconfig.h" "$outpath/include/QtCore/qconfig.h"
|
||||
fi
|
||||
mv -f "$outpath/src/corelib/global/qconfig.h.new" "$outpath/src/corelib/global/qconfig.h"
|
||||
fi
|
||||
|
||||
# create a forwarding header
|
||||
mkdir -p "$outpath/include/QtCore" || exit
|
||||
echo '#include "../../src/corelib/global/qconfig.h"' > $outpath/include/QtCore/qconfig.h.new
|
||||
if cmp -s "$outpath/include/QtCore/qconfig.h.new" "$outpath/include/QtCore/qconfig.h"; then
|
||||
rm -f "$outpath/include/QtCore/qconfig.h.new"
|
||||
else
|
||||
mv "$outpath/include/QtCore/qconfig.h.new" "$outpath/include/QtCore/qconfig.h" || exit
|
||||
fi
|
||||
|
||||
# create a camelcase forwarding header
|
||||
echo '#include "qconfig.h"' > $outpath/include/QtCore/QtConfig.new
|
||||
if cmp -s "$outpath/include/QtCore/QtConfig.new" "$outpath/include/QtCore/QtConfig"; then
|
||||
rm -f "$outpath/include/QtCore/QtConfig.new"
|
||||
else
|
||||
mv "$outpath/include/QtCore/QtConfig.new" "$outpath/include/QtCore/QtConfig" || exit
|
||||
fi
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
@ -32,7 +32,7 @@
|
||||
\brief This example demonstrates the usage of a tree view.
|
||||
|
||||
\brief The Dir View example shows a tree view onto the local filing system. It uses the
|
||||
QDirModel class to provide file and directory information.
|
||||
QFileSystemModel class to provide file and directory information.
|
||||
|
||||
\image dirview-example.png
|
||||
*/
|
||||
|
@ -64,6 +64,7 @@ QMAKE_LIBS_THREAD = -lpthreads
|
||||
|
||||
QMAKE_AR = ar -X64 cq
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB = ranlib -X64
|
||||
|
||||
include(../common/unix.conf)
|
||||
|
@ -64,6 +64,7 @@ QMAKE_LIBS_THREAD = -lpthreads
|
||||
|
||||
QMAKE_AR = ar cqs
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
include(../common/unix.conf)
|
||||
|
@ -63,6 +63,7 @@ QMAKE_LIBS_THREAD = -lpthreads
|
||||
|
||||
QMAKE_AR = ar -X64 cq
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB = ranlib -X64
|
||||
|
||||
include(../common/unix.conf)
|
||||
|
@ -66,6 +66,7 @@ QMAKE_LIBS_THREAD = -lpthreads
|
||||
|
||||
QMAKE_AR = ar cq
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB = ranlib
|
||||
|
||||
include(../common/unix.conf)
|
||||
|
@ -137,6 +137,7 @@ QMAKE_LINK_SHLIB = $$QMAKE_LINK
|
||||
# modifications to linux.conf
|
||||
QMAKE_AR = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-ar cqs
|
||||
QMAKE_OBJCOPY = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-objcopy
|
||||
QMAKE_NM = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-nm -P
|
||||
|
||||
QMAKE_STRIP =
|
||||
#$$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-strip
|
||||
|
@ -65,6 +65,7 @@ QMAKE_LINK_SHLIB = $$QMAKE_LINK
|
||||
# modifications to linux.conf
|
||||
QMAKE_AR = $$NDK_TOOLCHAIN_PATH/bin/$$ANDROID_NDK_TOOLS_PREFIX-ar cqs
|
||||
QMAKE_OBJCOPY = $$NDK_TOOLCHAIN_PATH/bin/$$ANDROID_NDK_TOOLS_PREFIX-objcopy
|
||||
QMAKE_NM = $$NDK_TOOLCHAIN_PATH/bin/$$ANDROID_NDK_TOOLS_PREFIX-nm -P
|
||||
QMAKE_STRIP = $$NDK_TOOLCHAIN_PATH/bin/$$ANDROID_NDK_TOOLS_PREFIX-strip
|
||||
QMAKE_RANLIB = $$NDK_TOOLCHAIN_PATH/bin/$$ANDROID_NDK_TOOLS_PREFIX-ranlib
|
||||
|
||||
|
@ -48,6 +48,7 @@ QMAKE_DEFINES_XCB =
|
||||
|
||||
QMAKE_AR = ar cqs
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
QMAKE_STRIP = strip
|
||||
|
@ -25,5 +25,6 @@ QMAKE_LIBS_THREAD =
|
||||
|
||||
QMAKE_AR = ar cq
|
||||
QMAKE_RANLIB = ranlib -s
|
||||
QMAKE_NM = nm -P
|
||||
|
||||
include(unix.conf)
|
||||
|
@ -7,5 +7,6 @@ QMAKE_LINK = i686-nacl-g++
|
||||
QMAKE_LINK_SHLIB = i686-nacl-g++
|
||||
QMAKE_AR = i686-nacl-ar q
|
||||
QMAKE_OBJCOPY = i686-nacl-objcopy
|
||||
QMAKE_NM = i686-nacl-nm -P
|
||||
QMAKE_STRIP = i686-nacl-strip
|
||||
|
||||
|
@ -7,5 +7,6 @@ QMAKE_LINK = x86_64-nacl-g++
|
||||
QMAKE_LINK_SHLIB = x86_64-nacl-g++
|
||||
QMAKE_AR = x86_64-nacl-ar q
|
||||
QMAKE_OBJCOPY = x86_64-nacl-objcopy
|
||||
QMAKE_NM = x86_64-nacl-nm -P
|
||||
QMAKE_STRIP = x86_64-nacl-strip
|
||||
|
||||
|
@ -15,6 +15,7 @@ include(qcc-base-qnx.conf)
|
||||
|
||||
QMAKE_AR = ntoarmv7-ar cqs
|
||||
QMAKE_OBJCOPY = ntoarmv7-objcopy
|
||||
QMAKE_NM = ntoarmv7-nm -P
|
||||
QMAKE_RANLIB = ntoarmv7-ranlib
|
||||
|
||||
QMAKE_STRIP = ntoarmv7-strip
|
||||
|
@ -15,6 +15,7 @@ include(qcc-base-qnx.conf)
|
||||
|
||||
QMAKE_AR = ntox86-ar cqs
|
||||
QMAKE_OBJCOPY = ntox86-objcopy
|
||||
QMAKE_NM = ntox86-nm -P
|
||||
QMAKE_RANLIB = ntox86-ranlib
|
||||
|
||||
QMAKE_STRIP = ntox86-strip
|
||||
|
@ -70,6 +70,7 @@ QMAKE_EXTENSION_STATICLIB = a
|
||||
|
||||
QMAKE_AR = ar cqs
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
include(../common/shell-unix.conf)
|
||||
|
@ -76,6 +76,7 @@ QMAKE_LIBS_THREAD =
|
||||
|
||||
QMAKE_AR = ar cq
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB = ranlib -s
|
||||
|
||||
QMAKE_PCH_OUTPUT_EXT = .gch
|
||||
|
@ -21,4 +21,5 @@ QMAKE_LINK_SHLIB = $${QMAKE_CXX}
|
||||
# modifications to linux.conf
|
||||
QMAKE_AR = $${CROSS_COMPILE}ar cqs
|
||||
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
|
||||
QMAKE_NM = $${CROSS_COMPILE}nm -P
|
||||
QMAKE_STRIP = $${CROSS_COMPILE}strip
|
||||
|
@ -27,6 +27,7 @@ QMAKE_LINK_SHLIB = $${QMAKE_CXX}
|
||||
# modifications to linux.conf
|
||||
QMAKE_AR = $${CROSS_COMPILE}ar cqs
|
||||
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
|
||||
QMAKE_NM = $${CROSS_COMPILE}nm -P
|
||||
QMAKE_STRIP = $${CROSS_COMPILE}strip
|
||||
|
||||
COMPILER_FLAGS = -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
|
||||
|
@ -19,6 +19,7 @@ QMAKE_LINK_SHLIB = $${QMAKE_CXX}
|
||||
|
||||
QMAKE_AR = $${CROSS_COMPILE}ar cqs
|
||||
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
|
||||
QMAKE_NM = $${CROSS_COMPILE}nm -P
|
||||
QMAKE_STRIP = $${CROSS_COMPILE}strip
|
||||
|
||||
QMAKE_CFLAGS += -mfloat-abi=softfp -mfpu=neon -mcpu=cortex-a9
|
||||
|
@ -43,6 +43,7 @@ QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
|
||||
# modifications to linux.conf
|
||||
QMAKE_AR = $${CROSS_COMPILE}ar cqs
|
||||
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
|
||||
QMAKE_NM = $${CROSS_COMPILE}nm -P
|
||||
QMAKE_STRIP = $${CROSS_COMPILE}strip
|
||||
|
||||
QMAKE_INCDIR += $${TRIDENT_SHINER_SDK_BUILDTREE}/target/output/objs/$${TRIDENT_SHINER_SDK_BUILDSPEC}/comps/generic_apps/usr/include
|
||||
|
@ -23,6 +23,7 @@ QMAKE_LINK_SHLIB = $${QMAKE_CXX}
|
||||
# modifications to linux.conf
|
||||
QMAKE_AR = $${CROSS_COMPILE}ar cqs
|
||||
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
|
||||
QMAKE_NM = $${CROSS_COMPILE}nm -P
|
||||
QMAKE_STRIP = $${CROSS_COMPILE}strip
|
||||
|
||||
COMPILER_FLAGS = -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
|
||||
|
@ -23,6 +23,7 @@ QMAKE_LINK_SHLIB = $${QMAKE_CXX}
|
||||
# modifications to linux.conf
|
||||
QMAKE_AR = $${CROSS_COMPILE}ar cqs
|
||||
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
|
||||
QMAKE_NM = $${CROSS_COMPILE}nm -P
|
||||
QMAKE_STRIP = $${CROSS_COMPILE}strip
|
||||
|
||||
QMAKE_CFLAGS += -mfloat-abi=hard -mfpu=neon -march=armv7-a -mcpu=cortex-a8
|
||||
|
@ -21,6 +21,7 @@ QMAKE_LINK_SHLIB = $${QMAKE_CXX}
|
||||
|
||||
QMAKE_AR = $${CROSS_COMPILE}ar cqs
|
||||
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
|
||||
QMAKE_NM = $${CROSS_COMPILE}nm -P
|
||||
QMAKE_STRIP = $${CROSS_COMPILE}strip
|
||||
|
||||
#TODO: Clean Qt to work with uclibc not calling itself GLIBC.
|
||||
|
@ -21,6 +21,7 @@ QMAKE_LINK_SHLIB = $${QMAKE_CXX}
|
||||
|
||||
QMAKE_AR = $${CROSS_COMPILE}ar cqs
|
||||
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
|
||||
QMAKE_NM = $${CROSS_COMPILE}nm -P
|
||||
QMAKE_STRIP = $${CROSS_COMPILE}strip
|
||||
|
||||
deviceSanityCheckCompiler()
|
||||
|
@ -21,6 +21,7 @@ QMAKE_LINK_SHLIB = $${QMAKE_CXX}
|
||||
|
||||
QMAKE_AR = $${CROSS_COMPILE}ar cqs
|
||||
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
|
||||
QMAKE_NM = $${CROSS_COMPILE}nm -P
|
||||
QMAKE_STRIP = $${CROSS_COMPILE}strip
|
||||
|
||||
deviceSanityCheckCompiler()
|
||||
|
@ -20,6 +20,7 @@ QMAKE_LINK_SHLIB = $${QMAKE_CXX}
|
||||
# modifications to linux.conf
|
||||
QMAKE_AR = $${CROSS_COMPILE}ar cqs
|
||||
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
|
||||
QMAKE_NM = $${CROSS_COMPILE}nm -P
|
||||
QMAKE_STRIP = $${CROSS_COMPILE}strip
|
||||
|
||||
QMAKE_LFLAGS += -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib/arm-linux-gnueabihf \
|
||||
|
@ -54,7 +54,7 @@ defineReplace(cmakeProcessLibs) {
|
||||
variable = $$1
|
||||
out =
|
||||
for(v, variable) {
|
||||
if(!equals(v, -framework)) {
|
||||
if(!equals(v, -framework):!equals(v, -L.*)) {
|
||||
v ~= s,^-l,,
|
||||
v ~= s,^-lib,,
|
||||
v ~= s,.lib$,,
|
||||
|
@ -46,6 +46,12 @@ if exist "%frameworkdir%\%jarfile%" goto JarFileOk
|
||||
if exist "%frameworkdir%\%jarfile%" goto JarFileOk
|
||||
set "frameworkdir=%androidsdk%\framework"
|
||||
|
||||
if exist "%frameworkdir%\%jarfile%" goto JarFileOk
|
||||
set "frameworkdir=%androidsdk%\build-tools\%ANDROID_BUILD_TOOLS_REVISION%\lib"
|
||||
|
||||
if exist "%frameworkdir%\%jarfile%" goto JarFileOk
|
||||
set "frameworkdir=%androidsdk%\build-tools\17.0.0\lib"
|
||||
|
||||
:JarFileOk
|
||||
|
||||
set jarpath=%frameworkdir%\%jarfile%
|
||||
|
@ -16,6 +16,9 @@ isEmpty(MODULE_BASE_DIR): MODULE_BASE_DIR = $$MODULE_PROFILE_DIR
|
||||
isEmpty(MODULE_BASE_OUTDIR): MODULE_BASE_OUTDIR = $$shadowed($$MODULE_BASE_DIR)
|
||||
isEmpty(MODULE_QMAKE_OUTDIR): MODULE_QMAKE_OUTDIR = $$MODULE_BASE_OUTDIR
|
||||
|
||||
exists($$MODULE_PROFILE_DIR/.git): \
|
||||
CONFIG += git_build
|
||||
|
||||
!prefix_build {
|
||||
QTDIR = $$[QT_HOST_PREFIX]
|
||||
# Permit modules to enforce being built outside QTDIR ...
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
load(qt_build_paths)
|
||||
|
||||
!build_pass {
|
||||
!build_pass:git_build {
|
||||
qtPrepareTool(QMAKE_SYNCQT, syncqt)
|
||||
minimal_syncqt {
|
||||
QMAKE_SYNCQT += -minimal $$QMAKE_SYNCQT_OPTIONS
|
||||
@ -29,66 +29,25 @@ load(qt_build_paths)
|
||||
minimal_syncqt: return()
|
||||
|
||||
#load up the headers info
|
||||
include($$MODULE_BASE_OUTDIR/include/$$MODULE_INCNAME/headers.pri, "", true)
|
||||
|
||||
lctarget = $$lower($$MODULE_INCNAME)
|
||||
uctarget = $$upper($$MODULE_INCNAME)
|
||||
|
||||
defineTest(shouldMasterInclude) {
|
||||
bn = $$basename(1)
|
||||
contains(bn, .*_.*):return(false)
|
||||
contains(bn, ^qconfig.*):return(false)
|
||||
lines = $$cat($$_PRO_FILE_PWD_/$$1, lines)
|
||||
contains(lines, $${LITERAL_HASH}pragma qt_no_master_include):return(false)
|
||||
return(true)
|
||||
}
|
||||
git_build: \
|
||||
INC_PATH = $$MODULE_BASE_OUTDIR
|
||||
else: \
|
||||
INC_PATH = $$MODULE_BASE_DIR
|
||||
include($$INC_PATH/include/$$MODULE_INCNAME/headers.pri, "", true)
|
||||
|
||||
autogen_warning = \
|
||||
"/* This file was generated by qmake with the info from <root>/$$relative_path($$_PRO_FILE_, $$MODULE_BASE_DIR). */"
|
||||
|
||||
# Create module version header
|
||||
MODULE_VERSION_HEADER = $$find(SYNCQT.HEADER_FILES, (^|/)$${lctarget}version\\.h$)
|
||||
count(MODULE_VERSION_HEADER, 1) {
|
||||
MODULE_VERSION_HEADER = $$absolute_path($$MODULE_VERSION_HEADER, $$_PRO_FILE_PWD_)
|
||||
|
||||
!build_pass {
|
||||
majorhexstr = $$format_number($$section(VERSION, ., 0, 0), width=2 zeropad obase=16)
|
||||
minorhexstr = $$format_number($$section(VERSION, ., 1, 1), width=2 zeropad obase=16)
|
||||
patchhexstr = $$format_number($$section(VERSION, ., 2, 2), width=2 zeropad obase=16)
|
||||
modulehexstring = 0x$${majorhexstr}$${minorhexstr}$${patchhexstr}
|
||||
MODULE_VERSION_HEADER_CONT = \
|
||||
$$autogen_warning \
|
||||
"$${LITERAL_HASH}ifndef QT_$${uctarget}_VERSION_H" \
|
||||
"$${LITERAL_HASH}define QT_$${uctarget}_VERSION_H" \
|
||||
"" \
|
||||
"$${LITERAL_HASH}define $${uctarget}_VERSION_STR \"$$VERSION\"" \
|
||||
"" \
|
||||
"$${LITERAL_HASH}define $${uctarget}_VERSION $$modulehexstring" \
|
||||
"" \
|
||||
"$${LITERAL_HASH}endif // QT_$${uctarget}_VERSION_H"
|
||||
write_file($$MODULE_VERSION_HEADER, MODULE_VERSION_HEADER_CONT)|error("Aborting.")
|
||||
}
|
||||
|
||||
HEADERS += $$MODULE_VERSION_HEADER
|
||||
}
|
||||
|
||||
# Create a module master header
|
||||
MODULE_MASTER_HEADER = $$MODULE_BASE_OUTDIR/include/$$MODULE_INCNAME/$$MODULE_INCNAME
|
||||
# Create a module master depends header
|
||||
MODULE_MASTER_DEPS_HEADER = $$MODULE_BASE_OUTDIR/include/$$MODULE_INCNAME/$${MODULE_INCNAME}Depends
|
||||
!build_pass {
|
||||
MODULE_MASTER_HEADER_CONT = \
|
||||
$$autogen_warning \
|
||||
"$${LITERAL_HASH}ifndef QT_$${ucmodule}_MODULE_H" \
|
||||
"$${LITERAL_HASH}define QT_$${ucmodule}_MODULE_H"
|
||||
MODULE_MASTER_DEPS_HEADER_CONT = $$autogen_warning
|
||||
for(dep, MODULE_DEPENDS) {
|
||||
depname = $$eval(QT.$${dep}.name)
|
||||
MODULE_MASTER_HEADER_CONT += "$${LITERAL_HASH}include <$$depname/$$depname>"
|
||||
MODULE_MASTER_DEPS_HEADER_CONT += "$${LITERAL_HASH}include <$$depname/$$depname>"
|
||||
}
|
||||
for(hdr, SYNCQT.HEADER_FILES): \
|
||||
shouldMasterInclude($$hdr): \
|
||||
MODULE_MASTER_HEADER_CONT += "$${LITERAL_HASH}include \"$$replace(hdr, .*/, )\""
|
||||
MODULE_MASTER_HEADER_CONT += "$${LITERAL_HASH}endif"
|
||||
write_file($$MODULE_MASTER_HEADER, MODULE_MASTER_HEADER_CONT)|error("Aborting.")
|
||||
write_file($$MODULE_MASTER_DEPS_HEADER, MODULE_MASTER_DEPS_HEADER_CONT)|error("Aborting.")
|
||||
}
|
||||
SYNCQT.HEADER_FILES += $$MODULE_MASTER_HEADER
|
||||
SYNCQT.HEADER_FILES += $$MODULE_MASTER_DEPS_HEADER
|
||||
|
||||
CONFIG += qt_install_headers
|
||||
|
@ -52,9 +52,22 @@ else: \
|
||||
else: \
|
||||
module_config =
|
||||
!no_module_headers:!minimal_syncqt {
|
||||
MODULE_INCLUDES = "\$\$QT_MODULE_INCLUDE_BASE \$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME"
|
||||
MODULE_PRIVATE_INCLUDES = "\$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME/$$VERSION \
|
||||
\$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME"
|
||||
MODULE_INCLUDES = \$\$QT_MODULE_INCLUDE_BASE \$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME
|
||||
MODULE_PRIVATE_INCLUDES = \$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME/$$VERSION \
|
||||
\$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME
|
||||
}
|
||||
!git_build:if(!equals(_PRO_FILE_PWD_, $$OUT_PWD) \
|
||||
|if(!prefix_build:!equals(MODULE_BASE_DIR, $$[QT_HOST_PREFIX]))) {
|
||||
pub_inc = $$replace(MODULE_INCLUDES, ^\\\$\\\$QT_MODULE_INCLUDE_BASE, $$MODULE_BASE_DIR/include)
|
||||
priv_inc = $$replace(MODULE_PRIVATE_INCLUDES, ^\\\$\\\$QT_MODULE_INCLUDE_BASE, $$MODULE_BASE_DIR/include)
|
||||
force_independent {
|
||||
MODULE_FWD_PRI_CONT_SUFFIX = \
|
||||
"QT.$${MODULE}.includes += $$pub_inc" \
|
||||
"QT.$${MODULE}.private_includes = $$priv_inc"
|
||||
} else {
|
||||
MODULE_INCLUDES += $$pub_inc
|
||||
MODULE_PRIVATE_INCLUDES = $$priv_inc
|
||||
}
|
||||
}
|
||||
MODULE_PRI_CONT = \
|
||||
"QT.$${MODULE}.VERSION = $${VERSION}" \
|
||||
@ -97,7 +110,8 @@ else: \
|
||||
"QT_MODULE_HOST_LIB_BASE = $$MODULE_BASE_OUTDIR/lib" \
|
||||
"QT_MODULE_LIBEXEC_BASE = $$MODULE_BASE_OUTDIR/libexec" \
|
||||
"QT_MODULE_PLUGIN_BASE = $$MODULE_BASE_OUTDIR/plugins" \
|
||||
"include($$MODULE_PRI)"
|
||||
"include($$MODULE_PRI)" \
|
||||
$$MODULE_FWD_PRI_CONT_SUFFIX
|
||||
write_file($$MODULE_FWD_PRI, MODULE_FWD_PRI_CONT)|error("Aborting.")
|
||||
touch($$MODULE_FWD_PRI, $$MODULE_PRI)
|
||||
MODULE_PRI_FILES += $$MODULE_FWD_PRI
|
||||
|
@ -28,6 +28,7 @@ QMAKE_LIBS_THREAD =
|
||||
|
||||
QMAKE_AR = ar cqs
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
include(../common/unix.conf)
|
||||
|
@ -28,6 +28,7 @@ QMAKE_LIBS_THREAD =
|
||||
|
||||
QMAKE_AR = ar cqs
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
include(../common/unix.conf)
|
||||
|
@ -87,6 +87,7 @@ QMAKE_LIBS_THREAD =
|
||||
|
||||
QMAKE_AR = ar cqs
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
include(../common/unix.conf)
|
||||
|
@ -108,6 +108,7 @@ QMAKE_LIBS_YACC = -ly
|
||||
|
||||
QMAKE_AR = ar cqs
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
include(../common/unix.conf)
|
||||
|
@ -106,6 +106,7 @@ QMAKE_LIBS_YACC = -ly
|
||||
|
||||
QMAKE_AR = ar cqs
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
include(../common/unix.conf)
|
||||
|
@ -87,6 +87,7 @@ QMAKE_LIBS_YACC = -ly
|
||||
|
||||
QMAKE_AR = ar cqs
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
include(../common/unix.conf)
|
||||
|
@ -70,6 +70,7 @@ QMAKE_LIBS_YACC = -ly
|
||||
|
||||
QMAKE_AR = ar cqs
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
include(../common/unix.conf)
|
||||
|
@ -71,6 +71,7 @@ QMAKE_LIBS_YACC = -ly
|
||||
|
||||
QMAKE_AR = ar cqs
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
include(../common/unix.conf)
|
||||
|
@ -63,6 +63,7 @@ QMAKE_LIBS_YACC = -ly
|
||||
|
||||
QMAKE_AR = ar cqs
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
include(../common/unix.conf)
|
||||
|
@ -106,6 +106,7 @@ QMAKE_LIBS_YACC = -ly
|
||||
|
||||
QMAKE_AR = ar cqs
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
include(../common/unix.conf)
|
||||
|
@ -73,6 +73,7 @@ QMAKE_LIBS_YACC = -ly
|
||||
|
||||
QMAKE_AR = ar cqs
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
include(../common/unix.conf)
|
||||
|
@ -38,6 +38,7 @@ QMAKE_LIBS_THREAD = -lpthread
|
||||
|
||||
QMAKE_AR = ar cqs
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
QMAKE_STRIP = strip
|
||||
|
@ -98,6 +98,7 @@ QMAKE_LIBS_THREAD = -lpthread
|
||||
|
||||
QMAKE_AR = CC -ar -o
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
QMAKE_CLEAN = -r $(OBJECTS_DIR)so_locations $(OBJECTS_DIR)ii_files
|
||||
|
@ -98,6 +98,7 @@ QMAKE_LIBS_THREAD = -lpthread
|
||||
|
||||
QMAKE_AR = CC -ar -o
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
QMAKE_CLEAN = -r $(OBJECTS_DIR)so_locations $(OBJECTS_DIR)ii_files
|
||||
|
@ -68,6 +68,7 @@ QMAKE_LIBS_THREAD = -lpthread
|
||||
|
||||
QMAKE_AR = ar cq
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
QMAKE_CLEAN = so_locations
|
||||
|
@ -68,6 +68,7 @@ QMAKE_LIBS_THREAD = -lpthread
|
||||
|
||||
QMAKE_AR = ar cq
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
QMAKE_CLEAN = so_locations
|
||||
|
@ -19,5 +19,6 @@ QMAKE_LINK_SHLIB = arm-linux-gnueabi-g++
|
||||
# modifications to linux.conf
|
||||
QMAKE_AR = arm-linux-gnueabi-ar cqs
|
||||
QMAKE_OBJCOPY = arm-linux-gnueabi-objcopy
|
||||
QMAKE_NM = arm-linux-gnueabi-nm -P
|
||||
QMAKE_STRIP = arm-linux-gnueabi-strip
|
||||
load(qt_config)
|
||||
|
@ -73,6 +73,7 @@ QMAKE_LIBS_THREAD = -lpthread
|
||||
|
||||
QMAKE_AR = xiar cqs
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
QMAKE_CLEAN = -r $(OBJECTS_DIR)/ti_files
|
||||
|
@ -73,6 +73,7 @@ QMAKE_LIBS_THREAD =
|
||||
|
||||
QMAKE_AR = ar cqs
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
QMAKE_CLEAN = -r $(OBJECTS_DIR)ti_files
|
||||
|
@ -64,6 +64,7 @@ QMAKE_LIBS_THREAD = -lpthread
|
||||
|
||||
QMAKE_AR = ar cqs
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
include(../common/unix.conf)
|
||||
|
@ -68,6 +68,7 @@ QMAKE_LIBS_THREAD = -lpthread
|
||||
|
||||
QMAKE_AR = ar cqs
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
QMAKE_STRIP = strip
|
||||
|
@ -66,6 +66,7 @@ QMAKE_LIBS_THREAD =
|
||||
|
||||
QMAKE_AR = ar cqs
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB = ranlib
|
||||
|
||||
include(../common/unix.conf)
|
||||
|
@ -67,6 +67,7 @@ QMAKE_LIBS_THREAD =
|
||||
|
||||
QMAKE_AR = ar q
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB = ranlib
|
||||
|
||||
include(../common/unix.conf)
|
||||
|
@ -60,6 +60,7 @@ QMAKE_LIBS_OPENGL = -lGL -lXt
|
||||
|
||||
QMAKE_AR = ar cq
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
include(../common/unix.conf)
|
||||
|
@ -62,6 +62,7 @@ QMAKE_LIBS_OPENGL = -lGL
|
||||
|
||||
QMAKE_AR = ar cqs
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
include(../common/unix.conf)
|
||||
|
@ -85,6 +85,7 @@ QMAKE_LIBS_NETWORK = -lresolv -lsocket -lxnet -lnsl
|
||||
|
||||
QMAKE_AR = CC -xar -o
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
QMAKE_CLEAN = -r $(OBJECTS_DIR)Templates.DB $(OBJECTS_DIR)SunWS_cache
|
||||
|
@ -68,6 +68,7 @@ QMAKE_LIBS_NETWORK = -lresolv -lsocket -lxnet -lnsl
|
||||
|
||||
QMAKE_AR = CC -xar -o
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
QMAKE_CLEAN = -r $(OBJECTS_DIR)Templates.DB $(OBJECTS_DIR)SunWS_cache
|
||||
|
@ -89,6 +89,7 @@ QMAKE_LIBS_NETWORK = -lresolv -lsocket -lxnet -lnsl
|
||||
|
||||
QMAKE_AR = ar cq
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
include(../common/unix.conf)
|
||||
|
@ -72,6 +72,7 @@ QMAKE_LIBS_NETWORK = -lresolv -lsocket -lxnet -lnsl
|
||||
|
||||
QMAKE_AR = ar cq
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
include(../common/unix.conf)
|
||||
|
@ -62,6 +62,7 @@ QMAKE_LIBS_THREAD = -lrt
|
||||
|
||||
QMAKE_AR = ar cqs
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
include(../common/unix.conf)
|
||||
|
@ -64,6 +64,7 @@ QMAKE_LIBS_THREAD = -lpthread -lexc -lrt
|
||||
|
||||
QMAKE_AR = ar cqs
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
include(../common/unix.conf)
|
||||
|
@ -66,6 +66,7 @@ QMAKE_LIBS_THREAD =
|
||||
|
||||
QMAKE_AR = ar cq
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
include(../common/unix.conf)
|
||||
|
@ -65,6 +65,7 @@ QMAKE_LIBS_THREAD = -lthread
|
||||
|
||||
QMAKE_AR = ar cq
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
include(../common/unix.conf)
|
||||
|
@ -90,6 +90,7 @@ QMAKE_LINK_SHLIB = $$QMAKE_LINK
|
||||
|
||||
QMAKE_AR = $${ANDROID_TOOLCHAIN_PREFIX}ar cqs
|
||||
QMAKE_OBJCOPY = $${ANDROID_TOOLCHAIN_PREFIX}objcopy
|
||||
QMAKE_NM = $${ANDROID_TOOLCHAIN_PREFIX}nm -P
|
||||
QMAKE_STRIP = $${ANDROID_TOOLCHAIN_PREFIX}strip
|
||||
QMAKE_RANLIB = $${ANDROID_TOOLCHAIN_PREFIX}ranlib
|
||||
|
||||
|
@ -107,6 +107,7 @@ QMAKE_LIBS_THREAD = -lpthread
|
||||
|
||||
QMAKE_AR = host-ar cqs
|
||||
QMAKE_OBJCOPY = host-objcopy
|
||||
QMAKE_NM = host-nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
QMAKE_STRIP = host-strip
|
||||
|
@ -28,6 +28,7 @@ QMAKE_LINK_SHLIB = sb2 g++
|
||||
# modifications to linux.conf
|
||||
QMAKE_AR = sb2 ar cqs
|
||||
QMAKE_OBJCOPY = sb2 objcopy
|
||||
QMAKE_NM = sb2 nm -P
|
||||
QMAKE_STRIP = sb2 strip
|
||||
|
||||
load(qt_config)
|
||||
|
@ -82,6 +82,7 @@ QMAKE_LIBS_NETWORK = # -lnetwrap # only needed if kernel is missing gethost
|
||||
|
||||
QMAKE_AR = ar cqs
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
QMAKE_STRIP = strip
|
||||
|
@ -81,6 +81,7 @@ QMAKE_LIBS_NETWORK = # -lnet # only needed if kernel is missing gethostbyna
|
||||
|
||||
QMAKE_AR = ar cqs
|
||||
QMAKE_OBJCOPY = objcopy
|
||||
QMAKE_NM = nm -P
|
||||
QMAKE_RANLIB =
|
||||
|
||||
QMAKE_STRIP = strip
|
||||
|
@ -108,4 +108,6 @@ QMAKE_RC = $${CROSS_COMPILE}windres
|
||||
|
||||
QMAKE_STRIP = $${CROSS_COMPILE}strip
|
||||
QMAKE_STRIPFLAGS_LIB += --strip-unneeded
|
||||
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
|
||||
QMAKE_NM = $${CROSS_COMPILE}nm -P
|
||||
load(qt_config)
|
||||
|
@ -85,8 +85,8 @@ DEPEND_SRC = \
|
||||
CPPFLAGS = -g $(EXTRA_CPPFLAGS) \
|
||||
-I$(QMKSRC) -I$(QMKLIBSRC) -I$(QMKSRC)/generators -I$(QMKSRC)/generators/unix -I$(QMKSRC)/generators/win32 \
|
||||
-I$(QMKSRC)/generators/mac -I$(QMKSRC)/generators/integrity \
|
||||
-I$(BUILD_PATH)/include -I$(BUILD_PATH)/include/QtCore \
|
||||
-I$(BUILD_PATH)/include/QtCore/$(QT_VERSION) -I$(BUILD_PATH)/include/QtCore/$(QT_VERSION)/QtCore \
|
||||
-I$(INC_PATH) -I$(INC_PATH)/QtCore \
|
||||
-I$(INC_PATH)/QtCore/$(QT_VERSION) -I$(INC_PATH)/QtCore/$(QT_VERSION)/QtCore \
|
||||
-I$(BUILD_PATH)/src/corelib/global -DHAVE_QCONFIG_CPP \
|
||||
-I$(QMAKESPEC) \
|
||||
-I$(SOURCE_PATH)/tools/shared \
|
||||
|
@ -34,7 +34,7 @@ CFLAGS_BARE = -c -Fo./ \
|
||||
-W3 -nologo -O1 \
|
||||
$(CFLAGS_EXTRA) \
|
||||
-I$(QMKSRC) -I$(QMKSRC)\library -I$(QMKSRC)\generators -I$(QMKSRC)\generators\unix -I$(QMKSRC)\generators\win32 -I$(QMKSRC)\generators\mac -I$(QMKSRC)\generators\integrity \
|
||||
-I$(BUILD_PATH)\include -I$(BUILD_PATH)\include\QtCore -I$(BUILD_PATH)\include\QtCore\$(QT_VERSION) -I$(BUILD_PATH)\include\QtCore\$(QT_VERSION)\QtCore \
|
||||
-I$(INC_PATH) -I$(INC_PATH)\QtCore -I$(INC_PATH)\QtCore\$(QT_VERSION) -I$(INC_PATH)\QtCore\$(QT_VERSION)\QtCore \
|
||||
-I$(BUILD_PATH)\src\corelib\global -DHAVE_QCONFIG_CPP \
|
||||
-I$(SOURCE_PATH)\mkspecs\$(QMAKESPEC) \
|
||||
-I$(SOURCE_PATH)\tools\shared \
|
||||
|
@ -1340,7 +1340,7 @@ ProjectBuilderMakefileGenerator::writeMakeParts(QTextStream &t)
|
||||
ProString dir = project->first("DESTDIR");
|
||||
if (QDir::isRelativePath(dir.toQString()))
|
||||
dir.prepend(qmake_getpwd() + Option::dir_sep);
|
||||
t << "\t\t\t\t" << writeSettings("TARGET_BUILD_DIR", dir) << ";" << "\n";
|
||||
t << "\t\t\t\t" << writeSettings("INSTALL_DIR", dir) << ";" << "\n";
|
||||
}
|
||||
|
||||
if (project->first("TEMPLATE") == "lib")
|
||||
|
@ -200,8 +200,9 @@ const char _slnSolutionConf[] = "\n\tGlobalSection(SolutionConfiguration) = pr
|
||||
"\n\t\tConfigName.0 = Debug|Win32"
|
||||
"\n\t\tConfigName.1 = Release|Win32"
|
||||
"\n\tEndGlobalSection";
|
||||
const char _slnProjDepBeg[] = "\n\tGlobalSection(ProjectDependencies) = postSolution";
|
||||
const char _slnProjDepEnd[] = "\n\tEndGlobalSection";
|
||||
|
||||
const char _slnProjDepBeg[] = "\n\tProjectSection(ProjectDependencies) = postProject";
|
||||
const char _slnProjDepEnd[] = "\n\tEndProjectSection";
|
||||
const char _slnProjConfBeg[] = "\n\tGlobalSection(ProjectConfiguration) = postSolution";
|
||||
const char _slnProjRelConfTag1[]= ".Release|%1.ActiveCfg = Release|";
|
||||
const char _slnProjRelConfTag2[]= ".Release|%1.Build.0 = Release|";
|
||||
@ -571,10 +572,6 @@ ProStringList VcprojGenerator::collectDependencies(QMakeProject *proj, QHash<QSt
|
||||
#endif
|
||||
solution_cleanup.append(newDep);
|
||||
solution_depends.insert(newDep->target, newDep);
|
||||
t << _slnProjectBeg << _slnMSVCvcprojGUID << _slnProjectMid
|
||||
<< "\"" << newDep->orig_target << "\", \"" << newDep->vcprojFile
|
||||
<< "\", \"" << newDep->uuid << "\"";
|
||||
t << _slnProjectEnd;
|
||||
}
|
||||
nextfile:
|
||||
qmake_setpwd(oldpwd);
|
||||
@ -634,6 +631,30 @@ void VcprojGenerator::writeSubDirs(QTextStream &t)
|
||||
QHash<QString, ProStringList> subdirProjectLookup;
|
||||
collectDependencies(project, profileLookup, projGuids, extraSubdirs, solution_depends, solution_cleanup, t, subdirProjectLookup);
|
||||
|
||||
// write out projects
|
||||
for (QList<VcsolutionDepend*>::Iterator it = solution_cleanup.begin(); it != solution_cleanup.end(); ++it) {
|
||||
t << _slnProjectBeg << _slnMSVCvcprojGUID << _slnProjectMid
|
||||
<< "\"" << (*it)->orig_target << "\", \"" << (*it)->vcprojFile
|
||||
<< "\", \"" << (*it)->uuid << "\"";
|
||||
|
||||
debug_msg(1, "Project %s has dependencies: %s", (*it)->target.toLatin1().constData(), (*it)->dependencies.join(" ").toLatin1().constData());
|
||||
|
||||
bool hasDependency = false;
|
||||
for (QStringList::iterator dit = (*it)->dependencies.begin(); dit != (*it)->dependencies.end(); ++dit) {
|
||||
if (VcsolutionDepend *vc = solution_depends[*dit]) {
|
||||
if (!hasDependency) {
|
||||
hasDependency = true;
|
||||
t << _slnProjDepBeg;
|
||||
}
|
||||
t << "\n\t\t" << vc->uuid << " = " << vc->uuid;
|
||||
}
|
||||
}
|
||||
if (hasDependency)
|
||||
t << _slnProjDepEnd;
|
||||
|
||||
t << _slnProjectEnd;
|
||||
}
|
||||
|
||||
t << _slnGlobalBeg;
|
||||
|
||||
QHashIterator<VcsolutionDepend *, QStringList> extraIt(extraSubdirs);
|
||||
@ -657,20 +678,9 @@ void VcprojGenerator::writeSubDirs(QTextStream &t)
|
||||
}
|
||||
t << slnConf;
|
||||
|
||||
t << _slnProjDepBeg;
|
||||
|
||||
// Restore previous after_user_var options
|
||||
Option::globals->postcmds = old_after_vars;
|
||||
|
||||
// Figure out dependencies
|
||||
for(QList<VcsolutionDepend*>::Iterator it = solution_cleanup.begin(); it != solution_cleanup.end(); ++it) {
|
||||
int cnt = 0;
|
||||
for(QStringList::iterator dit = (*it)->dependencies.begin(); dit != (*it)->dependencies.end(); ++dit) {
|
||||
if(VcsolutionDepend *vc = solution_depends[*dit])
|
||||
t << "\n\t\t" << (*it)->uuid << "." << cnt++ << " = " << vc->uuid;
|
||||
}
|
||||
}
|
||||
t << _slnProjDepEnd;
|
||||
t << _slnProjConfBeg;
|
||||
for(QList<VcsolutionDepend*>::Iterator it = solution_cleanup.begin(); it != solution_cleanup.end(); ++it) {
|
||||
QString platform = is64Bit ? "x64" : "Win32";
|
||||
|
@ -29,6 +29,11 @@ SOURCES += \
|
||||
# qlibraryinfo.cpp includes qconfig.cpp
|
||||
INCLUDEPATH += $$QT_BUILD_TREE/src/corelib/global
|
||||
|
||||
# configure creates these, not syncqt, so we need to manually inject them
|
||||
targ_headers.files += \
|
||||
$$OUT_PWD/global/qconfig.h \
|
||||
$$QT_BUILD_TREE/include/QtCore/QtConfig
|
||||
|
||||
# Only used on platforms with CONFIG += precompile_header
|
||||
PRECOMPILED_HEADER = global/qt_pch.h
|
||||
|
||||
|
@ -255,6 +255,7 @@ qint64 QFSFileEnginePrivate::nativeSize() const
|
||||
|
||||
if (!filled) {
|
||||
thatQ->setError(QFile::UnspecifiedError, qt_error_string(errno));
|
||||
return 0;
|
||||
}
|
||||
return metaData.size();
|
||||
}
|
||||
|
@ -2527,7 +2527,7 @@ void QConfFileSettingsPrivate::ensureSectionParsed(QConfFile *confFile,
|
||||
character in keys. In addition, if you save a top-level
|
||||
setting (a key with no slashes in it, e.g., "someKey"), it
|
||||
will appear in the INI file's "General" section. To avoid
|
||||
overwriting other keys, if you save something using the a key
|
||||
overwriting other keys, if you save something using a key
|
||||
such as "General/someKey", the key will be located in the
|
||||
"%General" section, \e not in the "General" section.
|
||||
|
||||
|
@ -1468,11 +1468,12 @@ static void mapToLowerCase(QString *str, int from)
|
||||
int l = 1;
|
||||
while (l < 4 && entry->mapping[l])
|
||||
++l;
|
||||
if (l > 1) {
|
||||
if (l > 1 || uc > 0xffff) {
|
||||
if (uc <= 0xffff)
|
||||
str->replace(i, 1, reinterpret_cast<const QChar *>(&entry->mapping[0]), l);
|
||||
else
|
||||
str->replace(i-1, 2, reinterpret_cast<const QChar *>(&entry->mapping[0]), l);
|
||||
str->replace(--i, 2, reinterpret_cast<const QChar *>(&entry->mapping[0]), l);
|
||||
i += l - 1;
|
||||
d = 0;
|
||||
} else {
|
||||
if (!d)
|
||||
@ -1501,18 +1502,20 @@ static bool isMappedToNothing(uint uc)
|
||||
}
|
||||
|
||||
|
||||
static void stripProhibitedOutput(QString *str, int from)
|
||||
static bool containsProhibitedOuptut(const QString *str, int from)
|
||||
{
|
||||
ushort *out = (ushort *)str->data() + from;
|
||||
const ushort *in = out;
|
||||
const ushort *in = reinterpret_cast<const ushort *>(str->begin() + from);
|
||||
const ushort *end = (ushort *)str->data() + str->size();
|
||||
while (in < end) {
|
||||
for ( ; in < end; ++in) {
|
||||
uint uc = *in;
|
||||
if (QChar(uc).isHighSurrogate() && in < end - 1) {
|
||||
ushort low = *(in + 1);
|
||||
if (QChar(low).isLowSurrogate()) {
|
||||
++in;
|
||||
uc = QChar::surrogateToUcs4(uc, low);
|
||||
} else {
|
||||
// unpaired surrogates are prohibited
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (uc <= 0xFFFF) {
|
||||
@ -1537,7 +1540,7 @@ static void stripProhibitedOutput(QString *str, int from)
|
||||
|| (uc >= 0xFDD0 && uc <= 0xFDEF)
|
||||
|| uc == 0xFEFF
|
||||
|| (uc >= 0xFFF9 && uc <= 0xFFFF))) {
|
||||
*out++ = *in;
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
if (!((uc >= 0x1D173 && uc <= 0x1D17A)
|
||||
@ -1561,14 +1564,12 @@ static void stripProhibitedOutput(QString *str, int from)
|
||||
|| (uc >= 0xFFFFE && uc <= 0xFFFFF)
|
||||
|| (uc >= 0x100000 && uc <= 0x10FFFD)
|
||||
|| (uc >= 0x10FFFE && uc <= 0x10FFFF))) {
|
||||
*out++ = QChar::highSurrogate(uc);
|
||||
*out++ = QChar::lowSurrogate(uc);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
++in;
|
||||
return true;
|
||||
}
|
||||
if (in != out)
|
||||
str->truncate(out - str->utf16());
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool isBidirectionalRorAL(uint uc)
|
||||
@ -2028,7 +2029,7 @@ Q_AUTOTEST_EXPORT void qt_nameprep(QString *source, int from)
|
||||
|
||||
for ( ; out < e; ++out) {
|
||||
register ushort uc = out->unicode();
|
||||
if (uc > 0x80) {
|
||||
if (uc >= 0x80) {
|
||||
break;
|
||||
} else if (uc >= 'A' && uc <= 'Z') {
|
||||
*out = QChar(uc | 0x20);
|
||||
@ -2065,8 +2066,8 @@ Q_AUTOTEST_EXPORT void qt_nameprep(QString *source, int from)
|
||||
if (uc <= 0xFFFF) {
|
||||
*out++ = *in;
|
||||
} else {
|
||||
*out++ = QChar::highSurrogate(uc);
|
||||
*out++ = QChar::lowSurrogate(uc);
|
||||
*out++ = in[-1];
|
||||
*out++ = in[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2083,7 +2084,10 @@ Q_AUTOTEST_EXPORT void qt_nameprep(QString *source, int from)
|
||||
firstNonAscii > from ? firstNonAscii - 1 : from);
|
||||
|
||||
// Strip prohibited output
|
||||
stripProhibitedOutput(source, firstNonAscii);
|
||||
if (containsProhibitedOuptut(source, firstNonAscii)) {
|
||||
source->resize(from);
|
||||
return;
|
||||
}
|
||||
|
||||
// Check for valid bidirectional characters
|
||||
bool containsLCat = false;
|
||||
|
@ -90,6 +90,7 @@ struct DefinedTypesFilter {
|
||||
/*!
|
||||
\macro Q_DECLARE_OPAQUE_POINTER(PointerType)
|
||||
\relates QMetaType
|
||||
\since 5.0
|
||||
|
||||
This macro enables pointers to forward-declared types (\a PointerType)
|
||||
to be registered with QMetaType using either Q_DECLARE_METATYPE()
|
||||
|
@ -1822,8 +1822,8 @@ struct QMetaTypeId_ ## SMART_POINTER ## _QObjectStar<T, true> \
|
||||
return id; \
|
||||
const char * const cName = T::staticMetaObject.className(); \
|
||||
QByteArray typeName; \
|
||||
typeName.reserve(sizeof(#SMART_POINTER) + 1 + strlen(cName) + 1); \
|
||||
typeName.append(#SMART_POINTER, sizeof(#SMART_POINTER) - 1) \
|
||||
typeName.reserve(int(sizeof(#SMART_POINTER) + 1 + strlen(cName) + 1)); \
|
||||
typeName.append(#SMART_POINTER, int(sizeof(#SMART_POINTER)) - 1) \
|
||||
.append('<').append(cName).append('>'); \
|
||||
const int newId = qRegisterNormalizedMetaType< SMART_POINTER<T> >( \
|
||||
typeName, \
|
||||
|
@ -121,6 +121,10 @@ void QFactoryLoader::update()
|
||||
d->loadedPaths << pluginDir;
|
||||
|
||||
QString path = pluginDir + d->suffix;
|
||||
|
||||
if (qt_debug_component())
|
||||
qDebug() << "QFactoryLoader::QFactoryLoader() checking directory path" << path << "...";
|
||||
|
||||
if (!QDir(path).exists(QLatin1String(".")))
|
||||
continue;
|
||||
|
||||
|
@ -33,7 +33,7 @@
|
||||
\brief The <QtAlgorithms> header includes the generic, template-based algorithms.
|
||||
|
||||
Qt provides a number of global template functions in \c
|
||||
<QtAlgorithms> that work on containers and perform well-know
|
||||
<QtAlgorithms> that work on containers and perform well-known
|
||||
algorithms. You can use these algorithms with any \l {container
|
||||
class} that provides STL-style iterators, including Qt's QList,
|
||||
QLinkedList, QVector, QMap, and QHash classes.
|
||||
|
@ -62,7 +62,7 @@ struct QPodArrayOps
|
||||
Q_ASSERT(newSize <= this->alloc);
|
||||
|
||||
::memset(this->end(), 0, (newSize - this->size) * sizeof(T));
|
||||
this->size = newSize;
|
||||
this->size = int(newSize);
|
||||
}
|
||||
|
||||
void copyAppend(const T *b, const T *e)
|
||||
@ -84,7 +84,7 @@ struct QPodArrayOps
|
||||
const T *const end = iter + n;
|
||||
for (; iter != end; ++iter)
|
||||
::memcpy(iter, &t, sizeof(T));
|
||||
this->size += n;
|
||||
this->size += int(n);
|
||||
}
|
||||
|
||||
void truncate(size_t newSize)
|
||||
@ -92,7 +92,7 @@ struct QPodArrayOps
|
||||
Q_ASSERT(!this->ref.isShared());
|
||||
Q_ASSERT(newSize < size_t(this->size));
|
||||
|
||||
this->size = newSize;
|
||||
this->size = int(newSize);
|
||||
}
|
||||
|
||||
void destroyAll() // Call from destructors, ONLY!
|
||||
|
@ -123,7 +123,8 @@ QT_BEGIN_NAMESPACE
|
||||
*/
|
||||
QBitArray::QBitArray(int size, bool value)
|
||||
{
|
||||
if (!size) {
|
||||
Q_ASSERT_X(size >= 0, "QBitArray::QBitArray", "Size must be greater than or equal to 0.");
|
||||
if (size <= 0) {
|
||||
d.resize(0);
|
||||
return;
|
||||
}
|
||||
|
@ -1031,7 +1031,7 @@ void QRegularExpressionPrivate::getPatternInfo()
|
||||
*/
|
||||
class QPcreJitStackPointer
|
||||
{
|
||||
Q_DISABLE_COPY(QPcreJitStackPointer);
|
||||
Q_DISABLE_COPY(QPcreJitStackPointer)
|
||||
|
||||
public:
|
||||
/*!
|
||||
|
@ -240,14 +240,14 @@ inline quint64 _xgetbv(__int64) { return 0; }
|
||||
#endif
|
||||
static void xgetbv(uint in, uint &eax, uint &edx)
|
||||
{
|
||||
#ifdef Q_OS_WIN
|
||||
quint64 result = _xgetbv(in);
|
||||
eax = result;
|
||||
edx = result >> 32;
|
||||
#elif defined(Q_CC_GNU)
|
||||
#if defined(Q_CC_GNU)
|
||||
asm (".byte 0x0F, 0x01, 0xD0" // xgetbv instruction
|
||||
: "=a" (eax), "=d" (edx)
|
||||
: "c" (in));
|
||||
#elif defined(Q_OS_WIN)
|
||||
quint64 result = _xgetbv(in);
|
||||
eax = result;
|
||||
edx = result >> 32;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -197,6 +197,8 @@ private:
|
||||
template <class T, int Prealloc>
|
||||
Q_INLINE_TEMPLATE QVarLengthArray<T, Prealloc>::QVarLengthArray(int asize)
|
||||
: s(asize) {
|
||||
Q_STATIC_ASSERT_X(Prealloc > 0, "QVarLengthArray Prealloc must be greater than 0.");
|
||||
Q_ASSERT_X(s >= 0, "QVarLengthArray::QVarLengthArray()", "Size must be greater than or equal to 0.");
|
||||
if (s > Prealloc) {
|
||||
ptr = reinterpret_cast<T *>(malloc(s * sizeof(T)));
|
||||
Q_CHECK_PTR(ptr);
|
||||
|
@ -398,7 +398,8 @@ QVector<T> &QVector<T>::operator=(const QVector<T> &v)
|
||||
template <typename T>
|
||||
QVector<T>::QVector(int asize)
|
||||
{
|
||||
if (Q_LIKELY(asize)) {
|
||||
Q_ASSERT_X(asize >= 0, "QVector::QVector", "Size must be greater than or equal to 0.");
|
||||
if (Q_LIKELY(asize > 0)) {
|
||||
d = Data::allocate(asize);
|
||||
d->size = asize;
|
||||
defaultConstruct(d->begin(), d->end());
|
||||
@ -410,7 +411,8 @@ QVector<T>::QVector(int asize)
|
||||
template <typename T>
|
||||
QVector<T>::QVector(int asize, const T &t)
|
||||
{
|
||||
if (asize) {
|
||||
Q_ASSERT_X(asize >= 0, "QVector::QVector", "Size must be greater than or equal to 0.");
|
||||
if (asize > 0) {
|
||||
d = Data::allocate(asize);
|
||||
d->size = asize;
|
||||
T* i = d->end();
|
||||
|
@ -782,12 +782,14 @@ static void init_platform(const QString &pluginArgument, const QString &platform
|
||||
QGuiApplicationPrivate::platform_name = new QString(name);
|
||||
} else {
|
||||
QStringList keys = QPlatformIntegrationFactory::keys(platformPluginPath);
|
||||
QString fatalMessage =
|
||||
QString::fromLatin1("Failed to load platform plugin \"%1\". Available platforms are: \n").arg(name);
|
||||
foreach(const QString &key, keys) {
|
||||
fatalMessage.append(key + QLatin1Char('\n'));
|
||||
}
|
||||
qFatal("%s", fatalMessage.toLocal8Bit().constData());
|
||||
|
||||
QString fatalMessage
|
||||
= QStringLiteral("Failed to find or load platform plugin \"%1\".\n").arg(name);
|
||||
if (!keys.isEmpty())
|
||||
fatalMessage += QStringLiteral("Available platforms are: %1\n").arg(
|
||||
keys.join(QStringLiteral(", ")));
|
||||
fatalMessage += QStringLiteral("GUI applications require a platform plugin. Terminating.");
|
||||
qFatal(qPrintable(fatalMessage));
|
||||
return;
|
||||
}
|
||||
|
||||
@ -2251,8 +2253,8 @@ void QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::E
|
||||
if (!p->receivedExpose) {
|
||||
if (p->resizeEventPending) {
|
||||
// as a convenience for plugins, send a resize event before the first expose event if they haven't done so
|
||||
QSize size = p->geometry.size();
|
||||
QResizeEvent e(size, size);
|
||||
// window->geometry() should have a valid size as soon as a handle exists.
|
||||
QResizeEvent e(window->geometry().size(), p->geometry.size());
|
||||
QGuiApplication::sendSpontaneousEvent(window, &e);
|
||||
|
||||
p->resizeEventPending = false;
|
||||
|
@ -96,7 +96,7 @@ private:
|
||||
friend class QOpenGLContextGroupPrivate;
|
||||
friend class QOpenGLMultiGroupSharedResource;
|
||||
|
||||
Q_DISABLE_COPY(QOpenGLSharedResource);
|
||||
Q_DISABLE_COPY(QOpenGLSharedResource)
|
||||
};
|
||||
|
||||
class Q_GUI_EXPORT QOpenGLSharedResourceGuard : public QOpenGLSharedResource
|
||||
|
@ -441,7 +441,7 @@ public:
|
||||
}
|
||||
}
|
||||
private:
|
||||
Q_DISABLE_COPY(WindowSystemEventList);
|
||||
Q_DISABLE_COPY(WindowSystemEventList)
|
||||
};
|
||||
|
||||
static WindowSystemEventList windowSystemEventQueue;
|
||||
|
@ -1064,7 +1064,6 @@ QImage QOpenGLFramebufferObject::toImage() const
|
||||
|
||||
/*!
|
||||
\fn bool QOpenGLFramebufferObject::bindDefault()
|
||||
\internal
|
||||
|
||||
Switches rendering back to the default, windowing system provided
|
||||
framebuffer.
|
||||
|
@ -147,6 +147,9 @@ void QOpenGLTextureGlyphCache::resizeTextureData(int width, int height)
|
||||
return;
|
||||
}
|
||||
|
||||
GLint oldFbo;
|
||||
glGetIntegerv(GL_FRAMEBUFFER_BINDING, &oldFbo);
|
||||
|
||||
int oldWidth = m_textureResource->m_width;
|
||||
int oldHeight = m_textureResource->m_height;
|
||||
|
||||
@ -265,7 +268,7 @@ void QOpenGLTextureGlyphCache::resizeTextureData(int width, int height)
|
||||
glDeleteTextures(1, &tmp_texture);
|
||||
glDeleteTextures(1, &oldTexture);
|
||||
|
||||
funcs.glBindFramebuffer(GL_FRAMEBUFFER, ctx->d_func()->current_fbo);
|
||||
funcs.glBindFramebuffer(GL_FRAMEBUFFER, (GLuint)oldFbo);
|
||||
|
||||
if (pex != 0) {
|
||||
glViewport(0, 0, pex->width, pex->height);
|
||||
|
@ -1316,6 +1316,12 @@ void QFontEngineFT::doKerning(QGlyphLayout *g, QFontEngine::ShaperFlags flags) c
|
||||
unlockFace();
|
||||
}
|
||||
}
|
||||
|
||||
if (shouldUseDesignMetrics(flags) && !(fontDef.styleStrategy & QFont::ForceIntegerMetrics))
|
||||
flags |= DesignMetrics;
|
||||
else
|
||||
flags &= ~DesignMetrics;
|
||||
|
||||
QFontEngine::doKerning(g, flags);
|
||||
}
|
||||
|
||||
@ -1571,12 +1577,18 @@ bool QFontEngineFT::stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs
|
||||
return true;
|
||||
}
|
||||
|
||||
bool QFontEngineFT::shouldUseDesignMetrics(QFontEngine::ShaperFlags flags) const
|
||||
{
|
||||
if (!FT_IS_SCALABLE(freetype->face))
|
||||
return false;
|
||||
|
||||
return default_hint_style == HintNone || default_hint_style == HintLight || (flags & DesignMetrics);
|
||||
}
|
||||
|
||||
void QFontEngineFT::recalcAdvances(QGlyphLayout *glyphs, QFontEngine::ShaperFlags flags) const
|
||||
{
|
||||
FT_Face face = 0;
|
||||
bool design = (default_hint_style == HintNone ||
|
||||
default_hint_style == HintLight ||
|
||||
(flags & DesignMetrics)) && FT_IS_SCALABLE(freetype->face);
|
||||
bool design = shouldUseDesignMetrics(flags);
|
||||
for (int i = 0; i < glyphs->numGlyphs; i++) {
|
||||
Glyph *g = cacheEnabled ? defaultGlyphSet.getGlyph(glyphs->glyphs[i]) : 0;
|
||||
// Since we are passing Format_None to loadGlyph, use same default format logic as loadGlyph
|
||||
|
@ -325,6 +325,7 @@ private:
|
||||
friend class QFontEngineMultiFontConfig;
|
||||
|
||||
int loadFlags(QGlyphSet *set, GlyphFormat format, int flags, bool &hsubpixel, int &vfactor) const;
|
||||
bool shouldUseDesignMetrics(ShaperFlags flags) const;
|
||||
|
||||
GlyphFormat defaultFormat;
|
||||
FT_Matrix matrix;
|
||||
|
@ -125,6 +125,7 @@ public:
|
||||
bool m_forceToActiveWindow;
|
||||
QTouchDevice *m_device;
|
||||
bool m_typeB;
|
||||
QTransform m_rotate;
|
||||
};
|
||||
|
||||
QEvdevTouchScreenData::QEvdevTouchScreenData(QEvdevTouchScreenHandler *q_ptr, const QStringList &args)
|
||||
@ -177,10 +178,24 @@ QEvdevTouchScreenHandler::QEvdevTouchScreenHandler(const QString &specification,
|
||||
|
||||
QStringList args = spec.split(QLatin1Char(':'));
|
||||
|
||||
int rotationAngle = 0;
|
||||
for (int i = 0; i < args.count(); ++i) {
|
||||
if (args.at(i).startsWith(QLatin1String("/dev/"))) {
|
||||
if (args.at(i).startsWith(QLatin1String("/dev/")) && dev.isEmpty()) {
|
||||
dev = args.at(i);
|
||||
break;
|
||||
} else if (args.at(i).startsWith(QLatin1String("rotate"))) {
|
||||
QString rotateArg = args.at(i).section(QLatin1Char('='), 1, 1);
|
||||
bool ok;
|
||||
uint argValue = rotateArg.toUInt(&ok);
|
||||
if (ok) {
|
||||
switch (argValue) {
|
||||
case 90:
|
||||
case 180:
|
||||
case 270:
|
||||
rotationAngle = argValue;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -265,6 +280,9 @@ QEvdevTouchScreenHandler::QEvdevTouchScreenHandler(const QString &specification,
|
||||
#endif
|
||||
qDebug("Protocol type %c %s", d->m_typeB ? 'B' : 'A', mtdevStr);
|
||||
|
||||
if (rotationAngle)
|
||||
d->m_rotate = QTransform::fromTranslate(0.5, 0.5).rotate(rotationAngle).translate(-0.5, -0.5);
|
||||
|
||||
d->registerDevice();
|
||||
}
|
||||
|
||||
@ -421,6 +439,11 @@ void QEvdevTouchScreenData::processInputEvent(input_event *data)
|
||||
tp.normalPosition = QPointF((contact.x - hw_range_x_min) / qreal(hw_range_x_max - hw_range_x_min),
|
||||
(contact.y - hw_range_y_min) / qreal(hw_range_y_max - hw_range_y_min));
|
||||
|
||||
if (!m_rotate.isIdentity())
|
||||
tp.normalPosition = m_rotate.map(tp.normalPosition);
|
||||
|
||||
tp.rawPositions.append(QPointF(contact.x, contact.y));
|
||||
|
||||
m_touchPoints.append(tp);
|
||||
|
||||
if (contact.state == Qt::TouchPointReleased)
|
||||
@ -513,9 +536,10 @@ void QEvdevTouchScreenData::reportPoints()
|
||||
QWindowSystemInterface::TouchPoint &tp(m_touchPoints[i]);
|
||||
|
||||
// Generate a screen position that is always inside the active window
|
||||
// or the primary screen.
|
||||
const qreal wx = winRect.left() + tp.normalPosition.x() * winRect.width();
|
||||
const qreal wy = winRect.top() + tp.normalPosition.y() * winRect.height();
|
||||
// or the primary screen. Even though we report this as a QRectF, internally
|
||||
// Qt uses QRect/QPoint so we need to bound the size to winRect.size() - QSize(1, 1)
|
||||
const qreal wx = winRect.left() + tp.normalPosition.x() * (winRect.width() - 1);
|
||||
const qreal wy = winRect.top() + tp.normalPosition.y() * (winRect.height() - 1);
|
||||
const qreal sizeRatio = (winRect.width() + winRect.height()) / qreal(hw_w + hw_h);
|
||||
if (tp.area.width() == -1) // touch major was not provided
|
||||
tp.area = QRectF(0, 0, 8, 8);
|
||||
|
@ -74,7 +74,6 @@ const QDBusArgument &operator>>(const QDBusArgument &argument, ConnmanMap &map)
|
||||
return argument;
|
||||
}
|
||||
|
||||
static QDBusConnection dbusConnection = QDBusConnection::systemBus();
|
||||
QConnmanManagerInterface::QConnmanManagerInterface( QObject *parent)
|
||||
: QDBusAbstractInterface(QLatin1String(CONNMAN_SERVICE),
|
||||
QLatin1String(CONNMAN_MANAGER_PATH),
|
||||
@ -98,7 +97,7 @@ void QConnmanManagerInterface::connectNotify(const QMetaMethod &signal)
|
||||
QLatin1String(CONNMAN_MANAGER_INTERFACE),
|
||||
QLatin1String("PropertyChanged"),
|
||||
this,SIGNAL(propertyChanged(QString,QDBusVariant)))) {
|
||||
qWarning() << "PropertyCHanged not connected";
|
||||
qWarning() << "PropertyChanged not connected";
|
||||
}
|
||||
}
|
||||
|
||||
@ -118,7 +117,7 @@ void QConnmanManagerInterface::connectNotify(const QMetaMethod &signal)
|
||||
QConnmanDBusHelper *helper;
|
||||
helper = new QConnmanDBusHelper(this);
|
||||
|
||||
dbusConnection.connect(QLatin1String(CONNMAN_SERVICE),
|
||||
QDBusConnection::systemBus().connect(QLatin1String(CONNMAN_SERVICE),
|
||||
QLatin1String(CONNMAN_MANAGER_PATH),
|
||||
QLatin1String(CONNMAN_MANAGER_INTERFACE),
|
||||
QLatin1String("PropertyChanged"),
|
||||
@ -379,7 +378,7 @@ void QConnmanProfileInterface::connectNotify(const QMetaMethod &signal)
|
||||
{
|
||||
static const QMetaMethod propertyChangedSignal = QMetaMethod::fromSignal(&QConnmanProfileInterface::propertyChanged);
|
||||
if (signal == propertyChangedSignal) {
|
||||
dbusConnection.connect(QLatin1String(CONNMAN_SERVICE),
|
||||
QDBusConnection::systemBus().connect(QLatin1String(CONNMAN_SERVICE),
|
||||
this->path(),
|
||||
QLatin1String(CONNMAN_PROFILE_INTERFACE),
|
||||
QLatin1String("PropertyChanged"),
|
||||
@ -449,7 +448,7 @@ void QConnmanServiceInterface::connectNotify(const QMetaMethod &signal)
|
||||
{
|
||||
static const QMetaMethod propertyChangedSignal = QMetaMethod::fromSignal(&QConnmanServiceInterface::propertyChanged);
|
||||
if (signal == propertyChangedSignal) {
|
||||
dbusConnection.connect(QLatin1String(CONNMAN_SERVICE),
|
||||
QDBusConnection::systemBus().connect(QLatin1String(CONNMAN_SERVICE),
|
||||
this->path(),
|
||||
QLatin1String(CONNMAN_SERVICE_INTERFACE),
|
||||
QLatin1String("PropertyChanged"),
|
||||
@ -460,7 +459,7 @@ void QConnmanServiceInterface::connectNotify(const QMetaMethod &signal)
|
||||
QConnmanDBusHelper *helper;
|
||||
helper = new QConnmanDBusHelper(this);
|
||||
|
||||
dbusConnection.connect(QLatin1String(CONNMAN_SERVICE),
|
||||
QDBusConnection::systemBus().connect(QLatin1String(CONNMAN_SERVICE),
|
||||
this->path(),
|
||||
QLatin1String(CONNMAN_SERVICE_INTERFACE),
|
||||
QLatin1String("PropertyChanged"),
|
||||
@ -514,9 +513,6 @@ void QConnmanServiceInterface::remove()
|
||||
QDBusReply<QVariantMap> reply = this->call(QLatin1String("Remove"));
|
||||
}
|
||||
|
||||
// void moveBefore(QDBusObjectPath &service);
|
||||
// void moveAfter(QDBusObjectPath &service);
|
||||
|
||||
// properties
|
||||
QString QConnmanServiceInterface::getState()
|
||||
{
|
||||
@ -779,7 +775,7 @@ void QConnmanTechnologyInterface::connectNotify(const QMetaMethod &signal)
|
||||
{
|
||||
static const QMetaMethod propertyChangedSignal = QMetaMethod::fromSignal(&QConnmanTechnologyInterface::propertyChanged);
|
||||
if (signal == propertyChangedSignal) {
|
||||
dbusConnection.connect(QLatin1String(CONNMAN_SERVICE),
|
||||
QDBusConnection::systemBus().connect(QLatin1String(CONNMAN_SERVICE),
|
||||
this->path(),
|
||||
QLatin1String(CONNMAN_TECHNOLOGY_INTERFACE),
|
||||
QLatin1String("PropertyChanged"),
|
||||
@ -790,7 +786,7 @@ void QConnmanTechnologyInterface::connectNotify(const QMetaMethod &signal)
|
||||
QConnmanDBusHelper *helper;
|
||||
helper = new QConnmanDBusHelper(this);
|
||||
|
||||
dbusConnection.connect(QLatin1String(CONNMAN_SERVICE),
|
||||
QDBusConnection::systemBus().connect(QLatin1String(CONNMAN_SERVICE),
|
||||
this->path(),
|
||||
QLatin1String(CONNMAN_TECHNOLOGY_INTERFACE),
|
||||
QLatin1String("PropertyChanged"),
|
||||
@ -861,23 +857,11 @@ QConnmanAgentInterface::~QConnmanAgentInterface()
|
||||
void QConnmanAgentInterface::connectNotify(const QMetaMethod &signal)
|
||||
{
|
||||
Q_UNUSED(signal);
|
||||
// static const QMetaMethod propertyChangedSignal = QMetaMethod::fromSignal(&QConnmanAgentInterface::propertyChanged);
|
||||
// if (signal == propertyChangedSignal) {
|
||||
// dbusConnection.connect(QLatin1String(CONNMAN_SERVICE),
|
||||
// this->path(),
|
||||
// QLatin1String(CONNMAN_NETWORK_INTERFACE),
|
||||
// QLatin1String("PropertyChanged"),
|
||||
// this,SIGNAL(propertyChanged(QString,QVariant&)));
|
||||
// }
|
||||
}
|
||||
|
||||
void QConnmanAgentInterface::disconnectNotify(const QMetaMethod &signal)
|
||||
{
|
||||
Q_UNUSED(signal);
|
||||
// static const QMetaMethod propertyChangedSignal = QMetaMethod::fromSignal(&QConnmanAgentInterface::propertyChanged);
|
||||
// if (signal == propertyChangedSignal) {
|
||||
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
@ -889,10 +873,6 @@ void QConnmanAgentInterface::reportError(QDBusObjectPath &/*path*/, const QStrin
|
||||
{
|
||||
}
|
||||
|
||||
//dict QConnmanAgentInterface::requestInput(QDBusObjectPath &path, dict fields)
|
||||
//{
|
||||
//}
|
||||
|
||||
void QConnmanAgentInterface::cancel()
|
||||
{
|
||||
}
|
||||
|
@ -151,8 +151,7 @@
|
||||
[kids addObject: element];
|
||||
[element release];
|
||||
}
|
||||
// ### maybe we should use NSAccessibilityUnignoredChildren(kids); this needs more profiling
|
||||
return kids;
|
||||
return NSAccessibilityUnignoredChildren(kids);
|
||||
|
||||
} else if ([attribute isEqualToString:NSAccessibilityFocusedAttribute]) {
|
||||
// Just check if the app thinks we're focused.
|
||||
@ -272,8 +271,7 @@
|
||||
// No child found, meaning we hit this element.
|
||||
if (!childInterface) {
|
||||
// qDebug() << "Hit test returns: " << id << iface;
|
||||
return self;
|
||||
//return NSAccessibilityUnignoredAncestor(self);
|
||||
return NSAccessibilityUnignoredAncestor(self);
|
||||
}
|
||||
|
||||
QAccessible::Id childId = QAccessible::uniqueId(childInterface);
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user