Commit Graph

9951 Commits

Author SHA1 Message Date
Oswald Buddenhagen
5ca5f4d344 build glxconvenience also without Xrender
it contains #ifdefs for that, no need to disable it completely.

Change-Id: I4a7d03e09fefded966e2c3fec58a470b4f1d3300
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2013-09-05 13:06:14 +02:00
Gabriel de Dietrich
9554088557 Cocoa: Fix NSMenu popup coordinates
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>
2013-09-04 17:52:25 +02:00
Gabriel de Dietrich
8fd71914b4 Cocoa: Unregister view from window's notifications only
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>
2013-09-04 17:52:20 +02:00
Morten Johan Sørvig
a2bdda8e3b Fix event delivery for apps with native widgets.
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>
2013-09-04 17:52:15 +02:00
Shawn Rutledge
86f8bee96b OSX: clicking outside a popup: don't propagate the event elsewhere
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>
2013-09-04 07:10:47 +02:00
J-P Nurmi
5236f74942 Fix regression in QListView
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>
2013-09-03 14:35:24 +02:00
Andy Shaw
cdbf8dd276 Ensure the timer is killed when appropriate before starting a new one
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>
2013-09-03 08:23:20 +02:00
Kai Koehne
0ed30cbf09 Fix compilation with latest Mingw-w64 headers
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>
2013-09-02 15:41:20 +02:00
Leonard Lee
16f3c84e30 Remove the size limit of QByteArray information.
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>
2013-09-02 13:28:52 +02:00
Friedemann Kleint
99362fb7f2 Windows XP file dialog: Fix appending the selected filter suffix.
The mechanism is triggered by always setting lpstrDefExt,

Task-number: QTBUG-33156

Change-Id: Ib3a49410a1ad78fb433a4e0803a0751ec8c2a51e
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-08-30 15:25:04 +02:00
Friedemann Kleint
0ab3e290c4 Initialize variables to fix valgrind warning in pnghandler.
Conditional jump or move depends on uninitialised value(s)
==7986==    at 0x5B838E8: QPngHandlerPrivate::readPngImage(QImage*)
(qpnghandler.cpp:617)

Change-Id: Ie739ca1665ce600426e2816a6229145d814125cb
Reviewed-by: aavit <eirik.aavitsland@digia.com>
2013-08-30 09:58:04 +02:00
Olivier Goffart
b49327145e QMetaMethod::invoke: compare the QMetaType id of the return types
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>
2013-08-29 17:03:41 +02:00
Friedemann Kleint
e59a5f9fdc Windows: Fix compilation with MinGW-64, gcc 4.8.1
A definition for FILE_ID_128 was added.

Change-Id: Ifdfe5da1b15a90afdf5cf09d92838a04b1cf5c19
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-08-29 17:03:41 +02:00
Giuseppe D'Angelo
4ffa60e03a Update QLineEdit::placeholderText property documentation
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>
2013-08-29 13:29:14 +02:00
Nico Vertriest
6264526659 Doc: minor language and layout edits
Task-number: QTBUG-31801

Change-Id: I99043ba5d1a417e093ae2e4bc7d2967ec9d095fc
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-08-29 13:23:06 +02:00
Sergio Ahumada
3b3a9fe53f Merge remote-tracking branch 'origin/release' into stable
Change-Id: I815757e33b6c0b1e702c8e386e8e30307f78e318
2013-08-28 20:36:12 +02:00
Giuseppe D'Angelo
198d2f6d3e Activate Qt::WidgetWithChildrenShortcut shortcuts in MDI subwindows
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>
2013-08-28 00:59:40 +02:00
Friedemann Kleint
78d7192338 Close menu on 2nd click on QMenuBar.
Task-number: QTBUG-32807
Change-Id: I0c3c25c6acf92bc30c1bcfc09003209b572ec777
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-08-27 19:12:06 +02:00
Yoann Lopes
5971e09187 Use custom class for storing distance fields instead of QImage.
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>
2013-08-27 16:03:11 +02:00
Eskil Abrahamsen Blomfeldt
f3a53eae80 Revert "Fix compilation for Android ARMv5"
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>
2013-08-27 16:00:47 +02:00
Christian Strømme
ac611399fe JNI Convenience: Make single argument ctors explicit.
Change-Id: I330e4acf9b944fc72066b608653edd4686620b7e
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2013-08-26 23:52:59 +02:00
Christian Strømme
ca0ec4043f JNI Convenience: Print exceptions in debug mode.
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>
2013-08-26 23:52:40 +02:00
Christian Strømme
1db13907d9 JNI Convenience: Make it possible to copy QJNIObjects.
Change-Id: I692242147d5f908381ea9d3b393b3c591385efd4
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2013-08-26 23:52:27 +02:00
Christian Strømme
0ccb75b5fc JNI Convenience: Use isSameObject() when comparing jobjects.
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>
2013-08-26 23:52:15 +02:00
Eskil Abrahamsen Blomfeldt
fa8786c397 Android: Fix crash when hitting Back button to quit
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>
2013-08-26 23:52:03 +02:00
Thiago Macieira
64a1448d87 Update Linux interface getting to make fewer syscalls
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>
2013-08-24 00:06:07 +02:00
Thiago Macieira
362ea2dede Soft-deprecate obscure feature on property getters returning pointers
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>
2013-08-23 21:39:41 +02:00
Thiago Macieira
ca772b2f2f Ensure the docs for QOpenGLFunctions_ES2 are generated
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>
2013-08-23 18:39:53 +02:00
Friedemann Kleint
f738a4a5d5 Do not recreate window if it is moved to a virtual sibling screen.
Task-number: QTBUG-32681
Task-number: QTBUG-33062
Change-Id: Id37627231b7a129c398d90d3f01ded6bd5171088
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-08-23 18:39:53 +02:00
Daiwei Li
79570157e3 Return 1.0 for devicePixelRatio in QCocoaWindow if no valid window
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>
2013-08-23 11:48:00 +02:00
Friedemann Kleint
9194fc00a6 Windows: Keep monitors when system is locked.
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>
2013-08-23 11:48:00 +02:00
Nico Vertriest
6d0d5a2ade Doc: added excludedirs to qdocconf example.
Corrected style issues pointed out in review.

Task-number: QTBUG-31801

Change-Id: Ibbc4e5f8dcd8ca129ae945b5e62b15daed47d86d
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-08-23 11:48:00 +02:00
Nico Vertriest
3e7c77cfae Doc: minimal qdocconf file with comments
Task-number: QTBUG-31801

Change-Id: Ia94989b066ab2cd4d6dbf64261b5d9b4207db12a
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-08-23 09:35:36 +02:00
Uli Schlachter
bd00b51c47 XCB: Fix race with the event thread
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>
2013-08-23 09:16:41 +02:00
Takumi Asaki
1f8c179c6c Doc: Add Q_OS_ANDROID macro
Change-Id: If428f0b7c1540e809f756f426a6d222acea5d310
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-08-23 01:54:38 +02:00
Rafael Roquetto
9de6d1a74f BB10: Do not send deactivate event twice
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>
2013-08-22 23:36:40 +02:00
Rafael Roquetto
4994300fe7 Playbook: Fix rendering when thumbnailed/minimized
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>
2013-08-22 23:36:40 +02:00
BogDan Vatra
b4252802b3 Switch back to thumb for android armeabi.
Add workaround for gcc 4.8 compile bug.

Change-Id: Ie7a81ec25a79764989bbd9eb43dd5a8fbf442dfc
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-08-22 21:34:35 +02:00
Gabriel de Dietrich
68563cdabd Cocoa: Fix memory leak in event dispatcher
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>
2013-08-22 19:14:03 +02:00
Gabriel de Dietrich
10e23c84d5 Style: Remove useless background paint for menu scroller
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>
2013-08-22 19:14:03 +02:00
Gabriel de Dietrich
2af8feee92 Cocoa: Bring back old exposure behavior on Mac OS X 10.6
Task-number: QTBUG-31864
Change-Id: Ife2429b2d6b845e5ccca31a03e66351a3ff5ba4b
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-08-22 19:14:03 +02:00
J-P Nurmi
61948f84da Fix scrollbar appearance on Win8
Task-number: QTBUG-26503
Change-Id: Id74821e005483d05450467fcaea672bbf35113bc
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-08-22 19:14:03 +02:00
Mitch Curtis
c7c3a78075 Add json/savegame example.
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>
2013-08-22 19:14:03 +02:00
Friedemann Kleint
4e04302672 Check for window handle in QBackingStore::flush().
Task-number: QTBUG-33062

Change-Id: Iab4ccc3a2a855ee7f6964659b53b3401af436212
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2013-08-22 16:44:37 +02:00
Olivier Goffart
8a96679493 moc generated code should compile with QT_NO_KEYWORDS
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>
2013-08-22 16:03:28 +02:00
Olivier Goffart
2bd40c53ef moc: Fix related objects containing itself
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>
2013-08-22 16:03:28 +02:00
Tor Arne Vestbø
c15a8cc283 Don't use qt_mac_get_fixed_pitch() to resolve fixed pitch fonts on OSX
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>
2013-08-22 09:22:09 +02:00
Olivier Goffart
c20b358703 moc: Issue a warning instead of an error when macro argument mismatch
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>
2013-08-22 07:11:33 +02:00
Friedemann Kleint
95e880bd9d Windows: Handle Qt::ForeignWindow.
Task-number: QTBUG-33079

Change-Id: Iec2ddfe07b07b3a921098c7147f26aff316bf6e6
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-08-21 23:00:32 +02:00
Friedemann Kleint
bc4ce284ad Windows: Generate expose events for layered transient children.
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>
2013-08-21 16:39:55 +02:00