| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
.qmake.conf
Change-Id: I06f79bcbde13c7b12905492a17dbcbb4a594e557
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In the past connect has shown up as a noticeable cost in item
creation. Avoid the use here by refactoring to call base class
implementation and emit override signal as well.
Task-number: QTBUG-32764
Change-Id: If3e5a1cc55c113d812705fcfdc7a17aee9d6f51c
Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Ensure deferred deletions are handled while syncing, otherwise texture
might be deleted after sync but before deferred deletion is processed.
Task-number: QTBUG-32513
Change-Id: Id276f536a5722a36baae815b7b550b574eeeb483
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I5d4a7917baa7c8f8dd7cfe3f49c6cf4fe5532ac0
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-32750
Change-Id: I6bdf63d3cbcaaeb54c7c1ae25dfc55fc7e964075
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fix PathView.NoHighlightRange description, move the enum values
into a list, and do some minor editing.
Task-number: QTBUG-16160
Change-Id: I5356c21ea3244ce43defa346da11696a8706c71f
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I55996a1c38ad6da4566d2160155503a27ad4a20b
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Without this fix the visibleArea.heightRatio and widthRatio values
were only updated on geometry changes when flicking was active.
So when setting the flickable geometry to the content geometry and
thereby disabling flicking the ratios were not updated.
This could for example cause wrong scrollbar renderings.
The ratios are now also calculated directly after accessing the
visibleArea property for the first time.
The new autotest covers both problems.
Change-Id: I54ba606524557fb328a198c312c1f65eb125c5a3
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-32711
Change-Id: I45ed6829f2c240e8352dac33beeee803cb88a18d
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-32139
Change-Id: I715b97eb85bc4235de6a2bb696131efae56477fd
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Discovered when fixing
Task-number: QTBUG-32139
Change-Id: I94d1a958069666ed43db146a7393e5f1ff4e177e
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
|
| | |\
| | | |
| | | |
| | | | |
Change-Id: Ibb0e597c0cd02732bae3ef0ccc31c3ef36c75584
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
It seems uploading an image (into a texture) which has
padding at the end of each scanLine and alpha-only pixel format
is broken with some OpenGL ES drivers.
The workaround is to upload one line at a time.
Task-number: QTBUG-30908
Change-Id: Ic680654951b6aec294c1a173708c1fb75e57ff8f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Until now, the user could change the color by dragging the crosshairs
or the sliders, but if the application set the color property, it did
not programmatically move the crosshairs and sliders.
Task-number: QTBUG-32545
Change-Id: Idd54e711400dfd78d570161297559f9521c1d67f
Reviewed-by: Liang Qi <liang.qi@digia.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: Idd53d9c7246b17a9159faec06a7ce6c6355cd09f
Task-number: QTBUG-32572
Reviewed-by: Liang Qi <liang.qi@digia.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
There is no obvious path to find the reference for QML Qt object.
This change adds links to it in Qt QML module index page and QML
Basic Types documentation.
Task-number: QTBUG-31921
Change-Id: I8a4ef1b3e696a0a7dec416d759ae64110e59c6c0
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
QtQml::Qt is a "QML global object" to differentiate it from the
Qt namespace.
"QML Qt object"
"QML Qt global object"
"Qt global object" (in the context of QML-only pages)
Change-Id: I1d2896ad48e8432c5eb8b18f05af247986bff336
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The basic date type seems useless if you don't know it can be used as
as JavaScript date (with QML extensions).
Task-number: QTBUG-32492
Change-Id: I14962f4e57522f5515f0e78d484aa59fcd9dff3c
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If there is a custom file engine in use by the application then it will
not be able to tell if the file exists if the system stat() call is
used. Therefore we let it use QDir::exists() on all platforms to ensure
that this is taken care of.
Change-Id: I0c93cfdad1e71b40512bcf1766de6a705a76bd9c
Reviewed-by: Marcus Tillmanns <maddimax@gmail.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Consider the old geometry, not the new one to check if an item
was outside the viewport or not
Change-Id: I108412d560faf86130044f3d091254c07af0c004
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | | |
into dev
Change-Id: I278524d0f43d2237201d9cf78c1c36a5ecc83d84
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This fixes qqmllanguage and some other auto-tests with the interpreter
When adding numbers, make sure to preserve them as integer if left and
right hand side are integers. We do this now consistently throughout
the runtime by providing fallback implementations of mul/sub/add_int32.
Change-Id: I37e24ce14dc676bb072571b57289965ec59999c1
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When re-entering the interpreter for a try block, we use a different code
pointer and therefore need to set context->interpreterInstructionPointer
accordingly. We do that now at the beginning of run(), before we start
interpreting the instructions. When returning from a try block, we continue
using the old "code" pointer and therefore need to set
context->interpreterInstructionPointer back.
Change-Id: I607aef104d5f74bb0c44c6635619c99a6b397bce
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I0df182a18ab35ad8744fd23243286c7c501cd4a9
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Make sure to initialize the interpreter instruction pointer pointer
before executing byte code.
Change-Id: I57115699923eeeea627d83536b464f29926d443c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Otherwise the QByteArray's constData might have been relocated, and the
output might be anything but correct (e.g. empty).
Change-Id: I2eb1223d2e0577f41c8f9e6ce81cb65af05166da
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: Ie6c918730d0ece0e9e63254ae97c257ee013f2f4
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
implemented
Use the interpreter in the meantime, so that we get sensible test results in the CI system
Change-Id: Ib8089836b705433cd15e037d4d2dd662648c941f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When registering the QList<qreal> sequence type, make sure to register it
with "QList<qreal>" as name right there. Otherwise it might happen that
the registration (without name) will find an existing QList<double> type id
and not register anything.
Change-Id: I15c837f26bfa713f50dfdbd7c697d55b094f3f0c
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Math functions come in std:: when #included through <cmath>
Change-Id: I62550e5c23cb6f4464f2c2f5c4188a91b3512d1a
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This adds breakpoint support to the Debugger, a helper function in the engine
for enabling debugging (which will switch from JIT to the interpreter) and a
DebuggingAgent interface, for use by v4 clients.
Change-Id: I78e17a6cbe7196b0dfe4ee157fc028532131caa3
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
merge
Change-Id: I5824a3eb624b325de10acfd5109c4c1bdabcf780
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The iterator stores the Property pointers the QV4::ObjectIterator returns,
which breaks when iterating over string objects, that always return the
same Property pointer in subsequence calls: &this->tmpProperty.
Given that internally QJSValueIterator already advanced the iterator to
the next property, value() will return the next value for strings instead
of the current value.
This patch eliminates the permanent storage of Property pointers in QJSValueIterator
and instead get()'s the properties when requested. This is slightly slower,
but safer.
Change-Id: I59028319a0b5dff339a7c9500f117b73f0677451
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Older versions appear to be much more sensitive to missing
unwind tables, and as it turns out: We were compiling QtQuick (not QtQml)
with -fno-exceptions.
Since the entire module has access to the private V4 API and may therefore
be subject to exception traversal, make sure to compile the entire module
with CONFIG += exceptions.
Change-Id: If2d029879392c22af7da2f1bba94366d51518226
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
wip/v4
Conflicts:
src/quick/items/context2d/qquickcontext2d.cpp
tests/auto/quick/qquickvisualdatamodel/qquickvisualdatamodel.pro
Change-Id: I36a4fd28b3156839aecd70039a3ba566bf19a0bc
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The setParent function was used by the qml designer!
This reverts commit 8cb3b016885a861fcd2af24e559e768eabecc3ae.
Change-Id: Id6236f5f27d0bf997c5670f3431cfd43721f380b
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Make sure to initialize the vtbl correctly.
Change-Id: I65eab6e3fbb329b3595773db31fae4726d7683d4
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
We need to be able to reliably generate stack back traces for JavaScript
calls, and since we use the C stack we therefore need to be able to reliably
walk the stack.
On most platforms the stack back trace generation is tied to the same
mechanism that's used to unwind the stack during exception handling,
which uses compiler generated per-function tables that allow the run-time
to unwind the stack even when no regular stack frame was created.
Unfortunately on i386 on Windows there are no unwinding tables in use (as
opposed to all other architectures Windows runs on), and therefore we have no
reliable way of generating a stack back trace if functions can omit the
generation of a stack frame. Therefore we have to disable this compiler
optimization, using -Oy- for MSVC (see http://msdn.microsoft.com/en-us/library/2kxx5t2c(v=vs.71).aspx )
and -fno-omit-frame-pointer for gcc.
Technically this change needs to be done only in places where we support
throwing or catching V4 exception as well as code that is traversed during the
unwinding. Due to the use of internal V4 api throughout the entire module,
this patch is applied to .qmake.conf.
This also fixes tst_qqmlvaluetypes
Change-Id: I21a9e5522741446de25a5d0046f7e34f741f7722
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
On ARM/Android we have the problem of not being able to inject the ARM
exception unwind tables into the exception handling run-time - we need to be
able to override the __gnu_Unwind_Find_exidx symbol, which is weakly declared
in libgcc and strong in libc or the dynamic linker.
The solution is to avoid throwing the exception from within libstdc++ but
instead do it ourselves and include the unwinding code along with it, so that
we can replace the symbol. This works by throwing the exception the way the
standard describes __cxa_throw() works, eventually calling
_Unwind_RaiseException. That function in turn will (indirectly) reference
__gnu_Unwind_Find_exidx. If our code references _Unwind_RaiseException and we
link libgcc statically, then the linker will include all the dependencies of
_Unwind_RaiseException in our library, including the resolution of the weak
__gnu_Find_exidx symbol to our implementation in qv4unwindhelper_p-arm.h.
The "catch" with this approach is that it relies on the layout of the exception
object in libstdc++, which deviates from the standard by an added reference
count. The code in question has NOT changed in years, so for now that's a risk
we accept.
A different solution that only depends on the cross-vendor C++ ABI (implemented
by pretty much any compiler other than MSVC that we support) would be to not
throw a pure C++ exception but a foreign exception (still ABI compliant
__cxa_exception, but with a different class). The GNU personality routine would
still catch it if we used catch (...), and we could get hold of the
__cxa_exception pointer via the standardized __cxa_get_globals(). But that in
turn would require replacing the use of "catch (QV4::Exception &e) { ..." in
our client code with macros that abstract away the difference between the win32
C++ based exceptions and the CXX ABI way, thus making the catch code a little
uglier.
Change-Id: I3f9bfaa9f657e80ebe4f88369cf51922367570b1
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
MinGW on ia32 uses dwarf2 tables and provides __register_frame, so let's use that.
Change-Id: If68598686ff03c8d3d6b1e0db13b477b469adb71
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This is in preparation for some platform specific code regarding throwing
exceptions, as well as a general cleanup :)
Change-Id: I23fb4f12fd09423a1f2cb225145780925002677b
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
On bionic we need to call a different symbol right from bionic instead of using
dlsym() to find the original arm exception table registration function.
Change-Id: I6bf20454e5395f7b09a46d4be3502e401abcd1b2
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: Ic512460009ad0f29670d7fae3bd4fe116b0b1c0f
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
When throwing exceptions we have a tendency to save a backtrace, using
StackWalk64 on Windows. Before we can do that stack walk, we have to
capture the current processor register state, in particular the frame pointer,
for which we call RtlCaptureContext. Almost naturally that function requires
the caller to have set up a stack frame, which may not have happened when
compiling with release flags.
As a remedy, this patch moves the code that calls RtlCaptureContext into
a separate file, which will be compiled with frame pointer optimizations
disabled.
Change-Id: I3ce53b47c4a421efeaa3e575429d85327540ca97
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Debug builds on Android are done as ARM builds instead of thumb because of
problems with debugging thumb builds with older toolchains. However for the JIT
we're not interested in such a choice and prefer to have a consistent choice of
JIT - thumb2 generated code in release _and_ debug builds.
Change-Id: I36b1ec76311b409e36e3fb38c46c6c193adb1be8
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Disable the checks of the thumb bit in code pointers when building for Android,
because we want to allow for intermixing of thumb (what the JIT generates) and
arm code (what the compiler generates for run-time functions we call, in debug
builds)
Change-Id: I0bcce4015d18db4e38244a1d1ad89413b3f17152
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
QQmlGuard was being used as a more performant replacement
for QPointer. QPointer got now fixed in Qt 5.0, making this
class obsolete.
Change-Id: I77eef066c4823af4b074ef32d4d78dbd67c36cd0
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I8d0b6a1e85fd0c42772f294fd13bc6041d41c81e
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Now it can be used by classes that want to walk the IR but do not
generate instructions, without causing confusion.
Change-Id: Idb220a1aee3ba2bbcd43bdeecd28946d567c9f3c
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|