Commit Graph

7815 Commits

Author SHA1 Message Date
Andreas Aardal Hanssen
ed15e4eb07 Fix focusproxy-relayed crash in QGraphicsItem destructor.
Makes tst_qgraphicsitem::tst_focusProxyDeletion not crash.

valgrind reported the error when running tst_qgraphicsitem. The crash
was very real; when deleting an item that has another item as a focus
proxy, the proxy still had a reference to the deleted item's focusProxy
pointer. I'm not a huge fan of whitebox testing but thought this crash
justifies a modification of the test to make it fail, instead of just
passing silently with a warning only given by valgrind and friends.

FTR the reason the test doesn't crash hard is that the memory is freed
but not reused within the scope of the test. So the access to the
pointer d_ptr->focusProxy succeeds, it just accesses memory that might
as well have been reclaimed. But this is quite undefined...

Task-number: QTBUG-28321
Change-Id: I2624631f5e5c2a8aa8bd4efe1fc128eba6c61f56
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-12-17 11:57:02 +01:00
Jonathan Liu
b7fd19b434 ANGLE: Always use DEF_FILE on Windows
Building ANGLE with MinGW results in too many symbols being exported in
the DLLs. Always use DEF_FILE on Windows to limit the symbols exported
and eliminate symbol conflicts when libEGL/libGLESv2 is linked by other
libraries that include their own version of ANGLE (e.g. QtWebKit).

Change-Id: I7bb1f90d9996eabf30095323e9399efa1c23e3a1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-12-17 09:00:31 +01:00
Morten Johan Sørvig
f55ce22628 Cocoa: make accessibility hit test not crash
Check if the accessibility element is valid before
calling childAt.

Change-Id: Id63c11f18b262c3c3a839db8ee2d11c0d7adc822
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-12-16 19:43:32 +01:00
Frederik Gladhorn
ff20caae2b Accessibility: Activate in QGuiApp instead of QApp.
This makes it possible to use accessibility with
QQuickWindow.

Change-Id: I5fccd5f25021c4953b03e146705f48a198dbaaa7
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-12-16 19:41:58 +01:00
José Millán Soto
10e4b0c110 Do not inform that a widget is not visible when it's disabled.
Change-Id: I561c8ef4c25dde8eb24260a46d284ca10cbf074d
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-12-16 19:41:33 +01:00
José Millán Soto
44cc60515a Handle disabled state change
Modified AtSpiAdaptor::notify to handle enabling and disabling widgets.

Change-Id: I9a23f74d891aaf123d7fc094bdf63e384e1d65fe
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-12-16 14:50:16 +01:00
José Millán Soto
6e713cf03d Call QAccessible::updateAccessibility when caret moves in QTextEdit
Change-Id: I3b9e5d8e67b4928558b642a4d23aa60ae9dfde60
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-12-16 14:49:05 +01:00
José Millán Soto
568b278b75 Implemented AtSpiAdaptor::notifyStateChange
Adding a new private method to simplify notifying that the state has
changed as it is something that is frequently done in AtSpiAdaptor::notify

Change-Id: Idf21715b5d20212adb301ae9bca05f1edfc19946
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-12-15 20:45:59 +01:00
Liang Qi
139f416237 Remove the timestamp info in genarated files
For moc, rcc and uic, then it's friendly for tools like ccache.
ccache is using md5 to check file modification, but the different
timestamp info will cause different md5 for same meaningful
contents, it will disabled ccache.

Updated the autotest for uic and rcc.

Task-number: QTBUG-26589
Change-Id: I9f1dcf6cd826ad9603af6e183757bcd748c32bd1
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-15 11:32:38 +01:00
Debao Zhang
d914017ebe Clean up Q_WS_WIN
The first branch is required to MSVC. The bitfield isn't large enough to
represent all possible enum values of Virtualness for MSVC.

In addition, using bitfield is a premature optimisation in this case.
So remove them.

Change-Id: I4c5f85271d2bca1411426e6a321a795a7e783aff
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-12-14 23:39:14 +01:00
Debao Zhang
06031f8bc4 QSettings docs: replace Q_WS_MAC with Q_OS_MAC
Change-Id: I158ac697dea1792c1d608ebaff77388cfa343999
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2012-12-14 23:39:14 +01:00
David Faure
485af6275d Docu: fix non-ascii character where "i" was expected
Change-Id: I540c530441ad184efe4e1ecc83bf99aa97c6a028
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2012-12-14 21:45:46 +01:00
Andy Shaw
d75d86190b Ensure the native filedialog starts up with the right directory
On Mac it was not starting the dialog with the specified directory when
one was present. If a filename was given as well then it would start up
fine.

Task-number: QTBUG-28161
Change-Id: I7cce0d065dd57e6433ce62380d4263d6e20b6e7c
Reviewed-by: Liang Qi <liang.qi@digia.com>
2012-12-14 19:52:06 +01:00
Andy Shaw
0c3cfdba45 Mark the QDesktopServices::StorageLocation enum as obsolete in the docs
The enum was already deprecated but the documentation still listed it
so now it is correctly obsoleted.

Change-Id: I9d64fe58a5e70de7161928da2d09b4532d450274
Reviewed-by: Liang Qi <liang.qi@digia.com>
2012-12-14 19:51:57 +01:00
Samuel Rødal
52619ae778 Fixed invalid memory read in SSSE3 image blending code.
We need to do bounds comparison on the actual offset we're going to use
with _mm_load_si128 to read 16 bytes from memory (even though we won't
use the trailing bytes in the end).

Task-number: QTBUG-28324
Change-Id: Id0d6094da796ca67338d8ad225fa6b2f309bbe6e
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-14 17:12:44 +01:00
Nico Vertriest
7ca226c951 Doc: entered hardcoded url for Statecharts
Corrected in statemachine.qdoc
Task-number: QTBUG-27512

Change-Id: I5fa8b7fd39a4c3569e2652b9a60ba4426090a398
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-14 17:12:44 +01:00
Frederik Gladhorn
f563599a46 Implicit conversion of shortcuts to string is gone.
This only effects compilation with DEBUG_QSHORTCUTMAP.

Change-Id: I184e644f2165049336cee8a6ac63a3301cf4c849
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-12-14 17:12:44 +01:00
Venugopal Shivashankar
69e6029411 Doc: Moved content from qtdoc
- The qdoc pages were related to qtcore and they were
referring to snippets inside the qtcore module boundary.
- Fixed the exampledirs for QtCore to include the examples
that are referred by the \snippet instances in the
moved qdoc pages work.

Change-Id: Ibb6dbb131920ea8692a203f6145863e5012e4602
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-14 17:12:44 +01:00
Frederik Gladhorn
65c9706f14 Remove unused private member.
Change-Id: I54f3f748763dd5959552df864af38558c136dc87
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-12-14 17:12:44 +01:00
Morten Johan Sorvig
c3b6c04245 Fix memory leak in childAt
Delete the interface if it's not returned.

Change-Id: Ia1e1f94d14584ab3af1b89a0baac5d343ffdd1f4
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-12-14 17:12:44 +01:00
Christiaan Janssen
eaa31066bc D-Bus Examples: added qdoc files and path
Change-Id: I59b3db3f3c5d076b60a2e6f909d7919d5126a1e6
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-14 17:12:44 +01:00
Morten Johan Sorvig
457829da52 Fix memory leak in cocoa accessibility.
Autorelease ("delete later") the created attribute
name array.

Change-Id: I2d7af9eb1fd899f04c8acb90204600a2dd43fa20
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-12-14 17:12:44 +01:00
Morten Johan Sorvig
abf95b7f77 Prevent crash in childAt when there are 0 children
Fix off-by-one error. QAccessibleInterface::child()
is 0-based, start the iteration at childCount() - 1.

Change-Id: I0c841b692adab0aae4e8ac44c7d308cd7a176ac8
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-12-14 17:12:44 +01:00
Morten Johan Sorvig
9a6366cead Don't use NSAccessibilityUnignoredChildren.
The function is massively ineffective on deep hierarchies
and not strictly needed. (It's supposed to filter out
"Ignored" children - VoiceOver will do that anyway based
on accessibilityIsIgnored())

Change-Id: I9a74b5f5e9b7880e0d46d5330f7192472eac7a36
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-12-14 17:12:44 +01:00
David Faure
0f2017743b Remove documentation for deleted methods, to fix a qdoc warning
The methods were removed in 6cac729ae4

Change-Id: I0b4e32a143af877181e939241b6a00f5532db40d
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-14 13:06:53 +01:00
Nico Vertriest
a97064baab Entered hardcoded url for <SVG 1.2 Tiny>
Corrected in qnamespace.qdoc
Task-number: QTBUG-27512

Change-Id: I9e0ecdb122d02f53dd3be457bfa2b358711222e0
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-14 13:06:53 +01:00
Nico Vertriest
e4cd399ef6 Entered hardcoded url for Gnu Emacs
Corrected in qkeysequence.cpp
Link from external-sites not working
So, entered hardcoded url.
Task-number: QTBUG-27512

Change-Id: I5b8d25d2b1f4f4fb0d57d2306de7f1b7c3dc40e3
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-14 13:06:53 +01:00
Frederik Gladhorn
5f348c4120 Add missing bit in initialization.
Change-Id: I1de8dcd8714f1700ac03d7c1e8536f10a031cef9
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-12-14 13:06:53 +01:00
Jing Bai
88047bee4c add missing include when Q_NO_USING_KEYWORD is defined
Task-number: QTBUG-28446
Change-Id: I348de023035a15f3c769610abdaf0ebd7273ca34
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-12-14 13:06:53 +01:00
David Faure
e2ad422e88 Doc: recommend using QVERIFY with QSignalSpy::wait, so people don't forget.
Change-Id: I63a04b64368a4b8aa6cfea88780b8dd6ba38b8bf
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-12-14 13:06:53 +01:00
Jiang Jiang
fa7661d8b2 Fix styleName support in QPA font database
Font styleName support was disconnected since Qt switched to QPA
fontdatabase. Now add the code from Qt 4.8 back to enable this in
QPA.

Change-Id: Iab2cbfd5468f87542183348c2123ca4b2c270692
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-12-14 08:56:02 +01:00
Liang Qi
3c09f6bc9a Mac: fix bugs for font selection in QFontDialog
Use localized family name and style name when selecting font with
non-English locale

Task-number: QTBUG-27415
Change-Id: Ie81507ed011fc096e0f5edad146e97c392e86494
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-12-14 08:56:02 +01:00
Samuel Rødal
0ce317826f Fixed deadlock situation in QtOpenGL's texture management.
QGLTextureCache::remove(qint64 key) locks the QGLContextGroupList mutex
before removing a texture. Removing the texture might cause the
QGLShareContextScope construct to be invoked, which calls
QGLContext::currentContext(), which will wrap a current QOpenGLContext
in a newly created QGLContext. That also triggers the creation of a
QGLContextGroup object, which will register itself with the
QGLContextGroupList, an operation that again will lock the
QGLContextGroupList mutex. To prevent this from deadlocking we make the
mutex recursive. The whole QGLShareContextScope approach is really
broken and should be replaced, but for now it's what we have in QtOpenGL
(QtGui has the replacement QOpenGLSharedResource).

Change-Id: Id1ff69035af3f31b690892c03f74748d052a278b
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-12-14 08:56:02 +01:00
David Faure
60bd2156f8 XCB: add support for getting and setting appTime and appUserTime.
The QX11Info class needs this.

This required adding the missing nativeResourceFunctionForScreen
in QPlatformNativeInterface.

Change-Id: I2c6e91c7f122f3ecdf769a177deafd2aa3896e2f
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Alberto Mardegan <mardy@users.sourceforge.net>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-12-14 08:56:02 +01:00
David Faure
92bd9aecfb Fix empty window title regression, add application display name to window title
This increases consistency a lot: all windows and dialogs from a Qt
application will show the app display name in the caption, on Windows and X11.
This helps identifying which app a dialog belongs to, which is especially
useful when the dialog is very generic and shows up unexpectedly.

For compatibility reasons, the app name is added to the caption only
if setApplicationDisplayName() was called -- or if the caption would be
completely empty. The standard Qt4 case (setWindowTitle + no display name)
is unchanged.

Change-Id: Ib284c62c1f4c0bc923e5bc2d10247d95e9aa76c1
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-12-14 08:56:02 +01:00
Samuel Rødal
1a653225f6 Fixed incorrect handling of extra mouse buttons in XCB platform plugin.
translateMouseButtons() was only able to correctly handle the left,
right, and mid mouse buttons. Thus, if any buttons outside of those were
pressed, the motion notify event would basically unset the mouse button
mask, leading to a release event being sent instead. Later on, when the
actual release event arrives, that button gets xor'ed into the empty
button mask generating another press, and later another motion event
will generate a release. In the end that means two press-release
sequences are sent for any extra mouse buttons.

Instead of getting the mask of the buttons currently being pressed from
the event, we need to keep track of the mask ourselves.

Task-number: QTBUG-28561
Change-Id: Iaa67e784a13d792deef8fc29dbd5456a5471a861
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Rick Stockton <rickstockton@reno-computerhelp.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-12-14 08:56:02 +01:00
Frederik Gladhorn
d466a171d4 Fix warning - unused variable (d-pointer)
Change-Id: I6bc47f12e60bfbda60e3f242d3b680d5684903ea
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2012-12-14 08:56:02 +01:00
Denis Dzyubenko
6b5b5d4e53 Added missing detach() to QJsonObject::take()
We also need to detach() the taken value in case the compaction triggers and
modifies the underlaying data.

Change-Id: Idcdeba4236b8e208d107d41be2decbdfc5721300
Reviewed-by: Bjørn Erik Nilsen <post@bjoernen.com>
Reviewed-by: Denis Dzyubenko <denis@ddenis.info>
2012-12-13 23:58:51 +01:00
Stephen Kelly
20d6a0bfbc Add missing WARNING header.
Change-Id: I6565bda336c152dfdc0cb49f168d90bdceacb2b1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-12-13 23:50:01 +01:00
J-P Nurmi
0b0b74a563 Fix QGtkPainter::reset() to reset the clip rect
Due to preparation for GTK3 support, QGtkStyle::drawXxx() no longer
creates a local instance of QGtkPainter upon every call, but
QGtkStylePrivate::gtkPainter() will (in the future) dynamically choose
between QGtk[2|3]Painter. The same painter instance is now re-used
between the calls, but wasn't properly reseted between.

Task-number: QTBUG-28557
Change-Id: I29be318dbb54d97ed23dfb88d406a3a833db4369
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-12-13 19:51:28 +01:00
Corentin Jabot
7b507c581c Fix some WS errors
Fix whitespace errors in qabstractsocket.cpp
and qlocalsocket_win.cpp

Change-Id: Ifd0cb86a8e63a1d0ef8a5846a7f893acf9f63542
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-13 09:11:29 +01:00
Christian Stenger
e262f221aa Docs: Fix references
Change-Id: I48173186afb874d307010f4f303d0e4f97ec0287
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-13 00:07:20 +01:00
Friedemann Kleint
76ce3e6419 Fix QWidget::setWindowOpacity() when called before show().
Pass opacity from the QWidget to QWindow and to the platform
windows.

Task-number: QTBUG-28477
Change-Id: If5a85d9183bd1ca33dac2052936ecd1e6c0b5f6c
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-12-12 21:55:57 +01:00
Friedemann Kleint
bf178c77dd QMenu: Do not set snapToMouse if a caused-widget exists.
When clicking at the bottom-right corner of a menu in a menu
bar, it appears at the wrong position. Add test and stabilize
RTL-tests by making sure the layout direction is cleared should
they fail.

Task-number: QTBUG-28031
Task-number: QTBUG-2596
Change-Id: Ibc5ae916388753908e9f3ee98e8859faaa0c8723
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-12 21:55:30 +01:00
Frederik Gladhorn
22c234a34e Accessible: Improve value interface
The stepSize property was missing in Qt 4 and is
a sensible addition to the value interface.

Change-Id: I7571800d50ee7e4194c09c4db40300809a1ce45a
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-12-12 15:30:53 +01:00
Erik van Pienbroek
225a835777 DirectWrite support on MinGW needs _WIN32_WINNT to be set to 0x0600
The file qwindowsfontenginedirectwrite.cpp uses the Win32 API function
GetUserDefaultLocaleName which requires _WIN32_WINNT to be set to 0x0600
as it only became available in Windows Vista

Change-Id: I704705d3fc729bb0167121de991d01c957e1e7e4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-12 15:27:05 +01:00
Christiaan Janssen
1ef0470a5c OpenGL Examples: added example path for QtCreator
This was introduced in patch 8534bb3d, then overwritten by c85ca8d1.

Change-Id: I6b7489e2b2f3311822c282f50c74bd68c787229d
Reviewed-by: hjk <qthjk@ovi.com>
2012-12-12 15:13:45 +01:00
Shawn Rutledge
f97c8d40c3 De-inline all setters in QWindow
If we don't do this, we can have binary compatibility issues later.
For example https://codereview.qt-project.org/#change,41700 will change
the behavior of setWidth and setHeight to call setSize instead of
setGeometry, because we don't want changing the height to also set
the position of a window; if x and y are left uninitialized it needs
to remember that fact.  But if setWidth is left as an inline method,
calling setGeometry, then an application which was built with 5.0
would behave differently than an application built with 5.1, even if
Qt is upgraded after the application was built.  To generalize,
setters should never be inlined.

Change-Id: I1ec42cb61a45fe541b3f3bb99d1b1ca24ad2a517
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-12-12 14:49:46 +01:00
Martin Smith
f03f8431ef qdoc: Make links to \target work intermodule
\target sets up a unique target that should be
accessible with \l across module boundaries.
This was not working across module boundaries.
Now it has been fixed, and it is one way of
handling the problem described in the referenced
bug report.

Task-number: QTBUG-28244
Change-Id: I541f409b998f84b2b8dcf66751762cf07f9f108b
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-12 10:55:28 +01:00
Samuel Rødal
0549a4b6f5 Made QWidget::setWindowOpacity work with the XCB platform plugin.
Ported the rather trivial implementation from Qt 4.

Task-number: QTBUG-28477
Change-Id: I44e14a3c150af43c6b9b880242b655fe06084fd7
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-12-12 10:47:48 +01:00