This yields the same results as previously and is more in line
with existing interfaces.
Change-Id: I0bf0372bf18f3bfde579385cddbe594bf71e3c52
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Improves the code generation by not making virtual calls where not
necessary.
Change-Id: I908905f4430359eea3ea8548a35e83e028805911
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
This is mainly achieved by modifying the program flow to require
fewer string comparisons and conversions.
Change-Id: I9887623b9c05fe76460fc725d6534d16bd9f9e59
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
- Introduce the concept of "mutual exclusion"
- Rewrite/add explanations on how synchronization happens and how to
use these tools
- Remove similar content from the "Thread Basics" page
- Fix links to examples
Change-Id: Id008a8fc3f68bf242cae1704c5c8318149d908b4
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
These apply to other locks too, not just mutexes.
Move from "Thread Basics" to "Synchronizing Threads"
Change-Id: I6d7051cb225a8c836fb591a28b65d3de8fab4083
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Move text from "Thread Basics" to "Synchronizing Threads" for a more
complete overview.
Change-Id: Ib87259ed551fa77278b57c5922df7f4b774a829a
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
- Create a section dedicated to this concept, which is fundamental to
signal/event handling
- Move relevant content from the very broad "Thread Basics" page to the
QObject class ref
- Flesh out existing content, including distinguishing signals from
events
- Address the common misconception that "member" = "child"; this has
been encountered several times in the Qt Project forums
Change-Id: I5e7e6c848596e72c0bb623f8442c8389b81ad9ef
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Provides locale-related codepaths for WinRT where existing Win32 API is
unsupported.
Change-Id: I35b83d6b208165b7660cac3c9b383cb6ba7e5cf9
Done-with: Maurice Kalinowski
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
This actually shows two completely unused functions in QAccessibleTabBar
(fixed in follow up patch).
Change-Id: If6f464c022617b2ee1db654936e3ff9931103eb6
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
qFlagLocation() uses a global char* array to transport source location
information from the connect() side to the metaobject side. The size
of the array is 2 (two), which just about suffices for a single connect()
statement.
Obviously, if more than one thread makes a (_any_) connection at the same
time, the data is useless and, worse, there's a data race.
The non-reentrancy of qFlagLocations() cannot and need not be fixed,
but use a per-thread flagged_locations array in QThreadData so threads
don't disturb each other.
Task-number: QTBUG-3680
Change-Id: If1797c60751f551694def69afee6fbe295bbe2d2
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Make platform plugins, like the windows one, able to indicate
if a mouse event is synthesized from a touch event by the OS.
This will be valuable information for the Quick2 event handlers.
No new member variables are added to QMouseEvent. Instead, the enum
value is encoded in the caps member, there are plenty of bits
available in it.
This introduces Qt::MouseEventSource and QMouseEvent::source() as
public APIs.
Change-Id: If087a0bafb33a6cd7891bd07b84871358f6aba69
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
NewObjectV() was failing because QJNIObject was calling the variadic
constructors with a va_list, which in turn created a new va_list.
Change-Id: I1cf4c8133f237596964177271a20ca651174e695
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Whenever the SDK updates the build tools it's put inside a new
subdirectory with the version number, so with every new version
we would have to update the java.prf feature. Instead, we iterate
over the available revisions and pick the lexicographically highest
one (which is sufficient as long as the major version is
double digits.)
Change-Id: I2392ef6261ef36ed741c80fa6f981486e7844e0a
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
On Linux, we will do a configure test to determine whether JIT should
be turned off when compiling JavaScriptCore in the QtScript module,
but this test is never run on Windows. The result was that JIT was
disabled on Linux and enabled on Windows, and compilation broke on
Windows.
Task-number: QTBUG-33780
Change-Id: I37991c6da98b35330c07c54f2a0b143d20780c91
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
CFBundleGetPackageInfoInDirectory originally used tests for the presence
of information that are not mandatory in a bundle. The new implementation
uses known bundle extensions as well as Launch Services
to try to find if the bundle is known to the system. Last thing it
checks whether the package bit is set.
Task-number: QTBUG-31884
Change-Id: Ib58996c6ac65194c21238f5f86f78d797e310608
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
WinRT applications are not invoked directly, so a debugger may attach too
late to be useful. While the application can be launched with a debugging
server, attaching directly to the running process is simpler and less
resource-intensive. For this reason, it is useful for applications to
wait for the direct debugger to attach. If the existing -qdebug parameter
is passed to the application, wait idly until the debugger attaches.
Change-Id: I7b4957beb9728ab6311b459e4d809dc5f4767780
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
HtmlGenerator::generateCompactList() no longer uses an algorithm to
find out a common prefix for classes/qml types when generating the
alphabetical lists. The common prefix argument is no longer optional.
To indicate there is no common prefix, pass an empty string as the
common prefix argument.
Task-number: QTBUG-33750
Change-Id: I4b44bbcff909fcea5c7bfd58c6796e303086bc68
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
The QML module identifier is no longer useful.
The function to generate it is retained for now.
Task-number: QTBUG-32173
Change-Id: Ic811ed432f2059c0370e9e0d86b2e334b5c82a3c
Reviewed-by: Martin Smith <martin.smith@digia.com>
qtbase/tests/auto/corelib/io/qfilesystemwatcher/tst_qfilesystemwatcher.cpp:652:36: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
f.write(QByteArray("i am " + i));
~~~~~~~~^~~
qtbase/tests/auto/corelib/io/qfilesystemwatcher/tst_qfilesystemwatcher.cpp:652:36: note: use array indexing to silence this warning
f.write(QByteArray("i am " + i));
^
& [ ]
Change-Id: Icc966559be3c2cde3416193b8a1ddab7e0323ade
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This was removed by commit 4c8d8a72ec
But without it Playbook OS 2.1.0.1753 could not access ssh properly.
Change-Id: I18e136eaede2a5dffeb10b5fe31023b9aef709cb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
Change-Id: I5a1e601e3aa6e84300efa09bfbd9232fecab903e
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@digia.com>
Reviewed-by: David Faure <david.faure@kdab.com>
When doing slow, precise movements, some devices will report
differences of less than 1 pixel. This would mark the points
as stationary, meaning that Qt would discard them without reporting.
On the three devices I have tested, stationary points are reported with
a 0.0 difference. If any devices are reporting noisy values, it is
still safer to test for equality, since it is much better to report
too many move events than to not report any.
Task-number: QTBUG-33729
Change-Id: If20f2758f5a5ec0917184345b558f55a3d383807
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
This is required for functions in the QtWin namespace.
Change-Id: I6c38c8ef262377050a75861435da381863340f33
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
IOKit used to be part of the 5.x and 6.x iOS SDKs, but not officially,
so when Apple in the iOS 7 SDK removed IOKit headers and the library
symlink, our builds started failing.
Change-Id: I631cab7c106559968c06977fa25157a57402594c
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
qsql_ibase.cpp:1155:23: error: enumeration value ‘LowPrecisionDouble’ not handled in switch [-Werror=switch]
qsql_ibase.cpp:1419:12: error: enumeration value ‘CancelQuery’ not handled in switch [-Werror=switch]
Change-Id: I3c6102051cde80c81948f5a64f9addcf7a371136
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
This allows V4 and other garbage collectors to pass through our
custom stack during the mark-phase without triggering access
violations.
Change-Id: Icafcf4df3537c628c641fe694bb9fe2016519a83
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
This change allows an empty string to be used as a common prefix
for class/type compact lists, and uses it for QML types as they
do not have a common prefix like public C++ Qt classes do.
This fixes the issue with sorting order for QML type lists.
Task-number: QTBUG-33715
Change-Id: I28ab689d28017ae28eccbf590d1dbbe107665e33
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
Q_OS_WIN64 is not defined for WinRT, so make sure the pointer size is
correct.
Change-Id: I5a55bfd7edbfd23e0eab50fa31a76faa9e383a8d
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
This enables EGL for WinRT's native types, and adjusts some codepaths
to accommodate differences in between desktop Windows and WinRT.
- WinRT native handles added to eglplatform.h
- References to native handles in libEGL/libGLESv2 follow eglplatform.h
- D3D 11.1 structures and methods used when necessary
- TLS replaced with thread attribute
- LocalAlloc/Free replaced with Heap API
Change-Id: Ia90377e700d335a1c569c2145008dd4b0dfd84d3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Change-Id: Ib1047731667ba8a7b9db2f62924eb42a6b85b4fd
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
Change-Id: I88d98421978e0f5c55af8647f3f74c265b45bd37
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
- Remove irrelevant test subdirs via .pro files
- Follow WinCE codepaths where applicable
- Replace unsupported Win32 APIs with WinRT equivalents
This does not aim to fix any failures in the tests themselves; it only
makes them compile.
Change-Id: Ia82bc0cc402891f8f6238d4c261ee9152b51be80
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Without that define here moc cannot handle qsystemdetection
properly. While having to touch the mkspecs I also removed
the no longer needed WINRT define.
Change-Id: I0609bd173c7bc14ccdd862afc777d7793dda02b8
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Andrew Knight <andrew.knight@digia.com>