Commit Graph

11737 Commits

Author SHA1 Message Date
Frederik Gladhorn
6bf6c12854 Merge remote-tracking branch 'origin/release' into stable
Change-Id: Iaa321deb9e536ce89b87a337b57634f00c770a32
2013-01-22 18:32:47 +01:00
Thiago Macieira
f7eff72517 Add a new Q_GLOBAL_STATIC implementation
Unlike the previous implementation, this implementation is locked:
only one initialisation is ever run at the same time. It is
exception-safe, meaning that a throwing constructor will restart the
process.

Also, start using the thread-safe behaviour that GCC has offered for a
long time and C++11 requires.

Change-Id: I20db44f57d258923df64c0051358fd0d9a5ccd51
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: David Faure (KDE) <faure@kde.org>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-01-22 17:15:58 +01:00
Friedemann Kleint
326a5e0bca Fix testlib-selftest for MinGW.
Fix float format and exclude crashing sub-binary.

Task-number: QTBUG-29014
Change-Id: I404f971edeb128263122a194f23e2806d6fd3bd0
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-01-22 17:15:58 +01:00
Friedemann Kleint
63faa00066 Windows: Introduce pixmap cursor cache.
Cache custom cursors.

Task-number: QTBUG-28879

Change-Id: I8f2b5b9149966399a6173dbd19f6a8e85898924b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-01-22 17:15:58 +01:00
Gabriel de Dietrich
b077e67fd2 Cocoa: Backport Qt 4's QCocoaView tracking areas into QNSView
Task-number: QTBUG-29153

Change-Id: Ib190c074defaa459a8acc738f09af4a65e5d91d1
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-01-22 16:48:40 +01:00
Tor Arne Vestbø
f5c6a5d06b Don't build lance as application bundle on Mac OS
Change-Id: I23732b4ec0dc45d9d3a2cc5f21dad2cb33af5830
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-01-22 14:56:47 +01:00
Jerome Pasion
5e5bc779c3 Doc: Updated HTML copyright year to 2013.
Change-Id: I9e750fa78ea552f6f906afb4dc52373f3eac2d39
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2013-01-22 14:43:14 +01:00
Frederik Gladhorn
15a3243556 Accessibility Linux: Make dbus registration async
Change-Id: I74043be04f4ee17089353304fdc007a7f22cdea0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-01-22 14:11:14 +01:00
David Faure
ffeaff9a26 Fix QTextCodec race.
The aliases for the TIS-620 codec were not available before loading it.
This led to the following intermittent failure:
QWARN  : tst_QTextCodec::threadSafety() WARNING "MS874" not found?

Change-Id: I8ed037d3238c04e1d35ed49e833ac01b7501d3e8
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-01-22 13:40:42 +01:00
David Faure
e01b163404 QTestLib: improve output when comparing lists fails.
Only QStringList was handled before, now any QList is handled.
A specialization for QStringList is still needed though, due to the way
template matching works.

Example with QList<int>. Before:
FAIL!  : tst_QTextCodec::threadSafety() Compared values are not the same
   Loc: [../tst_qtextcodec.cpp(2057)]

After:
FAIL!  : tst_QTextCodec::threadSafety() Compared lists differ at index 0.
   Actual   (res2.toList()): '0'
   Expected (mibList): '3'
   Loc: [../tst_qtextcodec.cpp(2057)]

Change-Id: If0fdec3236ddb78a679ee549aba569ef5571c395
Reviewed-by: Jason McDonald <macadder1@gmail.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-01-22 13:29:33 +01:00
Friedemann Kleint
c73dc44606 Fix cleanup of temporary files in test of QFileInfo.
Change-Id: I0d21fc05a7d816acab5f7284f905bf971a5c04da
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-01-22 13:29:25 +01:00
Friedemann Kleint
267e2bbee4 MinGW: Disable tests in tst_qstring that use unsupported formats.
Task-number: QTBUG-29014

Change-Id: I7dc879c456da8dabe02a2bce07e8628d176ca9d1
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-01-22 13:29:14 +01:00
Nico Vertriest
90197276a8 Doc: solved snippet issue in coordsys.qdoc
Reference to analogclock/main.cpp : removed folder 'gui'
from path

Task-number: QTBUG-29101
Change-Id: Ib51189e693ba59aed5c969c96f1b684d6c180b0c
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-01-22 10:31:19 +01:00
Frederik Gladhorn
4ed8356053 Remove some dead code.
Change-Id: Iea86a30d96465bcfe78531c88040b65c6eb9f5b4
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-01-22 09:25:05 +01:00
Friedemann Kleint
c24a7377dd Regression: Fix setting of custom cursors for native widgets.
Currently, there is no concept of not having a cursor set on
a Window. Qt::ArrowCursor is always set instead. This causes
bugs when native child widgets are involved, for example setting
a cursor on the native widget's parent no longer works since
the child's Qt::ArrowCursor applies.

Introduce QWindowPrivate::hasCursor tracking whether a cursor
has been explicitly set and clear in QWindow::unsetCursor().

Handle 0 in QPlatformCursor::changeCursor() to mean
"unsetCursor()":
- Windows: Introduce default constructor for QWindowsWindowCursor
  meaning "0". Search for applicable parent cursor in applyCursor.
- XCB: No big changes required, set XCB_CURSOR_NONE for no cursor.
- Other platforms: Assume Qt::ArrowCursor when cursor = 0 is
  passed for now.

Task-number: QTBUG-28879
Change-Id: Id82722592f3cd5fe577a5b64dcc600c85cfea484
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-21 21:50:45 +01:00
Friedemann Kleint
1029049e1d Fix MinGW-warning about pointer/integer of different sizes (64bit).
Change-Id: I26945bbcd0994e478332ea1250ad7d0bbaa8420f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-01-21 21:50:15 +01:00
Friedemann Kleint
661c3701f4 Fix Windows native file dialogs for use with QtQuick.
- Correct modality check.
- Allow for properties to be set if there is no native dialog.
- Make dialog thread for non-modal call back into dialog helper
  for exec().
- Introduce QWindowsFileDialogSharedData to contain data to be
  cached while no native dialog exists and to be updated by the
  change notifications of the IFileDialogEvent interface to avoid
  querying the dialog results after the dialog has closed. Reduce
  virtual methods of QWindowsNativeFileDialogBase accordingly.
  This also fixes a bug in the previous implementation causing
  the directory not to reported back since the native API would
  not return the directory after closing the dialog.
- Support nonmodal native dialogs when constructed on a QQuickWindow.
- Delete native dialogs after exec as QtQuick keeps the
  dialog instances around.

Change-Id: Id1169d6657d9476afe12fb9909c36cbd03aa2a40
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-01-21 21:50:07 +01:00
Jan Arve Saether
e17dddfd3b Make hierarchy of actions in menubars more consistent.
There is an assumption that the interface returned from iface->parent()
would have iface as one of its children (thus,
parent->indexOfChild(iface)
should always return an integer != -1, indicating that it is a child.

This is a good assumption, otherwise an hierarchy would be presented
differently depending on how it is traversed.

However, a QMenu created like this:
QMenu *menu = new QMenu("weird parent", mainWindow);
mainWindow->menuBar()->addMenu(menu);

will have a different ancestor sequence than a menu created like this:

mainWindow->menuBar()->addMenu("ok parent");

This is because it will walk up the QObject hierarchy.

This patch tries to deal with that by looking at which widgets the
action of the menu is associated with before determining which should
be the accessible parent.

Change-Id: I00dad8a94463f772d7b1f5d66fdb36b2e8d3aea2
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-01-21 18:57:27 +01:00
Nico Vertriest
498dfa3de7 Doc: added path to qtcore.qdocconf
Added examples/widgets
Required for resource-system.qdoc referring to application.qrc

Task-number: QTBUG-29101
Change-Id: Ia51020a02801e04e3ff8d13f09277d7cd3fe1109
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-01-21 17:11:36 +01:00
Gabriel de Dietrich
92237b22ea Cocoa: Make QCocoaMenu::showPopup() more robust
Change-Id: Ie4ae5806ea2f23f16597578796be36f2123c05fa
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-01-21 15:31:22 +01:00
Jan Arve Saether
fb4aef9c70 Accessibility: Test for do not crash if the column count is 0
This tests the fix submitted in bb5e11b56d

Task-number: QTBUG-28611

Change-Id: I7b15aa6b46be3607bd7079294d8e7d18bd507d1c
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-01-21 15:28:28 +01:00
Tor Arne Vestbø
b5922c89ba Add support for retina glyph-based text drawing in the GL paint-engine
Instead of always using a non-transformed glyph-cache we now allow a scaled
glyph-cache so that retina-screens can take advantage of this. We take
the cache's scale into account when positioning and drawing the glyphs
so that the scale is not applied twice.

Change-Id: Ia927656f0070df61e78da76e97d2c49de4d856d9
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-01-21 12:59:33 +01:00
Shane Kearns
e3bd06426a Fix socket binding on mingw builds
The mingw headers lack the IPV6_V6ONLY define, depending where you get
them from. Currently the headers provided by mingw-builds are more
complete than those from mingw.org itself.
I have removed the compile time check, defined the macro if it is
undefined, and it should be just a runtime check for if you are running
on windows XP you get no dual stack binding.

Task-number: QTBUG-28787
Task-number: QTBUG-28971
Task-number: QTBUG-28972
Change-Id: Iafadbb55d367c44ba9f812a24115e65591701b54
Reviewed-by: Ilya Sidorov
Reviewed-by: Peter Hartmann <phartmann@rim.com>
(cherry picked from commit d3c4296198)
2013-01-21 12:40:52 +01:00
Friedemann Kleint
04773fe72e Reduce invocations of QFINDTESTDATA in tst_qfileinfo.
Introduce variables for the paths used in the test and
check in initTestCase().

Change-Id: Ie801266e30cd860e5bdf079c1182fe385f9598c7
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-01-21 12:15:01 +01:00
Friedemann Kleint
52e14e05fa Fix temporary file leak in tst_qfileinfo.
Change-Id: I0d679638d5a9564f612ae5e70717f164b74aefb0
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-01-21 12:14:53 +01:00
J-P Nurmi
e93a69349f QGuiApplication::font(): assert that a GUI app instance exists
Task-number: QTBUG-28306
Change-Id: Ia5b01265e7f88fdd8c2738ef03b14e83829625b0
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-01-21 12:12:35 +01:00
Andrew den Exter
40e6b1d0b8 Don't update the input method if the im hints haven't changed.
Depending on the implementation updating an input method can be
expensive and various widgets will at times call setInputMethodHints
with unchanged hints.  QGraphicsView being a notable offender due to
the complexity of the circumstances in which the hints can change.

Skipping the update here ensures the input method isn't updated
unnecessarily for all widgets.

Task-number: QTBUG-19854
Change-Id: I36ae35585ee20a4e01ca0d62c71e896dbdb51a3f
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-01-21 09:32:58 +01:00
Morten Johan Sørvig
3e8996df2a Export functions to add custom mime converters.
For use with public API in QtMacExtras.

This goes into Qt stable: Fix for new functionality,
and close a feature regression against Qt 4.

Change-Id: I555fdff3ddb39336ccd72f9711d465f1c18c6b45
Reviewed-by: James Turner <james.turner@kdab.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-01-21 09:29:32 +01:00
Samuel Rødal
4feadac76e Android-eglfs: Fixed build against Android 4.0.x
The header location for SurfaceComposerClient.h changed between Android
4.0 and 4.1, so we need to select based on the major and minor version.

Change-Id: I7a6408f8ba3c644facca3a7e64b8d68fde9c4472
Reviewed-by: aavit <eirik.aavitsland@digia.com>
Reviewed-by: Rainer Keller <rainer.keller@digia.com>
2013-01-21 09:20:01 +01:00
Giuseppe D'Angelo
f8c389bc3c QRegularExpression: fix wrong argument type for pcre_fullinfo
The pcre(3) man page says that the 4th argument of pcre_fullinfo,
when requesting PCRE_INFO_OPTIONS, should point to an unsigned
long int variable.

Change-Id: I72cd5ab208687715329566556c5f279db57f7872
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-01-20 23:09:56 +01:00
Giuseppe D'Angelo
12d90d6202 Add a note for merging QString::contains(QRE, QREM) overloads in Qt 6
Change-Id: I19609b192618287dbac0de2e893e3e9b40d6a969
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-01-20 22:46:32 +01:00
Volker Krause
5ab42af612 Adapt to WebKit Widgets module split.
These classes moved as well, but were missed in commit c07408e2. This
fixes uic generating invalid code if any of these classes are used in
an .ui file.

Change-Id: I0359157f540a5f4979cca781169e5a9b2a0afad7
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-01-19 18:31:07 +01:00
Gerhard Gappmeier
9bbebb9144 Add support for defining properties from member variables.
This associates properties with member variables and
avoids writing getter and setter methods manually.
The metaCall() method directly accesses the member variable,
so additional method calls can be avoided.
The metaCall() setter code also supports NOTIFY signals,
which means the according signal is emitted when the property
gets written.

Task-number: QTBUG-16852

Change-Id: I88a1f237ea53a1e9cf65fc9ef2e207718eb8b6c3
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-01-19 17:36:55 +01:00
Peter Hartmann
5bc5be22e8 QNetworkReply auto test: also test uploading data via HTTPS
... and not only HTTP.

Change-Id: I1190e07fdacd9bdfb218c8932e0e5e2c0c6fc6ab
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-01-18 17:58:48 +01:00
Luís Pereira
f9f83e1ef7 fixqt4headers: Fix typo in QtMultimedia headers module name
Commit 003860b5 introduced QtMultimedia, but with a typo. It broke the
script.

Change-Id: Ie3fd536d90f52419818f36ba1b28d437b965dcdc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-01-18 17:58:48 +01:00
Jing Bai
5607259ccc fix a typo in cube example
Change-Id: I1ad01aa519007d203669ccc63ef7d769b7e740b5
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2013-01-18 16:15:36 +01:00
Friedemann Kleint
aacf4d0263 Fix a crash when minimizing a QQuickWindow.
Send empty expose event and flush queue when minimizing.

Task-number: QTBUG-28439
Task-number: QTBUG-26424

Change-Id: I2e921a86660f946ced7af735cdf197fb666e2934
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-01-18 15:42:59 +01:00
Andy Shaw
d6506c129d Make sure the correct name filter is selected in the Mac file dialog
Since we have to add the filters one by one to the Mac file dialog it
was finding the one that would match the filter by comparing the start
of the filter string.  However it would continue to check the start of
other filters even if it had already found the one it should be using.

Now it uses either an exact match or the first one that it matches the
start of.

Change-Id: Ie6441acd48e45ec9c712afc12a2ea47755835bb3
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-01-18 15:09:38 +01:00
Andy Shaw
7024bc7091 Call endSheet when the QFileDialog was shown as a sheet on Mac
If the sheet is not ended then subseqent calls to show a sheet will not
work correctly.

Change-Id: Ib8a43a1c96a3dadff196c433e822f7579ad87b8b
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-01-18 14:55:22 +01:00
Friedemann Kleint
6f225b0b5d Fix MinGW-warnings about comparing signed/unsigned.
Change-Id: I970264e5b096a3d6384b59d0ae0876bb80fd0009
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-01-18 14:18:34 +01:00
Friedemann Kleint
ced523af7a Fix crashes in tst_qthreadpool on Windows.
Qt 4.8 shows frequent crashes in runMultiple apparently caused
by the QMutex construction in the free functions by different
threads. Use a common QMutex class member instead.

Change-Id: I851d4e2d3637a7b4f404ed843f5360c10caa21f5
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-18 14:16:52 +01:00
Samuel Rødal
01d5c6c949 Android-eglfs: Added support for non-composited rendering.
By using FramebufferNativeWindow Qt can render directly without going
through the SurfaceFlinger compositor.

Change-Id: I0538fca9f2e905c076ff5837dd73589ee9c632ca
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-01-18 09:16:10 +01:00
Samuel Rødal
d29aabbca9 eglfs: Introduce way of filtering out unwanted EGL configs.
Some times a platform might want to exclude certain configs, for example
based on EGL_NATIVE_VISUAL_ID. This patch introduces a new
QEglConfigChooser class which has a virtual filterConfig() function
which can be re-implemented in a sub-class to give finer control of how
configs are chosen.

Change-Id: I8b684f01be95a47307b1e429857f01337a9a38d8
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-01-18 09:16:03 +01:00
Sergio Ahumada
48e0c4df23 Update copyright year in Digia's license headers
Change-Id: Ic804938fc352291d011800d21e549c10acac66fb
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-01-18 09:07:35 +01:00
Thiago Macieira
0d0213f926 Store inode numbers in decimal notation
ls(1) with the -i option and stat(1) show inode numbers in decimal. If
anyone ever tries debugging this problem, we should present the
information that other tools would show too.

Change-Id: I54b24edba5b028cc86744ca302ab918f8baa2d2b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-01-18 03:41:34 +01:00
Topi Reinio
d94ac55a01 Doc: Fix documentation for devicePixelRatio() functions
Fix Incorrect use of \sa, missing markup for comment block and typos.

Change-Id: I1b7e477b7429ace30ca3ab25c4814c8cba659a65
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-01-17 18:02:14 +01:00
David Faure
ac9ab9703f QtDBus: Garbage collect deleted objects now and then.
Fixes performance issues in apps which register and deregister objects
very frequently (like nepomukstorage).

Change-Id: Ib4ce8d65868f0e26cd45f1053e4b2f4c13528cfa
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-17 17:39:36 +01:00
David Faure
00e0923e60 Output std error from qmake/make when the test fails.
This is intended to make it easier to understand what's happening when
this test is flaky during CI.

Change-Id: I13163c244cb99414d90b5f71c365a4ff2216bc83
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-17 17:39:29 +01:00
David Faure
ff8362d65e QSaveFile autotest: restore permissions using RAII
So that the QTemporaryDir can happen even on error.

Change-Id: I728d49eac8bd65e1919fd314a95387949e134de0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-17 17:39:22 +01:00
David Faure
2d5fe45379 QSaveFile: test the case of an existing, but readonly, target file.
Change-Id: I296d9c2598b8c72e2fd3e6ec80a615364b7eddeb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-17 17:39:16 +01:00