When the start point is not on the curve, the end point will be
used as starting point for the QPainterPath, if it is on the curve -
if it is not on the curve, the mid point between start and end point
will be used. The origianl start point will still be used as a control
point for the first bezier curve.
Task-number: QTBUG-38601
Change-Id: I90e07f1141288873263f1f12fa51e6a248d0804f
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
1) toString does not track the string it returns, thus it has to be
deleted by the caller
2) on some platforms vsnprintf crashes if a null string is in the
va_list
Change-Id: Iecf94e93d3a2ddf4186ee20de1f495f2f92dcc60
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Matches the compiler capabilities better and will catch all GCC-like
compilers (including Clang, LLVM and Intel CC on Unix).
Task-number: QTBUG-38544
Change-Id: I102966d307a4e167b6dcf3da08359e656f3af45e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
GetGlyphOutline fails for ttf fonts with embedded bitmaps. This results in
distancefield rendering not rendering glyphs (for the failed paths). We
need to fall back to texture rendering if this is the case.
Change-Id: Ibdf7dc5c1d34f513c436f88fabbdcc4089bb6fef
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Determine the visual index by looking up the column of the QModelIndex
in the logicalIndices array instead of looping.
Task-number: QTBUG-37813
Change-Id: I5c3c73c67537877b03cdc2c36a52041d99f7f49d
Reviewed-by: David Faure <david.faure@kdab.com>
Some calls pass len=32, so garbage was shown when maxlen (readBytes) is smaller.
Change-Id: I97e61dcdf5a0db032317c57afb4bfb406437d8d5
Reviewed-by: Markus Goetz <markus@woboq.com>
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
The collected data doesn't reveal any obvious correlation between sleep
times and test failures but the many warnings are a hassle for anyone
reading the test results.
Change-Id: I71bd0c90c20c730573693f23f4435e538b635d44
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
The image format returned by QOpenGLFramebufferObject::toImage() on
OpenGL ES/2 builds changed in 5.2.0 but was not documented.
Change-Id: I2379c62c7f715803192ffa9bb8ae1171ef4b2314
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Change-Id: I92fa083665509932b75ff1037904a6f78a950fd6
Reviewed-by: Jeremy Lainé <jeremy.laine@m4x.org>
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
Change-Id: Ife5b7206fd3d7af57cfca3c0f28f56bb53ede7a7
Reviewed-by: Jeremy Lainé <jeremy.laine@m4x.org>
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
A pro file that adds files to QMAKE_BUNDLE_DATA using relative
paths will fail building if doing shadow builds. The reason is
that we look for the files inside the build dir.
This change will make sure we resolve files from the source dir
when not using full paths.
Task-number: QTBUG-37054
Change-Id: Ic1067861097b3b6a640ee862472d728d6188576a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Nothing else seems to report this state and on windows
for example it results in NVDA reading subMenu which makes
little sense.
Task-number: QTBUG-38500
Change-Id: I64820d9f2ea9174034f01da42cb2266a19c19465
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
When moving the mouse over a disabled menu it could appear to be usable
but it should not show any interaction at all.
Task-number: QTBUG-31688
Task-number: QTBUG-37488
Change-Id: I9e6594b40e8b209146d8c3705750dfd75f1258c5
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
This test doesn't fail on Mac any more.
This reverts commit 36493a7a41.
Task-number: QTBUG-23685
Change-Id: Ib7c56494b07de9839b3287758fe228f799bc343c
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
When replaying the mouse events synchronously, nested calls
of QEventLoop::exec() may happen in conjunction with menus.
Task-number: QTBUG-38550
Change-Id: I2b1dafdac59d1a080775af5f165d1e594ea58804
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
sched_yield is standardized and on linux pthread_yield is implemented as sched_yield.
Building Qt for Android on OS X doesn't compile with the pthread version.
Change-Id: I1913afa83769805291e987f55b8f452299a43dce
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
QGLWidget has a paint device type of Widget, yet drawing on it
from outside the gui thread is fine as long as ThreadedOpenGL is
supported. It has probably been overlooked that the device type
OpenGL applies to QGLFramebufferObject and such but not QGLWidget.
This will fix the problem of flooding the output with warnings in
the tst_qglthreads autotest and potentially elsewhere too.
Task-number: QTBUG-38771
Change-Id: Ie014a2610a0db41b31c30c404e286d4997aecdc3
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
This caused for example the variable QMdiAreaPrivate::isSubWindowsTiled
being cleared from another instance, which resulted in odd
resizing behavior.
Task-number: QTBUG-31448
Change-Id: I880f7e415d6654e52499df1bfaf99f2c55d86320
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
For exaple Qt Creator would crash when started and a screen reader (eg
NVDA) is running. This is due to updateAccessibility being called during
the ctor of the TextEdit and on Windows the AT can access properties in
the same call resulting in accessing the text control before it's fully
constructed.
Also make sure to not send accessibility updates for non-widget type edits
since we don't support any accessibility in Qt Quick 1.
Task-number: QTBUG-38659
Change-Id: I1635fa3b2c4d3509f44daf760e4d7b4171d67e1d
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
On some Intel configurations the current DXGI discovery breaks. Fix this
by adhering to Microsoft's guidelines for discovery of the DXGI factory:
http://msdn.microsoft.com/en-us/library/windows/desktop/hh780339(v=vs.85).aspx
Not querying the adapter directly as in the code snippet on the site above
seems to have been a typo originally.
Change-Id: Ibd7546462cdab7e5ad03db9abc16fe1615b631f4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
This aligns with the other mobile platforms.
Task-number: QTBUG-38691
Change-Id: I7b9b70a1182c0e53f997cae111ec46b5161b0b48
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Remove the intermediate pixmap in the backing store and draw directly to
the window swap chain. This is faster and reduces memory pressure on the
graphics card.
In case of native child widgets we need to read back the back buffer,
which incurs an extra copy in this case.
In an artificial benchmark drawing animated full screen
gradients as fast as possible this patch increases performance by 42% on
my current machine from 480fps to around 680fps, i.e. the time for
actually getting the pixels to the screen is now lower.
Change-Id: Ifbeda0e199afec03cecfe76337679a9e9d082bdd
Reviewed-by: Risto Avila <risto.avila@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
This patch reuses the code and pattern used to vectorize scaling, to
also vectorize rotating transforms in fetchTransformedBilinearARGB32PM.
This provides significant improvements in QtWebKit on benchmarks using
rotating transforms.
Change-Id: If250e0f5dae1ff0f954301f96cc8970a99ae3e9d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
When using directfb platform the drawing of some widgets (e.g. Toolbar)
would crash the application.
Pixmap device pixel ratio can be used in QCommonStyle::drawControl() as
a denominator to calculate pixmap width or size. The drawing of some
widgets (e.g. Toolbar) would fail the assertion of a non-zero
denominator.
This commit initializes the device pixel ratio when generating
BlitterClass pixmaps and makes QBlittablePlatformPixmap::metric(
PdmDevicePixelRatio) return devicePixelRatio() instead of 1.
Task-number: QTBUG-38709
Change-Id: Ia8b96c5341b5ac1297c483deed1c695846398b88
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Change-Id: I003e59bd50754dbbda23de5c55096ca2d25b7a7a
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
When compiling with the -Wswitch-default flag, the compiler
spits warnings for the moc generated files.
In certain development environments (e.g. where MISRA rules
have to be followed) every switch statement needs to have a
default case. Unfortunately the moc generated files contain
switch statements without default case. This patch adds a
default statement to all switch statements that are generated
by the moc compiler.
Change-Id: I8f3d81e3463fce4d3abf2ea5d0fa8727a7d9ba2e
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
When it gets 'calendarPopup' set, that is.
The reason lies, indirectly, in the extra margins we add to
QComboBoxes and other QPushButtons in the Mac style. However,
these extra margins do not apply to spinboxes, which is what
QDateTimeEdit is.
In particular, this causes Designer to show QDateTimeEdit at
the wrong size when it's not in a layout.
Task-number: QTBUG-38615
Change-Id: I3dd52e10db8c8970a6dc40b39fbe29dd86167daa
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
On some platforms all windows are by default forced into fullscreen mode when show() is executed.
In QMdiSubWindow we cannot handle the fullscreen state and should ignore it. Otherwise
the window will be forced in "normal" state and ignore any previously
executed geometry changes.
Change-Id: I09ce6507a1eac6a0adb3405ca3f423642d30f801
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
The desktop doesn't belong to this application, we shouldn't be setting
it (assuming it is even possible). On X, for example, it's possible to
set the name and you end up with the root window having _NET_WM_NAME
pointing to the last application that created a QDesktopWidget.
Change-Id: Ib62d0a4d56a4d2a74afc6b33fa607867343e7aba
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
If the theme is not available then it should not try to use it when
getting the file system icon as it will cause a number of messages to be
outputted to the console as it is an invalid call.
Change-Id: I33003568f6785ee423c4a6e079a6c62c95145cbc
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
If the override cursor was set before
QtQuick2ApplicationViewer was shown then the cursor
was the default cursor and not the override cursor.
The new cursor was applied only if the window was
visible and the cursor has been set. Now the cursor
is applied also if override cursor is set.
Change-Id: I88618c719e43b2802e209bef440461c532d19f48
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
As it's meant for QML anyways, this allows it to coexist peacefully with
existing code.
Task-number: QTBUG-29806
Change-Id: Ib04993f47eb2f9f7fc49c4a5400f18f9682a7aaa
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Several objects are released without being retained.
This causes double free crash.
Task-number: QTBUG-37582
Task-number: QTBUG-35890
Change-Id: Ic64419c22ab555ba77ada1864feaff247798d3ad
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Valid for both the item and the menu destructions.
Task-number: QTBUG-38685
Change-Id: I024b93c8bb8facefeaad5e8b6c7be6bf049898ea
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Directly handling primitives is faster than using the catch-all fill
function which converts arbitrary paths into a direct2d geometry. So do
so.
Change-Id: I71ce73dbe75aa9b61e741c358d8787d0ea48ee46
Reviewed-by: Risto Avila <risto.avila@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
In the justification code, we unconditionally subtracted one
from the line_length, but then compared the result to 0 afterwards,
so we did not support when the line_length is 0 initially, which
can happen if it only consists of spaces (in which case
trailingSpaces will be non-zero and line_length will be zero.)
The fix is to bail out for both strings of length 1 and length 0.
[ChangeLog][Text] Fixed an assert when justifying a QTextLine
which only contains spaces.
Task-number: QTBUG-38520
Change-Id: Ib04993f47eb2f9f7fc49c4a5400f18f9682a72f2
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>