Commit Graph

13432 Commits

Author SHA1 Message Date
David Faure
f22b29162c Fix some data races in tst_qthreadpool.
Detected by helgrind.

Change-Id: I5f73a62610b4bdc7f26629f3dcf7b11467897a5c
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-05-19 20:39:32 +02:00
Romain Perier
94c7002df3 Improve Qt-in-namespace implementation in the Cocoa platform plugin
Objective-C++ does not support namespaces. In order to make this work,
we decorate each symbol with suffix using the macro QT_MANGLE_NAMESPACE.
However, with such a technic each public symbol needs to be explicitly exported through
this macro. The use of @compatibility_alias allows to define alias to use it
automatically and transparently.

Task-number: QTBUG-23946

Change-Id: Id521b8160bab126fda40a9d960277b1c04cc8b66
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-05-16 10:45:04 +02:00
Thorbjørn Martsum
adaa50e37d QHeaderView - add parameter to control sizeHint precision
Currently Qt looks at 1000 rows when scaling a column.
That can be slow in some situations and too inaccurate in others.

With this patch we leave it up to the user to decide how precise
e.g resizeToContents should be.

Change-Id: I6ef60f9a3bb40fc331ce1a1544fdc77488d20ca3
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-05-13 16:32:50 +02:00
Thorbjørn Martsum
70410467f0 resizeToContents - QTableView to consider cells outside visible area
This makes sizeHintForColumn and sizeHintForRow considering indexes that
are outside the visual area - which is what most people want. It is
a bit weird that scrolling gives '...'

That will make the behavior a bit more like QTreeView, that considers
indexes outside the visual area.

Furthermore it is important since the user cannot just resize a column
when QHeaderView::ResizeToContens is used.

Task-number: QTBUG-4206

Change-Id: Icb209a19ce9e62cd30ca7159a4ad2aa9aadc1b6a
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-05-13 16:32:40 +02:00
Kevin Ottens
64a2e00e37 Allow to filter the type of fonts displayed
QFontComboBox had convenient filtering options but somehow not
QFontDialog, so provide the same type of flags and a similar behavior.

Change-Id: Ia8efabc60ae795673c772ff8ed63fd49244a5bb9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: David Faure (KDE) <faure@kde.org>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2013-05-13 12:11:21 +02:00
Thorbjørn Martsum
587a15739b QTreeView - clean up comments (do not add spans)
Maybe spans would be better in QTreeView than QHeaderView - but
from what I have seen of them (complex and slow) I doubt that
it is what we want in QTreeView.

Beside that the code removes a dead line of code, that is bug.
This is a comment fix that does not change the code.

Change-Id: I4c67a95c4bd2904612d6146077b7cbd59de7bdd6
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-05-13 12:11:21 +02:00
Thorbjørn Martsum
00b4bd0a42 QWidgets QPA - remove wrong setting of mouse timestamp
The comment to the code said it was to avoid double click.
However it actually breaks wanted double clicks.

The reason for it must be that the replayed event in earlier
code versions could be changed into a double click (together
with the first event).

However (now) we only test qt_replay_popup_mouse_event in
void QWidgetWindow::handleMouseEvent(QMouseEvent *event);

Regardless what kind of event we receive as input it will send
QEvent::MouseButtonPress when it sends replay mouse event.

I.e. it will then call QCoreApplication::sendSpontaneousEvent(r,e)
=> QCoreApplication::notifyInternal(receiver, event)
=> QCoreApplication::notify(receiver, event)
=> QApplicationPrivate::notify_helper(receiver, event) (+filters)
=> (probably) QWidgeWindow::event(receiver, event)
=> further handling in widget classes.

That especially means that it will *not* get into the function
QGuiApplicationPrivate::processMouseEvent where doubleclicks are
created. Therefore no doubleclick can be made from the extra event.
That makes the statement have no good effect - just side effects.

Change-Id: I190baff3c060548775201695e324059560bb7106
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-05-13 09:27:38 +02:00
Thorbjørn Lund Martsum
fff9119028 QSplashScreen - add message function
There is no point in not being able to get the message.
Sometimes it can be the case that we just want to append a dot
(or something else) on the existing message.

Change-Id: I171495f1edc568ae1654f43b3cf734a4eb67d374
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2013-05-11 06:52:56 +02:00
Gatis Paeglis
96d00ed19b Fix HTML data transferring through the Clipboard on Windows
When transferring html formated data through the clipboard
some of the html markup was lost when converting from Windows
clipboard native mimedata to Qt mimedata type.

On X11 we are sending everything - inluding <!DOCTYPE ...><html> .. </html>.
This patch enables the same behavior on Windows.

Task-number: QTBUG-30984

Change-Id: Ic0e339ad53955f1d31e8dff92ccf38b6eeec369a
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-05-10 23:48:44 +02:00
Gatis Paeglis
d1bf366e42 Use [NSEvent keyCode] to retrieve a virtual key code.
No need to use old style Carbon Event Manager function when there is
Cocoa [NSEvent keyCode] equivalent for retrieving virtual key code.

Change-Id: I5cceb76fc662e42a46a17dc69131091a64ca6060
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-05-10 23:48:32 +02:00
Bernd Weimer
ebd5de126c BlackBerry: Revised error handling in event dispatcher
Added an upper bound check for socket notifier file descriptors. Too
high FDs have been a real source of failure.
Added compiler hints to allow error-free code path run faster (errors
are highly unlikely) and adjusted warning messages (some were misleading
and too long).

Change-Id: I1c9c41f5d006ca9d3a28214c3a464555b8a1c71f
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
2013-05-10 11:41:27 +02:00
Peter Hartmann
3be197881f QSslConfiguration: add API to persist and resume SSL sessions
Session tickets can be cached on the client side for hours (e.g.
graph.facebook.com: ~ 24 hours, api.twitter.com: 4 hours), because the
server does not need to maintain state.
We need public API for it so an application can cache the session (e.g.
to disk) and resume a session already with the 1st handshake, saving
one network round trip.

Task-number: QTBUG-20668
Change-Id: I10255932dcd528ee1231538cb72b52b97f9f4a3c
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-05-10 09:15:55 +02:00
David Faure
2116f9904a QDBus: Add test for a{sv} and an annotation pointing to QVariantHash.
QVariantMap would work too; I presume this is why the annotation is needed,
rather than QtDBus automatically figuring out which type to use.

This even checks that QHash&lt;QString,QVariant&gt; works in the annotation,
although QVariantHash would be simpler to write, obviously.

Change-Id: I7a339ca90f10e5ec97dcea1bb4dbba3c515e6b23
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
2013-05-10 09:03:29 +02:00
Tor Arne Vestbø
1b2d3be446 Sanitize QT_COMPILER_SUPPORTS_xxx in qcompilerdetection.h
... instead of scoping the defines in qconfig.h, which relied on the
Q_PROCESSOR_xxx defines and meant that we had to include qconfig.h
after qprocessordetection.h, which added a whole bunch of other
dependency issues.

We now let configure write QT_COMPILER_SUPPORTS_xxx to qconfig.h as
before, without any scoping, and then undefine the ones that don't
apply for the given processor. This means we need to include
qprocessordetection.h before qcompilerdetection.h in qglobal.h,
but the former does not depend on the latter, so this should be
fine.

Change-Id: If00c00d405463e9626fa0f7f5e6b17f68778904f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-05-10 01:12:40 +02:00
Sérgio Martins
95fe97dbcb Remove QT_NO_FILEICONPROVIDER ifdefs
FILEICONPROVIDER isn't listed in qfeatures.txt and Qt doesn't
build without it.

If you need QT_NO_FILEICONPROVIDER, besides reverting this commit,
you'll need to add a good amount of ifdefs to QFileDialog,
QFileSystemModel and QFileInfoGatherer classes.

Change-Id: Ic288c90268f6a900e160ba8eb4457580d1fd7a5a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2013-05-09 17:01:03 +02:00
Rafael Roquetto
6dfba7c628 QNX: Use 'disabled' child window buffers.
Because there is only one QBackingStore per top-level window, child windows do
not need to have their own buffer, since Qt will use the TLW backing store as
their drawing surface. Since QNX's libscreen does not support windows without
buffer, a 1x1 buffer is used instead.

Change-Id: I4b81fdd0f3e6059c46b1d4302d2a754d72dc8a68
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
2013-05-09 14:56:32 +02:00
Sérgio Martins
46685f755b Windows: Introduce QFileDialog::DontUseCustomDirectoryIcons
Folders can have a custom icon, set by the user. Some system
folders also have one, for example c:\windows\fonts.

This option allows you to disable this behavior, you'll get the
folder directory icon.

As a side-effect, you'll get a very big performance improvement
on removable/network media: 2 seconds vs 60 seconds on a SDCard
with 10000 folders.

Change-Id: Id55ea628186e0a6523585ec7a4ff622d6f5da505
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2013-05-09 14:56:32 +02:00
Friedemann Kleint
0e9ea64edc Add Style hint for Clear buttons within QLineEdit.
Initial-patch-by: Kevin.Ottens@kdab.com

Change-Id: I4893923d5015535eb6d934636d6b5925088d7be8
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
2013-05-09 14:56:32 +02:00
David Faure
12d8264a24 tst_qdbusabstractinterface: generate interface at compile time
in order to test for regressions in qdbusxml2cpp too.

Change-Id: Icd2a6f319c5fabf0b0f2a1fe8c70afcd2c84263e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
2013-05-09 12:35:39 +02:00
Thorbjørn Martsum
7e6fbb9af1 resizeToContents - QTreeView - improve sizeHintForColumn
QTreeView actually had a better model than QTableView, but after
previous patches QTableView now has a better one.
This patch makes sizeHintForColumn similar to what QTableView has.

Change-Id: I2f2d35e7aa66fc8990f54e2f4a12d97f490840e5
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-05-09 06:45:11 +02:00
Thorbjørn Martsum
03c761287f resizeToContents - move some of sizeHint into separate functions
Some of sizeHintForColumn is now moved into widthHintForIndex.
(and in QTreeView some of sizeHintForRow into heightHintForIndex)

This makes the code a bit more readable and it prepares some
extensions that will use these functions more. There should
be no semantic changes in this patch.

In releasemode this does not seem to have a performance cost.
(QTableView actually seemed to be a bit faster)

Change-Id: I940432ee01715ce94cd6aab5f3b2aa00dcd19ace
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-05-09 06:45:01 +02:00
Thorbjørn Martsum
03c5eacfbb resizeToContents - QTableView - faster hint when view is hidden
In some situations we can get into resizeSections in a hidden
QHeaderView. If the headerView is hidden then we look at all the
rows, and that can be extemely expensive for a large model.

This patch limits the sizeHint with only looking at a maximum
1000 rows. Though this is more inaccurate it is also faster -
and it is not much different from what QTreeView does.

Change-Id: Ief4b54c5a3c5a0db02e8b595c9b9b3162633ee67
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-05-09 06:44:54 +02:00
Stephen Kelly
929e08a3d6 Fix since version of new metatype conversion functions.
Change-Id: Icedd0942eaef9bdcf034d747f0a03a00ca461a95
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-05-08 12:46:09 +02:00
Stephen Kelly
508ee5616b Add automatic container access registration for built-in containers.
Change-Id: I4d590c23e072994930922ff73367600f848fbcf0
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-05-08 12:45:59 +02:00
Gatis Paeglis
c5a6b894e7 Fix the assert failure in QShortcutMap::find
Don't send Qt::Key_unknown down the shortcut handling pipe, because
unknown keys are not part of a shortcut sequence and results in an assert.

Task-number: QTBUG-30871
Change-Id: Idd451fb793bd07124a96d75ed7b936f7ff584f28
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-05-08 08:12:27 +02:00
Thiago Macieira
8aff3d0bed Add a pair of constructor/assignment function pairs to QPair
To allow copying one QPair of two types to a QPair of two different
types.

Change-Id: Ie7aa84cf5a361be6b7d242517578172c35bcacfd
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-05-08 06:05:35 +02:00
Stephen Kelly
620f788f86 Add QVariantList extraction from a QVariant with a sequential container.
Change-Id: Id9fac7bf47ed3fbb385222b25941215ac24b8b88
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-05-08 06:02:53 +02:00
Stephen Kelly
01fb843af8 Add QVariant container iteration API.
A new set of classes is introduced for iterating over the contents
of a container within a QVariant without knowing the exact type of
the container, but with the guarantee that the element type within
the container is a metatype.

The implementation of the iterable interface uses
the stl-compatible container API so that we can also iterate over stl
containers, or any other container which also conforms to stl norms.

This enables the functionality in the bug report.

Task-number: QTBUG-23566

Change-Id: I92a2f3458516de201b8f0e470982c4d030e8ac8b
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-05-08 06:02:45 +02:00
Christoph Schleifenbaum
f7b313e6d8 Core: Support for converting user defined QVariant types.
This patchs allows the user to convert defined QMetaType types like
MyType to be converted by using e.g. QVariant::toString(), mapping to
MyType::toString(). Also all the other QVariant::toXYZ() methods are
supported so far.

The patch adds static methods QMetaType::registerConverter supporting:
- implicit convertion
- conversion using member method of source type
- conversion using unary functor

Change-Id: I4f1db83d9c78bcc9df5c42f82f95cce0480cdcc3
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-05-08 06:02:35 +02:00
Rafael Roquetto
46d80dedb7 QNX: Fix screen event thread compilation
Breakage was caused by two typos

Change-Id: Ic9ca3a3db8dbf191b3bee8b2ef6e3513f7c9adc4
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2013-05-07 20:55:35 +02:00
Kevin Ottens
48e3cc30ed Set the base used to display the spin box value
Provide a new displayIntegerBase property which control the base used
by the spin box to display the value in its internal line edit.

Change-Id: Ibadc37107db8770d757b64350946bf19142e8f6c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2013-05-07 18:40:43 +02:00
J-P Nurmi
44c47af950 Unify header-based scroll offsets in itemviews
This is a spin-off of 00b11cc.

Change-Id: I042f066bdb1d248a04473d4b0a31002330a73907
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
2013-05-07 14:43:14 +02:00
Sergio Ahumada
db44b891fb Merge branch 'stable' into dev
Change-Id: Ica003a10ede86914bbbb062a2dc277a2ce39a259
2013-05-07 12:02:41 +02:00
Jan Arve Saether
9504516847 Remove the crash pending warning
Even though the intentions of this warning were good, the warning
was a bit harsh. In addition, in certain circumstances
(like the autotest demonstrates) we could end up calling object()
on an interface where the object was in the destructor. This
could happen because: *after* we got the destroyed() signal, the
widget would still notify the accessibility framework of a FocusOut
event.
Since the code even called object() from isValid(), we could not even
(as a defensive measure to circumvent this issue) check the isValid()
of an interface without getting this warning (duh).
So - for isValid(), the warning is not needed at
all, since the caller will of course check the result of isValid() and
act accordingly.

As for the result of object(), it should always be a pointer, but it
might point to a partially destroyed object. To detect this, you simply
check isValid() first:

if (iface->isValid())
    doStuff(iface->object());

Change-Id: I206307fe618806133d8c6bc338c412d0009d7181
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-05-07 07:20:52 +02:00
Thiago Macieira
cd5d1524a0 Autotest: Use the new test zone in all name-lookup unit tests
I also modified tst_QDnsLookup the test to use ';' as a separator as
opposed to spaces because I added MX and SRV records with multiple
RRs.

Change-Id: I62c7b6ad342c1bb23c4d9ac9730e35ab422e3ea2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-05-07 02:53:50 +02:00
Thiago Macieira
4d6572aac0 QLocale: cache the QLocalePrivate for the default QLocale
Change-Id: I6f05da4d426a0aa685dd9f2fd0020e413a4bebad
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-05-01 23:05:35 +02:00
Thiago Macieira
30a8d73fdc QLocale: cache the C locale's private
Change-Id: I81bbfeffebb5b7fc29d67bb7127beaf13838ac9f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-05-01 23:05:35 +02:00
Rafael Roquetto
a2f59955ae Fix QFontConfigDatabase crash
Take into account the possibility that the target platform plugin does not
support platform services.

Change-Id: I48e7fac2e1230a9a7d450414044d23ed26b334be
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-05-01 23:05:35 +02:00
Albert Astals Cid
b1de018e9a Fix QLocale::standaloneMonthName when d->m_data == systemData()
At the moment if  d->m_data == systemData() it calls
systemLocale()->query but forgets about the standalone part
so you get the wrong data

This patch introduces the new enums so that backends can implement
properly the standaloneMonthName feature properly. At the moment the Windows
and Mac ones still return the monthName, the Unix and Blackberry ones return
the data we store in months_data

Change-Id: Idc5a50b04ab1f914f16c7385be1dca2e027feae3
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Mehdi Fekari <mfekari@blackberry.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-05-01 21:05:33 +02:00
Giuseppe D'Angelo
05984c910f Reintroduce QIcon doc image (from Qt 4 docs)
This fixes the

   [Missing image icon.png]

warning on QIcon docs.

Change-Id: I16aafb51c146fb675f657a7d8210033a17abf642
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2013-05-01 15:11:50 +02:00
Eskil Abrahamsen Blomfeldt
522c7ba1ac Enable bundling Qt in Android package in build system
For bundling Qt, we need two things:

1. We need to build a regular .jar file out of the Java files,
so that they can be built into the app package. Dexing the
classes first (i.e. compiling the JVM bytecode to Dalvik
bytecode) is required for loading the .jar file at run-time,
but cannot be used for building it into the app, so we need
two different paths.

2. We need to specify which extra files have to be bundled for
each module (this is primarily for plugins and imports). This
is because there is no static dependency on these files, so
it cannot be detected during deployment.

Task-number: QTBUG-30751
Change-Id: I733603ee5d1c64bd7c5b9357eb5d993b9d0298f7
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-05-01 11:24:15 +02:00
Eskil Abrahamsen Blomfeldt
94bed3ad14 Make it possible to bundle Qt libraries in Android apk
Add the enablers so that Qt Creator (or another
deployment tool) can add a specification in the app's
meta data of which libraries are bundled and the
Java code required to extract plugins and imports into
the required directory structure inside the app's
data directory.

This is intended to be an alternative to using Ministro
for deployment, and the mechanism of extracting
libraries on first startup is a work-around for the
requirement in Qt of having this directory structure.
For Qt 5.2, the approach should be changed to load
plugins directly from the app's lib directory and
the other files in imports will be bundled as qrcs
in the native plugins.

Task-number: QTBUG-30751
Change-Id: Ibdb3a672548b4802f9bf3ecd05fc194426ac30e7
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-05-01 11:24:03 +02:00
Thiago Macieira
75fba93fc6 Fix more warnings, found by cross-compiling Qt
KeccakF-1600-opt32.c:497:5: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
harfbuzz-thai.c:264:49: error: comparison is always false due to limited range of data type [-Werror=type-limits]

These warnings are caused by "char" defaulting to unsigned on ARM. In
particular, the second warning was introduced by commit
785e95ef0a, which is not upstream...

qbenchmarkvalgrind.cpp:224:5: error: variable ‘_qzz_res’ set but not used [-Werror=unused-but-set-variable]

This one was fixed for x86-64 in 7b54571ec2 but not
for the other platforms.

KeccakF-1600-opt32.c:250:5: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]

This one is wasn't caught before because it applies only to big-endian
code.

Change-Id: Ice33b639e55d95140cbf912bb81b6f508ed3744a
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-05-01 08:48:13 +02:00
Thiago Macieira
e68845ec78 Oops: bugfix support for ref qualifiers in GCC 4.8.1
51ee309a79 introduced this check, but it
was supposed to be >= (it's available in 4.8.1, not after 4.8.1)

Change-Id: Id993b128de5c3500684833aea8ef556b31aac5f2
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-05-01 06:44:38 +02:00
Tor Arne Vestbø
130b579a16 iOS: Don't use -1 as magic value for UIDeviceOrientationFaceUp/Down
The check in [QIOSOrientationListener orientationChanged] ensured we
never reported the two unsupported orientations through QPA, but we
were reporting back the orientation through QIOSScreen::orientation()
as well, and that didn't have a guard for -1. This resulted in crashes
in client code that assumed the range of QScreen::orientation() was
defined by the enum, such as the paintedwindow example.

The listener now ignores the two unsupported orientations, which leaves
us at the previous orientation. For the conversion function, we still
have to support all UIDeviceOrientations, so we fall back to portrait
for the two unsupported orientations. In the future we should consider
caching the previous value explicitly, or fall back to the interface
orientation.

Change-Id: Ic19d0ce86b4ddea250ea927d5e8664396b2b68fd
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-04-30 23:30:56 +02:00
Tor Arne Vestbø
02e406ac50 iOS: Don't pretend like our OpenGL context is single-buffered
Internally iOS double-buffers its rendering using copy instead of flipping,
so we reported that our context was single-buffered so that clients could
take advantage of the unchanged buffer. This failed when clients (such as
Qt itself) then assumed that calling swapBufferes() was not needed.

We now properly report that we're double-buffered, and we'll have to find
another way to report the way double-buffering works if that's still an
optimization we'd like to provide to clients.

Change-Id: Id2e4faa68ed3b837ad01d6f22b2927fc9c9769c2
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-04-30 23:30:52 +02:00
Olivier Goffart
008aedc8d1 QAccessible::State is no longer an enum
Since 39a052c664, QAccessible::State is no
logner an enum that moc understand.

moc currently silently ignores it the Q_ENUMS

Change-Id: Iecc30ad57055fc9ccaa33e9e9c400d96997d0902
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-04-30 22:53:48 +02:00
Gabriel de Dietrich
c904860669 Cocoa: Port QCocoaTheme::fileIconPixmap() to Cocoa
Task-number: QTBUG-30907
Change-Id: Ie460db63413ab9c8e0fb5fb85af907e1c7f12759
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2013-04-30 19:23:05 +02:00
Thiago Macieira
08ac38a6e3 Make QLocalePrivate POD
QSharedDataPointer does not actually need a class derived from
QSharedData. All it needs is a member called "ref".

Change-Id: I2f7fe4cc143478ef7ef64681eada16e2d4c2e63a
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-04-30 17:21:21 +02:00
Thiago Macieira
50ab31a5df QLocalePrivate: remove QLocalePrivate::m_index
It's not used anywhere, so we don't need to cache the locale data
index. We already have the pointer to the QLocaleData anyway.

This saves us a few roundtrips calculating the index from the data
pointer only to get the data pointer again.

Change-Id: I6905d20a382ddcb9fb04cc886a17499b467f905a
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-04-30 17:21:21 +02:00