| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Merge-request: 1977
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
|
|
|
|
| |
Reviewed-By: Oswald Buddenhagen
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The state machine algorithm frequently needs to know what type a state
is, e.g. if it is atomic, final or a history state. We were using
qobject_cast() to determine this, but that function is expensive.
This commit introduces an internal StateType to be able to differentiate
between the different types of state. This vastly improves performance.
Reviewed-by: Eskil Abrahamsen Blomfeldt
|
| |\ |
|
| | |\ |
|
| | | |
| | | |
| | | |
| | | | |
Reviewed-by: trustme
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The drawCursorPixmap() function is more efficient and can render
the QImage form of the QPixmap directly if necessary.
Reviewed-by: trustme
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The QT_VG_SWAP_INTERVAL environment variable can be used to
specify a value for eglSwapInterval().
Task-number: QT-2409
Reviewed-by: trustme
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Task-number: QT-1522
Reviewed-by: kh
|
| | | | |
|
| | | | |
|
| | | |\ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Calling QWidget::setCursor() outside of the event loop causes a memory
leak in Cocoa. Adding an autorelease pool plugs it.
Merge-request: 1791
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Cherry-picked from d8a2e52e
Merge-request: 419
Reviewed-by: Olivier
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
No need to publicise real sites and email addresses.
Also, don't use 8-bit data. C escape sequences are ok.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Imported from http://github.com/icefox/guessurlfromstring
Licensed under the 3-clause BSD license by the copyright holder.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Reviewed-by: Trust Me
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
are generated
Reviewed-By: Daniel Molkentin
|
| | | | |
| | | | |
| | | | |
| | | | | |
Reviewed-By: Trust Me
|
| | | | |
| | | | |
| | | | |
| | | | | |
Reviewed-by: Daniel Molkentin
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This is the QtCore part of the timebomb.
Reviewed-by: Daniel Molkentin
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
QAbstractState::parentState() is called heavily by the state machine
algorithm. The parent state is obtained by qobject_cast'ing
QObject::parent(). qobject_cast() is expensive. This commit introduces
caching of the result in order to improve performance.
We expect that the cache won't be invalidated much since the parent-child
relationship of states usually doesn't change after the state machine is
started.
Reviewed-by: Eskil Abrahamsen Blomfeldt
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This function is useful for debugging, if nothing else, and has been
requested by users. We also refer to it in one of our blog posts, so
there's little point in trying to hide it any longer.
Reviewed-by: Eskil Abrahamsen Blomfeldt
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
By popular demand on the Qt Labs blog.
This makes it possible to readily use QStateMachine with e.g. worker
threads that post events to the machine.
Reviewed-by: Eskil Abrahamsen Blomfeldt
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The internal slot _q_process() should never be called if the machine is
not in the Running state.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This is the same type of optimization as that done for transitions in
commit 5d8dcd57cd13fdd9c8643fa3bdda9f197a4351ff. The idea is to avoid
calling qobject_cast() because it's very expensive.
Obtaining child states needs to be as fast as possible because it's in
the critical path of the state machine algorithm; it's called by a ton
of internal functions, like isCompound(), isAtomic(), isInFinalState().
It's also called heavily for parallel state groups.
Reviewed-by: Eskil Abrahamsen Blomfeldt
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Since QStateMachine inherits QState now.
Reviewed-by: Eskil Abrahamsen Blomfeldt
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
After API review discussions, it was decided to remove shader
binary support until we have a better handle on what we need.
Applications can directly load shader binaries on the shaderId()
using glShaderBinary() directly so they aren't prevented from
using the feature.
Reviewed-by: trustme
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Rendering into a QImage as a window backing store isn't very efficient
and isn't needed by any of our current platforms. If a specific
graphics system needs it in the future, it can implement it directly.
Reviewed-by: trustme
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
there must be a space after the //: and similar comments, otherwise
harmless comments of the sort of //====== foo here ===== will be parsed
as message ids, etc.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
I suspect because of missing quotation marks those strings were not
showing up. Also, wrapping QT_TRANSLATE_NOOP inside a tr() call
makes no sense. Also changed the class from QObject to QSslSocket.
Task-number: QTBUG-5059
Reviewed-by: ossi
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Task-number: QTBUG-4984
Reviewed-by: Thiago
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
upstream.
Reviewed-by: TrustMe
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Transitions are children of their source state. We use
QObject::children() and qobject_cast() each child to a
QAbstractTransition to see if it is indeed a transition. However,
calling qobject_cast() is very expensive. This commit introduces
a cached list of transitions. The list is invalidated after a
child object has been added or removed.
In the typical case we expect the object hierarchy to remain fairly
constant once the state machine has been started (states, child states
and transitions are usually "static"), in other words the cached list
is not likely to be invalidated much.
Obtaining a state's transitions needs to be as fast as possible
because it's in the critical path of the state machine algorithm.
Reviewed-by: Eskil Abrahamsen Blomfeldt
|
| | | | |
| | | | |
| | | | |
| | | | | |
Fix a typo, update the tmp path to match current qws behavior.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
QScriptProgram encapsulates a Qt Script program (AKA a script).
It retains the compiled representation of the script, so that
repeated evaluation of the same script becomes faster.
An overload of QScriptEngine::evaluate() that takes a QScriptProgram
has been added.
Reviewed-by: Olivier Goffart
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Looks like a couple of files missed the namespace macro...
Rev-By: gunnar
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
At least Qt fails building with a namespace on Mac without this
change. What happends is that inserting a namespace before the
includes, will add the namespace twize if the included files also
inserts the namespace.
Rev-By: Alexis
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Regression caused by b946da648af0c5fa1c73fe1e57b0b1e08fb14d13.
Prior to that commit, the default duration for macWindowFade was 0, but there
was code in the implementation that set it to 0.15 in that case.
Set the default duration to 0.15. This matches the old behavior when calling
macWindowFade without specifying a duration, and makes it clearer what the
default really is.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This improves performance on certain OpenGL ES 2.0 platforms.
Reviewed-by: Gunnar Sletta
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The texture parameters are set in drawTexture anyways.
Reviewed-by: Gunnar Sletta
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* Use ExpandToTransparentBorderPadMode since we can use GL_CLAMP_TO_EDGE
to clamp to the texture.
* Shrink the bounding rects reported by the blur
and drop shadow filters (expanding by 2 * radius isn't needed).
* Use a single-pass blur for radii <= 3 to avoid the overhead of
rendering to an FBO.
* Made the fast blur setting generate filters for only a predefined set
of radii, and then use the actual blur radius to spread the sample
points outwards.
* Optimized the generated program to rely less on temporary variables,
as those seemed to not be handled very well by certain GLSL compilers.
Reviewed-by: Gunnar Sletta
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
After typing a sentence in Japanese, and before committing the
sentence, you can select each component and choose a different
character representation for it. This commit fixes highlighting of the
currently selected sentence component which was broken by commit
55137901.
Reviewed-by: Marius Storm-Olsen
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The error message come from the QGLContextPrivate::bindTexture.
But since OpenGl errors are retains until glGetError is called the
actual error was happening somewhere else.
After adding in all the gl* call a check for a gl error, I was able
to get the place where opengl fail with a GL_INVALID_ENUM.
This happen in the call of glEnable(GL_TEXTURE_2D) in the file
qgl_x11egl.cpp. This glEnable call does not need: removed.
Reviewed-by: Tom Cooksey
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
initTexture() has explicit handling of invalid images, but when
calling adjustSpanMethods() the invalid case is not handled
for Type == Texture.
This caused two types of crashes:
* call to 0 address, because sourceFetch[] has 0 pointer
for QImage::Format_Invalid
(see https://bugs.kde.org/show_bug.cgi?id=176014)
* division by zero in tiled blend functions, because of the
" % image_size" modulo arithmetic.
(see https://bugs.kde.org/show_bug.cgi?id=203231)
Merge-request: 1213
Reviewed-by: Samuel Rødal <sroedal@trolltech.com>
|