it contains #ifdefs for that, no need to disable it completely.
Change-Id: I4a7d03e09fefded966e2c3fec58a470b4f1d3300
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Those should be in window coordinates (or rather, its content view)
not view coordinates.
Task-number: QTBUG-32826
Change-Id: I52dddeccf17b359163ad477ce4299b934633b4fa
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Otherwise the view will miss its own frame change notifications.
And we must unregister from all the notifications during dealloc.
This would also reveal a bug where we would expose an NSView before
its super view is visible, leading to those "invalid drawable" warnings
when using QQuickViews. Therefore, we add this extra check in
QCocoaWindow::exposeWindow().
Task-number: QTBUG-32826
Change-Id: I69018cb6f199b242768d114b2aa34c7f2d243196
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Native widgets, which have a NSView but not a
NSWindow, must be created in the hidden state to
prevent Cocoa from selecting them for event delivery.
Change-Id: I741e52729047ad4e03959f2244abe5b14b5df46b
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
If you click outside a popup window, it only closes the popup; any
other widget that was under the cursor at that time should not get
the event. The bug was about the popup list on a combobox, but this
patch assumes that this rule is universal; can't think of any
exceptions at this time. (E.g. a tooltip is not a popup) Clicking
on the application menubar still does not close the popup though.
Task-number: QTBUG-33241
Change-Id: I2444b7cfd40cf75ff7b70e3fecfeceb2fd4623bf
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
The fix was originally applied to Qt 4.8 (4c64464), but missed
Qt 5 which had already been branched at that point of time.
Task-number: QTBUG-33089
Task-number: QTBUG-21433
Change-Id: Ia3cd35d29dbdc70ba55b6f0840c4082e232c24ae
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
When the mouse moves while the sloppy menu timer is still running then it
would end up just creating a new one and the old one would continue to
run. If the action that it is relevant for is different then it should
restart the timer, otherwise it should just ignore the mouse move and let
the other timer continue.
Change-Id: Id03014fa05596bd6ede887fa917e21ca5a7690d8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Fix compilation with e.g. mingw-builds 4.8.1-rev4 package. The Mingw-W64
headers define SHSTOCKICONINFO only for vista and newer.
Task-number: QTBUG-33225
Change-Id: I30a62c642ae017c7eafb99b1efb06578fd61a12e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
The information is explaining implementation details rather than
on how to use it effectively. The size limit of QByteArray may
vary depending on available memory.
Task-number: QTBUG-33037
Change-Id: I361316422ade3624a0c2864d93f87caeb654f4d7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Since Qt5, the QMetaObject do not contains the string name of the
builtin types, but only the QMetaType id. QMetaMethod::typeName
convert back from the id to the string. But if the type is aliased,
the string of the main type is returned.
This was the case for example for qint64 which is transformed to
"qlonglong".
This causes a regression in QMetaType::invoke when trying to invoke a
method which return an aliased type, since the string comparison would
fail.
Fix the problem by also comparing the metatype id.
Changelog: QMetaMethod::invoke: Fix return of aliased meta type
Task-number: QTBUG-33222
Change-Id: Iec7b99dcbf7b23eb818de74f413e4451ce510ac4
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
eeb31ad10a changed the behavior
and allowed the placeholder text to stay visible even if the lineedit
has focus.
Task-number: QTBUG-33237
Change-Id: I733331be1d3225eb28390b21eb9a7e4971bfdc31
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
If a MDI subwindow is focused and an ancestor has a QShortCut set
with the Qt::WidgetWithChildrenShortcut flag, it should trigger,
as MDI subwindows are not top-level widgets.
Task-number: QTBUG-32788
Change-Id: I7ec76d493b827ae6678209a56015ab6b432c1ed9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Distance fields are stored using a one-byte alpha component per pixel, a
format that QImage doesn't currently support. The Indexed8 format was used
instead, limiting what could be done with the QImage.
This patch introduces a new private class, QDistanceField, with a similar
API to QImage and using the Alpha8 pixel format. Unlike QImage which
aligns scanlines on a 4-byte boundary, QDistanceField tightly packs
scanlines together.
Task-number: QTBUG-30908
Task-number: QTBUG-32861
Change-Id: Ic273259ea07dfbd2b81a6358c0ca11a2330eb749
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
This reverts commit 9fa1bdeeb2 which
is no longer needed because the Android NDK now contains a
toolchain without the bug for which it was a work-around.
Task-number: QTBUG-31051
Change-Id: I601ba2fccb927ee7e818644de4474700e2eec8f1
Reviewed-by: BogDan Vatra <bogdan@kde.org>
The exception message might contain valuable information about what went
wrong, so we should print the message.
Change-Id: I50c986d4c18cf6115017fcc92363c946be45024d
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Comparing the value of two jobjects are not safe, as it's not guaranteed
that two jobjects that is referencing the same object,
will have the same value. To make things worse two jobjects might have
the same value even though they reference two different objects...
Change-Id: I997ea8abfb8c687c342b261bba3848cbbd741633
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
On Android, it's possible to reach the condition when window == 0
if you hit the Back key, since the previous bail-out is disabled
for this case. To avoid a null-pointer dereference, an extra
check is required.
Change-Id: Ic898cd82dd6e52c24505dd2248c98efcefc15b1c
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Each time we call if_nametoindex, if_indextoname or somesuch, the libc
needs to open a socket, make an ioctl, and close the socket. Since we've
got most of the information we need anyway in the data from
getifaddrs(3), let's just use it
Change-Id: I572c212a27c4b9ffe57980b36f75bb04e6d5cf29
Reviewed-by: Jonas Gastal <gastal@intel.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
moc actually generates the right code for getters returning a pointer
to the type in question, or a reference to the type (a reference, one
would assume, does not require code changes). However, the same
extension is not valid for the setter: it can't receive the new value
by pointer.
Therefore, let's soft-deprecate the feature by removing its existence
from the documentation.
Task-number: QTBUG-33091
Change-Id: I27844213e051ec7fafeb4744089a0653aea6f1f3
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
qdoc runs the preprocessor, so it probably skipped the definition for
this class.
Change-Id: I10933134d0c20131dd25e15bee914ebfac358b10
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: James Turner <james.turner@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
If m_window is invalid, devicePixelRatio returns 0, which leads to
adverse effects in other parts of the code. For example,
qquickshadereffectsource.cpp will get stuck in an infinite loop
trying to multiply 0 by 2.
Task-number: QTBUG-32975
Change-Id: Ie3db86f1f459df018ebce67bcb4226f6cffe854e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Prevent windows from being recreated due to screen changes which
can cause GL widgets to stop updating among other things.
EnumMonitors returns only one temporary monitor named "WinDisc"
when locked. Do not remove monitors when that happens.
Task-number: QTBUG-33062
Change-Id: Ia2247bb04b3e10f99f594245f84238b5f9044f70
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Corrected style issues pointed out in review.
Task-number: QTBUG-31801
Change-Id: Ibbc4e5f8dcd8ca129ae945b5e62b15daed47d86d
Reviewed-by: Martin Smith <martin.smith@digia.com>
The XCB backend runs a thread which gets events out of the XCB event
queue and feeds it to the main thread via another queue. This queue is
protected by a mutex.
However, when the event thread exits, it cleans up after itself and
frees all remaining entries in the queue. This code messed with the
event queue without acquiring the needed mutex and left behind a list
full of stale pointers.
Fix this and protect the freeing with the correct mutex and clear the event
queue afterwards.
Change-Id: Ie49cf6241b76be86d8cebbc931f7226a3f6a14e5
Signed-off-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
On BB10, NAVIGATOR_WINDOW_INACTIVE is called before
NAVIGATOR_WINDOW_INVISIBLE, already triggering handleWindowGroupDeactivated()
Change-Id: I7d82c0220fe8dc8e87bfa2b31af6085c7d1d6cee
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
On Playbook, rendering should happen when the application is thumbnailed,
therefore we need to send a window activated event to resume rendering once
the thumbnail is restored from the minimized state.
Change-Id: I0fa5da483dc101e25f718e52859a66edfe5c66c7
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
We retain each modal NSWindow as long as its modal session is running,
and we should release it every time that modal session ends.
Task-number: QTBUG-32728
Change-Id: Ia30c9c2d15be1350e7150a0d3c2f530a2fe4f38b
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
This would also cause an extra paint in QQuickStyleItem, resulting
in the frame being erased for those styles not having a frame width
set (e.g., fusion and GTK).
Change-Id: I7a9371c540cd31fd9f1400a51c4ec57582996dd2
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
There wasn't any example documentation besides json.html, which doesn't
actually describe usage of the various QJson* classes.
This also makes each QJson* class page link back to json.html.
Change-Id: If5ad6493d2728df0cec7bdbbc5790f0b755f816c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Don't use the 'emit' keyword in the moc generated code for properties
with MEMBER
Task-number: QTBUG-33094
Change-Id: I5a0950e9c7a0dee347a6a6c79098e3e7d4776014
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This may happen when we have namespaces and the qualified name is used
to scope an enum.
Task-number: QTBUG-32933
Change-Id: Ic4923bbfb138387bae1e3694172661ace8342089
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
The call was resulting in inifinite recursion on OSX 10.9 when Qt was
built against the 10.7 SDK, as qt_mac_get_fixed_pitch uses QFontMetrics
to resolve the pitch, and we would end up in the font resolver again
when asking for the metrics.
The CoreText font-database already takes care of resolving whether or
not a font family is fixed-pitch, so the code is likely a leftover
from the ATSUI-days, and can be removed.
Task-number: QTBUG-31803
Change-Id: I37c90fa637927eb4adc16c0fd556c4c46c456034
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
(cherry picked from commit bd9a023a41)
Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
moc's C++ is not 100% accurate, so better process the invalid macro with
a warning rather than an error.
Such errors occurred in the QSKIP macro with variadic arguments since
that macro is defined conditionally.
It is also causing problem in boost header (cf task QTBUG-29331)
Task-number: QTBUG-29331
Change-Id: Ice6a01b675286540d6470c8e36920b7efd39b540
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Layered (translucent/non-opaque) windows do not receive WM_PAINT,
expose events need to be generated. Improve
6800728d09 to handle transient
children as well.
Task-number: QTBUG-17548
Change-Id: Id113604512692dfbea1f2b10d0db3068213cf599
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>