Commit Graph

9923 Commits (02afd94ef4c1913735bd650ca93279cfb00dc534)

Author SHA1 Message Date
Thiago Macieira 50d3a2917e Fix Q_GLOBAL_STATIC support for exceptions
The problem was that the HolderBase destructor was getting called after
the contained type's constructor threw an exception, as is required by
RAII semantics (the base was fully initialized, so it had to be
destroyed). That was required because we want to return a non-null
pointer from operator() during destruction and return null after
destruction, to keep compatibility with Qt 4.

The solution is to only set the guard to Destroyed only if it is already
at value Initialized. This way, if the HolderBase destructor is run as
part of the stack unwinding, it knows that the construction did not
complete.

Change-Id: I9849b43ed7112bf9e70861b48a56a924c286617e
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-02-28 23:43:46 +01:00
Matt Fischer c82b0815ec Fixed -dbus-linked when cross-compiling from Windows
Since Windows doesn't have pkg-config, it doesn't get -ldbus-1
added to the command line automatically like Linux does.  Code
was present to deal with this case, however it was only configured
to work when native-compiling Qt.  The flag was not added when
cross-compiling, meaning that -dbus-linked did not work correctly
in that case.  This patch changes the code to add the flag properly
in both cases.

Change-Id: I67881643bd658161f4929f3932859ccf636ca7a9
Task-number: QTBUG-29984
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-28 21:28:34 +01:00
Olivier Goffart 84a1493b50 doc: remove link to obsolete doc
Change-Id: Ie1a48a821764978a28e274c7eb52ee02aef391a6
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-02-28 19:28:46 +01:00
Tor Arne Vestbø 0520631b2b Merge "Merge branch 'ios' into dev" into refs/staging/dev 2013-02-28 19:22:05 +01:00
Rafael Roquetto 439002cdde BlackBerry: handle window state navigator events
Change-Id: I925b1c53c5e251111469501056ee162a23e36faf
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-02-28 19:22:05 +01:00
Olivier Goffart ab59a7ef09 Add private API to connect to slots in QObjectPrivate
Change-Id: I16ffbf91ff4c6e9fca6fe7984800d2c24e70701b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-28 19:22:05 +01:00
Rafael Roquetto 9fbecf11c7 QNX: QQnxCursor implementation.
Implementation of QQnxCursor, a QPlatformCursor subclass. Due to the lack of a
proper cursor API from the underlying OS, this class only caches the current
cursor position to make sure that the QCursor class works properly.

This is a backport of 290ed7f8fa.
At the time there weren't any known bugs regarding this, so it was committed
to "dev" branch as a feature.

Now we needed it in "stable", otherwise menus don't work correctly, due to
QCursor::pos() being bogus.

Change-Id: I5a4217c92a0aaed0b22b45ca3c4e0fad882e810f
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-02-28 17:31:12 +01:00
Sean Harmer 40192d6814 OpenGL: Add QOpenGLVertexArrayObject class
This class makes it much simpler to manage OpenGL state relating to
vertex data (i.e. vertex buffer objects, vertex attribute divisors,
index buffer objects, vertex buffer formats).

Change-Id: I9fb932cc3f0691ec9ba065bf871e43cd2e369bad
Reviewed-by: James Turner <james.turner@kdab.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-02-28 17:11:40 +01:00
Sean Harmer 2c8c0cb33a OpenGL: Reinstate support for OpenGL geometry shaders
Unlike QGLShader, this requires the OpenGL 3.2 core implementation
of geometry shaders to keep the API simple.

Change-Id: Icb07f430c4c5b5d950bcf6f7119becec4cfaad8a
Reviewed-by: James Turner <james.turner@kdab.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-02-28 17:11:28 +01:00
Eskil Abrahamsen Blomfeldt 05a61de622 Allow flushing window system events from other thread
For platform plugins such as the Android plugin, we need to
make sure an event is delivered and handled before continuing
execution (e.g. when doing an expose event to report that the
EGL surface has been destroyed when the app goes into the
background.)

Change-Id: Ibd381baafa93f111dbc887d4cf9d9ca37429b186
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-02-28 17:11:02 +01:00
Eskil Abrahamsen Blomfeldt dedec0b305 EGLFS: Enablers for Android plugin
These are some changes that are needed to make the Android
plugin as a subclass of the EGLFS plugin.

Change-Id: I7c77931f311d8a07f9292715d2abc256c5d552d8
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-02-28 17:10:55 +01:00
Frederik Gladhorn be3fb9afe5 Merge remote-tracking branch 'origin/release' into stable
Change-Id: I6b49d5e1c31599b5aa4940b798533b17e58616bf
2013-02-28 16:49:06 +01:00
J-P Nurmi 55cf7c577d Fix QCommonStyle::drawControl(CE_ShapedFrame) for QFrame::H/VLine
Respect QStyleOption::rect, do not expect Y to be 0.

Task-number: QTBUG-29926
Change-Id: I6304d20f629f89774c897d2c81c2c7816dff4718
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-02-28 15:24:56 +01:00
Friedemann Kleint 42507173bd Fix automatic hiding/restoring of transient children.
Task-number: QTBUG-28408

Change-Id: I31382c4edc213961dfb132af3bf5202e178e7a57
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-02-28 10:36:22 +01:00
Fawzi Mohamed a243251091 qcocamenubar: force update after destructor
Task-number: QTCREATORBUG-8785
Change-Id: I1e782cab36f4fea331561f016ea67a73deb63c37
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-28 10:36:22 +01:00
Israel Lins f4d7b4d10f PSQL: lastInsertId without OID on table
Make lastInsertID work for tables without OIDs.
The use of OID in tables is now deprecated in PostgeSQL and
lastval() is now provided.

http://www.postgresql.org/docs/8.1/interactive/runtime-config-compatible.html#GUC-DEFAULT-WITH-OIDS

Change-Id: I01dfdd7a2aab8826487657f691fea3c9268c16b2
Reviewed-by: Israel Lins Albuquerque <israelins85@yahoo.com.br>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-02-28 10:04:46 +01:00
Peter Kümmel 1a8f67938c Fix CreateFileMapping() error handling
CreateFileMapping() returns NULL in case of an error.
The patch corrects the wrong testing on INVALID_HANDLE_VALUE, and sets
NULL for invalid handles.

Change-Id: Iaab4945ed88ee92bbf9a0871e95a5820dd1a56ed
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-02-28 08:16:03 +01:00
Friedemann Kleint f3f6074355 Document MSVC-restrictions regarding QStringLiteral.
Task-number: QTBUG-28885

Change-Id: I02eed2b27970ec31479a6c80fbe4c336431e13de
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-02-28 01:06:43 +01:00
Richard Moe Gustavsen 9b05f675e3 QFusionStyle: Fix crash on iOS
First of all, the ifdef section was meant for osx, and not ios.
Second, a platform theme does not necessarily need to override the
palette function, which will return 0 by default.

Change-Id: I5a28f4ee1020c9253d0803c9d962c6a058e5358c
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-02-27 23:56:12 +01:00
Richard Moe Gustavsen 75a7dc7a57 iOS: Remove debug output noise
This debug information is not needed anymore, and only causes noise
when trying to debug other stuff.

Change-Id: I076826e251b84a3883e63aa7669f6e1bb55a0d1f
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:56:11 +01:00
Richard Moe Gustavsen 76e4b6d2f2 iOS: Add QIOSIntegration::hasCapability function
Add the missing override, and report that we support
OpenGL (and multiple windows).

Change-Id: If95138cab9099b547d12d3dfed008bd63b6d2acf
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:56:11 +01:00
Morten Johan Sørvig aa5528b050 iOS: Implement socket notifiers.
Create the QCFSocketNotifier class in platform support
which contains shared socket notifier support for
the Cocoa and iOS plugins. Remove the old code from
the Cocoa plugin.

The Cocoa code had one QCocoaEventDispatcher-specific
call: maybeCancelWaitForMoreEvents. Create a forwarding
function that is passed to QCFSocketNotifier.

Change-Id: Ibf9bd4745ba4f577a55f13d0cc00f5ae04447405
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:56:10 +01:00
Tor Arne Vestbø 0c1ae5f866 iOS: Add potentially undefined version defines to qsystemdetection.h
Unless we're building on the 6.1 SDK some of the version defines will
not be defined in Availability.h, so we define them ourselves so that
Qt can still use them.

Change-Id: Ibb45e9f8f4e888fc57e35286bf15d2fee2c1a217
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-02-27 23:56:10 +01:00
Morten Johan Sørvig fecc155408 iOS: Enable autorotate on startup.
The qobject_cast to QGuiAppplication will always
fail at startup since QGuiApplication is not ready
yet.

Return YES in that case. Allowed orientations can then
be controlled by setting "Supported Interface Orientations"
in Xcode or the Info.plist file.

Change-Id: Ifd86bbcedabc716e63563bbb7cb0c1c6833fd6c7
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:56:10 +01:00
Morten Johan Sørvig c75bc5b532 iOS: Don't crash on landscape mode startup
fromPortraitToPrimary is called from the QIOSScreen
constructor. This is probably to early to call QGuiApplication
functions.

Change-Id: I882304fd641df13dc530491990245ba9ad495377
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:56:09 +01:00
Morten Johan Sørvig 11d50be6dd iOS: Set touch point position in screen coords.
Previously the position was set in window coordinates,
which would break for non-fullscreen windows.

Change-Id: Iefa2f590c6d62b09fc3e7fe60a882c1acd33e029
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:56:09 +01:00
Richard Moe Gustavsen 3eeb388b42 iOS: Skip flushing child windows in QIOSBackingStore
We skip flushing raster-based child windows, to avoid the extra cost
of copying from the parent FBO into the child FBO. Since the child
is already drawn inside the parent FBO, it will become visible when
flushing the parent. The only case we end up not supporting is if the
child window overlaps a sibling window that's draws using a separate
QOpenGLContext.

Change-Id: Ib10414f4494747e5fe67f84b06575fe16ffddf96
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:56:09 +01:00
Richard Moe Gustavsen 029029fa97 iOS: QIOSWindow::setParent()
Change-Id: I1a413d898d10b55a4d0653eae719f5bd909a01ec
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:56:08 +01:00
Richard Moe Gustavsen 4993d3ed6b iOS: implement QIOSWindow::winId()
Change-Id: I3dd7accae43bcf7d4d6dfd8b272ab65d67bd935c
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:56:08 +01:00
Morten Johan Sørvig 60685407c2 iOS: Enable retina resolution for styles
The QStyle code uses the global qApp->devicePixelRatio(),
which queries the screen, not the window.

Implement QIOSScreen::devicePixelRatio().

Change-Id: I0091e5793f8d07ab7a46b6de443edd9457dcff85
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:56:07 +01:00
Richard Moe Gustavsen 58415530aa iOS: avoid activating modally blocked windows
Make sure that the user cannot activate a window
that is modally shaddowed.

Change-Id: Ib92be319d017460bbc1ef63ad7556cb4758dfa6c
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:56:06 +01:00
Richard Moe Gustavsen 38e6d5a915 iOS: add QIOSWindow::windowLevel() to simplify window stacking
When adding modal windows into the mix, raiseOrLower became
even more messy to write. So do it the usual way instead, and
add a windowLevel variable to each QIOSWindow that we
can sort on. The code becomes more readable, and we can handle
more window types correctly.

Change-Id: I348352473a7d8cf9909c17c1b074b2fe3fab9819
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:56:06 +01:00
Morten Johan Sørvig f2c52d6560 iOS: Implement touch events.
Track touch events during the standard [Began -> Moved
-> Ended] event sequence based on the UITouch pointer
which stays constant.

Enable multiTouch on Qt's UIView.

Mouse events should now be automatically created
from (unhanded) touch events by QGuiApplication.

Reviewed by: Ada Sørvig (fingerpaint app approved)
Change-Id: I2aeb48c962c697d8b8337f8ceab062070c2a4240
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:56:06 +01:00
Richard Moe Gustavsen 0a9a4e826f iOS: let first responder follow the view of the focus window
This to ensure that the keyboard does not close prematurly.
This can happen if the user opens up the keyboard while typing
inside one window, then switch window, continue typing while
the other window gets deleted.

Change-Id: I5cfb1673ccbe4d5aaa14167b7aa53451031089a1
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:56:05 +01:00
Richard Moe Gustavsen 73e8796603 iOS: implement QPlatformWindow::requestActivateWindow()
Dispite the name, 'requestActivateWindow' means raise and transfer
focus to the window.

Change-Id: Ib97321ed7ec8da90e924ff8155a95896c12160c9
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:56:05 +01:00
Richard Moe Gustavsen e83bed82c1 iOS: raise windows that becomes visible
When a QWindow becomes visible, it should move to front and
be active.

Change-Id: Icab12c6031c0cc8d791e4f8cc49b9c2d5c73100d
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:56:04 +01:00
Richard Moe Gustavsen 355f064ec9 iOS: implement QPlatformWindow::raise() and lower()
Probably not going to be the most used functions on iOS, but
implemented to support old widget apps out of the box. The
implementation stacks both staysOnTop and popup windows on
the same level for simplicity, since iOS does not have a
concept of z-ordering UIViews (UILayer has z-order, but layers
belong in a different hierarchy, and cannot be used in this
respect).

Change-Id: Idd68e5ceea7d4eaeb3066486c47400930cebb1b0
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:56:04 +01:00
Tor Arne Vestbø 7150e8f51f iOS: Use 72 DPI for font size conversion
This matches how UIKit behaves

Change-Id: I13fd2578cac84e57b6be29c42ddee414b7ee9cb9
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:56:04 +01:00
Richard Moe Gustavsen 16e8eca362 iOS: transfer focus to the window touched
Since our QWindows are UIViews rather than UIWindows, we need to
implement window activation manually. This patch will ensure that
the window touched by the user also gets keyboard focus.

Change-Id: I9390c5c8e50a4b066cd1320a2a044e02f2a9f75d
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:56:03 +01:00
Tor Arne Vestbø 847ac6008c iOS: Move handling of FBOs to QIOSContext instead of QIOSWindow
The lifetime of an FBO is tied to its context, so letting each window
manage its own FBO failed when the window tried to delete the FBO
at destruction time without the proper context being current, or
even available anymore.

We solve this by moving all handling of FBOs to the context itself,
which is fine as we're exposing the necessary bits from the window
to allocate storage based on its layer.

Change-Id: I8c7c96cf63d6b667527c816f10ac2f4ff6a05e0c
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:56:03 +01:00
Tor Arne Vestbø 157d690b8c iOS: Don't build qiosviewcontroller.mm into qtmain plugin
It's already built as part of the iOS platform plugin.

Change-Id: I5a97e8723b566b9ef15aafce374be35f01e6cf08
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:56:02 +01:00
Tor Arne Vestbø c77d3d78e4 iOS: Move debug background color setting and guard for release builds
Change-Id: Ie9131c3dfe16045805b37bf8af9381f4f9929da6
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:56:02 +01:00
Tor Arne Vestbø 8a854ea804 iOS: Don't init our own base view for the root viewcontroller
This is handled automatically by the default implementation.

Change-Id: Ia9bd0143490e6f2507ede03f3654a2b0b00e3e3d
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:56:02 +01:00
Tor Arne Vestbø 78fec3372a iOS: Auto-release the UIWindow and root view-controller
They are retained properties.

Change-Id: Id1808d93fe30950fc05e41375f00183e098bff0b
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:56:01 +01:00
Tor Arne Vestbø b05c20b4f3 iOS: Don't check for existing window in QIOSMainWrapperApplicationDelegate
The delegate is only used when we control the application, so we know
that there isn't any window yet.

Change-Id: Ibd774cb4fd8ceaab6a181769d2792b569f490495
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:56:01 +01:00
Tor Arne Vestbø e30659aaf5 iOS: Fix style nitpicks
Change-Id: I670567f1793b5548393a3b315650bf34a0a3880e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-02-27 23:56:01 +01:00
Richard Moe Gustavsen 25ce3a021b iOS: make QWindow views hidden by default
Qt will tell us when the window should be visible. Showing all
windows by default makes e.g the desktop widget visible as
well, which causes problems with activation of windows.

Change-Id: Ibf2283bc5f009df7ff23126f4dd04ec898141720
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:56:00 +01:00
Richard Moe Gustavsen 9acae5ce0b iOS: clean-up header includes
Try to keep qiosglobal.h free from unnecessary includes, since its
typically included from many different locations.

Change-Id: I6638bcaef1189b3eee3dbd5f744c15f8f7858d71
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:56:00 +01:00
Richard Moe Gustavsen 1ff571142d iOS: activate next window when active window hides
Since the OS does not handle window management for us, we need
to handle this ourselves. So when a QWindow is closed or hidden, we
transfer activation to the top-most visible window. This will fix
application unresponsive after closing a dialog.

Change-Id: I83f836ebafa71edca5ab5ae3a2bdba7cd1decbc1
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:59 +01:00
Richard Moe Gustavsen 646b1fd2b6 iOS: add UIView category to get the QWindow it represents
Adding a simple way to get the QWindow pointer from any UIView
makes writing code where you only have UIView pointers a bit easier.

Perhaps we should also investigate if it is worthwhile to make
this category public to the application, to further enhance
working in a mixed environment.

Change-Id: Ic263003dc7683a8d976024cbbbc2558e8472a790
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:59 +01:00
Richard Moe Gustavsen bbb8db9bdb iOS: make EAGLView private in QIOSWindow
Not the biggest gain, but since all the members of EAGLView are
declared private, we might as well move the whole interface into
the source file. We can then make the members public without
caring about interface readability. We will make use of this in
a following patch.

Change-Id: I144fb5748573ca6faf257d72597907b5c17b1e05
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:58 +01:00
Richard Moe Gustavsen 2dea9fdc3a iOS: add convenience function to get to the root QIOSViewController
It seems that we need to access our view controller from many
places, and the syntax to do so is tricky to remember. So lets
just add it to our global functions, with the added bonus of a
using a little cache.

Note: many of these functions could be made inline, but since one
concern of the plugin will be the end size of the app, I prefer
to trade size for speed at this point. We can always change this
later.

Change-Id: I578ea9ae8218d23d635b7728a930763ca53c4eaa
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:58 +01:00
Richard Moe Gustavsen cbdd73d25d iOS: bugfix portraitToPrimary global function
QScreen geometry and orientation is updated a bit after we
change geometry in QPlatformScreen, which this time was enough to
break availableGeometry. Since this function is for internal use, we
let it be based on internal data.

Change-Id: I7701b0a6043839c89c01e87242decb8a739d00f1
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:57 +01:00
Richard Moe Gustavsen 5b452a5022 iOS: update primary orientation when the rotation starts
We need to update primary orientation when the rotation starts, and
not when it ends, so that we are in sync with the resize that happens
to the backingstore upon layoutSubviews.

Change-Id: I466a2d135e6c15550c6207c9659871629d748b73
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:57 +01:00
Richard Moe Gustavsen 31796ca8ab iOS: report changes to keyboard rect back to Qt
QInputContext expects us to report whenever the
input panel changes geometry. This patch implements
this.

Change-Id: I9162f0d48da6925274a7489c9bcb6adab9afae82
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:57 +01:00
Richard Moe Gustavsen b960424195 iOS: add global function 'isQtApplication'
Several places in the code we need to check if the plugin is
running as a cross-platform Qt application or inside a
native app. So we refactor this function to qiosglobal so
we can access it from everywhere.

Change-Id: I78db0dcde71b7d281868ce304867c8f876caef2a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:56 +01:00
Richard Moe Gustavsen 5abe9aa435 iOS: refactor general convenience functions into new file 'qiosglobal'
Some functions are needed across several files and classes. Lets
place them in a common file for all to use.

Change-Id: I5f9b578f948d66d10e57a835b80b5c493e07fb4c
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:56 +01:00
Richard Moe Gustavsen 54448b2f9f iOS: remove warning from unused function in QIOSEventDispatcher
From the documentation for QAbstractEventDispatcher::flush(), this
function does only make sense for X11.

Change-Id: I7f445b67b283f60c9a30ac00837beb44e8205d8b
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-02-27 23:55:55 +01:00
Morten Johan Sorvig a593de41ed iOS: Retina display support.
Scale the OpenGL paint device size and physical dpi
by the device pixel ratio.

Change-Id: I8b576f23129aafc47371795151c548663e94ad52
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:55 +01:00
Richard Moe Gustavsen d665ba2a94 iOS: let QIOSScreen use correct orientation at startup
When QScreen is created, we need to check if the application
is already in landscape.

Change-Id: I653c622154a5c23ec93e89ec3e80fefb6b1f1bdd
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:55 +01:00
Richard Moe Gustavsen 70774d021a iOS: refactor QIOSOrientationListener into QIOSScreen
Clean up a bit. The orientation conversion functions belongs to
QIOSScreen more than QIOSOrientationListener. And rename them in
the same go to follow toQRect/fromQRect standard.
The orientation listener itself is tightly coupled to QIOSScreen, and
does not make much sense on its own, so move it into QIOSScreen to
follow the same patteren already implemented for QIOSInputContext.

Change-Id: I8b6b4d08a42349b4232749d59d46748297083536
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:54 +01:00
Tor Arne Vestbø d5d3f5ea8e iOS: let QIOSScreen change geometry according to interface rotation
Qt expects the screen to change geometry when the "desktop" rotates.
On iOS, we interpret this as when the root view controller changes
orientation, since after all, this is the surface we place QWindows
on top of.

Change-Id: Ia00e68c8f9f0a65aefcc60518ee544fb260d4595
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:55:54 +01:00
Tor Arne Vestbø 70b21ec3c1 iOS: Make default system font Helvetica
Without a platform theme implementatin we were relying on
QCoreTextFontDatabase::defaultFont() to return the system font.

This didn't work because it reported the system font that iOS reports,
'.Helvetica Neue UI', which is a private font that does not get added
to our font database. The result was that we picked the first font in
the list of known fonts -- in this case 'Academy Engraved LET'.

We now implement QIOSTheme::font(), which takes precedence over the
font database's default font, and hard-code the system font to
'Helvetica', since Qt does not yet have the concept of private
system fonts.

Change-Id: I901cf9c2b662ea2795212376b84b8391be2efbbe
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:55:54 +01:00
Tor Arne Vestbø 72c1ada86f iOS: Make fusion style the default style on iOS, not the windows style
Change-Id: I81b6049ff666bf23ac58d60e10d7c3d8713a19ea
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:55:53 +01:00
Richard Moe Gustavsen c558c5c1b8 iOS: add class QIOSInputContext (to handle keyboard)
This change will add an initial implementation of the
QPlatformInputContext for dealing with the keyboard.

Change-Id: I29c1cfbbebb8456977b8a1db0e966973cd2c24a5
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:53 +01:00
Richard Moe Gustavsen 60294e0aa3 iOS: implement in QIOSWindow::setVisible
When QWindow is told to show/hide, we need to show/hide the
backing UIView as well, otherwise the window will still be
visible on screen.

Change-Id: I806fdd8bb4afacbbc1c9c7381ba0a31195ee04ac
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:52 +01:00
Richard Moe Gustavsen d07bd1b22f iOS: remove the view from the view hierarchy upon destruction
We need to remove the view that backs QWindow when the window
is destroyed. Otherwise the view will still be visible on screen,
but now with a dangling QWindow pointer. This fixes a crash that
happens when closing dialogs.

Change-Id: I9053c83c6db80a39f4f71a63993cc7ae73fc4196
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:52 +01:00
Tor Arne Vestbø 509697adc3 iOS: Remove unnecessary const-trickery when passing QIOSContext to the window
Change-Id: I56b3873342c1572ea6a651027e8f1a684cbe2a5a
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:55:51 +01:00
Tor Arne Vestbø 31a76b978b iOS: Enable auto-rotation if no orientation update-mask has been set
This is an intermediate heuristic until we have a proper API in Qt to
deal with auto-rotation and orientation locking.

Change-Id: I433992fa1c18d1670987f79e405a4501b6e5d365
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:55:51 +01:00
Tor Arne Vestbø 2196518709 iOS: Update GL render buffers when the accociated window is resized
We keep track of the with and height of the FBO's buffers, and update
their storage if the window size has changed since last time.

Change-Id: I97788b69e7067a5b5b9f28e8498cf1bc5d2cf6ea
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:55:51 +01:00
Tor Arne Vestbø d059866eb4 iOS: Keep QIOSBackingStore's paint device size in sync with the window
Treating the paint-device as a thing wrapper around the OpenGL paint engine
failed when the window was resized, as the paint engine would clip the
drawing to the old size. We need to update the size in beginPaint.

QBackingStore resize still behaves like before, and we emit a warning if
the user tries to resize the backing-store to some other size than the
window size, as that's not a supported use-case for our iOS backing store.

Change-Id: I1a0eeb65fa9db8b5538dc69963d6fc84be6e63f1
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:55:50 +01:00
Tor Arne Vestbø 8dde67fcd3 iOS: Create QIOSBackingStore paint device lazily in paintDevice()
Instead of constructor.

Change-Id: I98cddd3f39add3e6f787c858b4d629325cc0f852
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:55:50 +01:00
Richard Moe Gustavsen a1c9f56552 iOS: update QPlatformWindow::geometry() when UIView changes size
It turns out that QWindow::geometry needs to be updated manually
by the platform plugin, and not indirectly trough
QWindowSystemInterface::handleGeometryChange as first assumed.
We now always report the _actual_ geometry of the UIView (which
also takes the status bar into account) to QWindow, and remember
the _requested_ geometry of the window to use whenever the state
of the window changes.

Change-Id: Iea940173d26fb6af701234379cae914215dae984
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:50 +01:00
Richard Moe Gustavsen b1cfa62ff4 iOS: let fullscreen geometry take orientation into account
Since UIScreen is orientation agnostic, we need to look at the
view of the top level view controller instead to determine
available geometry.

Change-Id: I3789ab7972a9970e46fbc8af81f2b7199e5ca5d1
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:49 +01:00
Richard Moe Gustavsen 0d9a50380c iOS: when in fullscreen, autoresize the view when the device rotates
Tell the view that backs QWindow to autoresize itself when
the superview (view of the root view controller) changes size.
This will typically happen when the device changes orientation.

Change-Id: Ib7c4dff9112d57f60012d3f0837677e09088bcaf
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:49 +01:00
Richard Moe Gustavsen 2d4e96352a iOS: one 'transform' warning per window is sufficient
The layoutSubviews function will be called when the geometry
changes, and we will catch the transform issue there for
both UC1 and UC2

Change-Id: I29578bbc5b3091c86fbe69c7095ff280a64be458
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:49 +01:00
Richard Moe Gustavsen 3a59fc4c97 iOS: when in fullscreen, dont respond to geometry changes
When QWindow is told to be in fullscreen, we should not
respond to geometry changes. Instead we should bookkeep
the requested geometry and set it when/if the window
enters Qt::WindowNoState later.

Change-Id: Ieaf4756b2a966212c8e1738af9df175a58786a75
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:48 +01:00
Tor Arne Vestbø 189503933a iOS: Enable the ShowIsFullScreen style-hint so that show() implies fullscreen
We may need to qualify this setting for UC2, so that the user may still
create windows as sub-controls of a regular iOS user interface, but for
UC1 it makes sense.

Change-Id: I1a7019f901fabed8b5b9cbb18a929913780e6595
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-02-27 23:55:48 +01:00
Tor Arne Vestbø 599c7a5ab9 iOS: Set initial window state on window creation
When showing a QWindow the window state is set first, and then the window
is made visible. The latter is the step that creates the platform window,
so we need to pick up the already set window state in our constructor
and respect that.

Change-Id: I54fe6c4ebcd3c9504614d2d48bd21f0d76adf3b7
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:55:47 +01:00
Tor Arne Vestbø 5d878cae1d iOS: Remove requestWindowOrientation from QIOSWindow
The API is scheduled to be removed in qtbase in time for Qt 5.0.

Change-Id: Ie34d6cb79fcd81b0ce02892529e3e7184ddfa096
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:55:47 +01:00
Morten Johan Sørvig ad4cf5068c iOS: Don't recreate paint device on beginPaint()
This causes painting errors. Use one lazily-created
device that is used for the lifetime of the backing
store.

Change-Id: Ib36b6f1d6c9f958304dc8403cf17e5d71136469a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:47 +01:00
Richard Moe Gustavsen 7f7d752012 iOS: use 'self' rather than 'super' pointer in initWithQIOSWindow
If we use super, our own initWithFrame override will never be
called.

Change-Id: I606beb653239cdfc46f41db4ec0791dfa5d4edea
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:46 +01:00
Richard Moe Gustavsen 55f0bce094 iOS: implement requestWindowOrientation
The application is normally supposed to rotate the content on its
own, but can call requestWindowOrientation to ask the window
manager to do it instead. This way of integrating orientation with
the OS is fragile, because:
1. In some cases, you cannot stop the OS from rotating at all
    (tablets).
2. It would be more safe to inform the window manager up-front
    which orientations it could rotate into, rather that relying
    on a function you call call to force this later on.
3. When the QML application starts, its a bit late to inform
    the platform plugin that it supports e.g landscape. If the
    OS is in landscape already, the plugin must still assume that
    the app operates in portrait (doing rotating on its own) until
    requestWindowOrientation is called. This might cause the app
    to first start up in portrait, just to rotate into landscape.

On iOS, it seems like we can handle the first two cases. The third
need some more investigation. We should anyway investigate if we
need some adjustment to the Qt API.

Change-Id: I50638b78d469ab70820a787de86a2f1981470786
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:46 +01:00
Richard Moe Gustavsen 575d28a6fd iOS: handle content orientation feedback from application
Change-Id: I2bfb4ee4840086dcd3ec85c2ee7e8769e76d2700
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:46 +01:00
Richard Moe Gustavsen fa731cddd1 iOS: add QIOSViewController
We need our own viewcontroller to better control which
orientations iOS can enter, and also ito be able to
stop auto-rotation.

We stop auto-rotation to happend by default, since this is
how Qt wants it (it is seen as the responsibility of the
application).

Change-Id: Id07a96e355396752fffd28984af528aeb0b7c3e3
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:45 +01:00
Richard Moe Gustavsen 72f66a8ee5 iOS: add function convertToUIOrientation
Change-Id: I6145121d49eb3f5bab3f2a1ba57c779ec0b01023
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:45 +01:00
Richard Moe Gustavsen 92252bcb93 iOS: let QIOSScreen start/stop listening for device orientation
From the qpa docs, we only need to listen for device orientation
if orientationUpdateMask is non-zero

Change-Id: Id5e828cdff9a08794c8a029e11763cc037e1b959
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:45 +01:00
Richard Moe Gustavsen b3eccb0c15 iOS: add QIOSOrientationListener
QIOSScreen will use this to listen for orientation
changes from UIDevice.

Change-Id: I5a30f3808f8b9b885303608ce2fc1316c962898b
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:44 +01:00
Richard Moe Gustavsen 9d2e623451 iOS: insert Digia license headers
Remove Nokia.

Change-Id: Iec7095ef4e3099453b6103814e826039b377ecce
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:44 +01:00
Tor Arne Vestbø f124e098ce iOS: Set PLUGIN_TYPE = platforms before loading(qt_plugins)
This takes care of setting INSTALLS for us, so we can skip that.

Change-Id: I351cb9ec08b632fd9867d85e2c5fa59d8e5acc9d
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:55:43 +01:00
Tor Arne Vestbø d8b3465dd3 iOS: Don't use IOKit in QTestLib, it's a private framework on iOS
Change-Id: I271a480b79c7768942911a28c84d6bb5a8d840d3
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:55:43 +01:00
Tor Arne Vestbø e71ca36161 iOS: Ensure UIApplicationMain is started before QApplication by wrapping main()
For the typical Qt app the developer will have an existing main() that
looks something like:

int main(int argc, char *argv[])
{
    QGuiApplication app(argc, argv);

    return app.exec();
}

To support this, we provide our own 'main' function in the
qtmain static library that we link into the application, which calls
UIApplicationMain and redirects to the 'main' function of the application
after the event loop has started spinning. For this to work, the applications
'main' function needs to manually be renamed 'qt_main' for now. In a later
patch, this renaming will happen automatically by redefining main from either a
header file, or more likely, from the Makefile created by qmake.

For the case of an iOS developer wanting to use Qt in their existing app
the main will look something like:

int main(int argc, char *argv[])
{
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}

This is supported right now by just linking in libqios.a without libqiosmain.a.
QGuiApplication should then be created e.g inside the native apps application
delegate (but QGuiApplication::exec should not be called).

In the future, we plan to but use a wrapper library that
brings in all the Qt dependencies into one single static library. This library will
not link against qtmain, so there won't be a symbol clash if the -ObjC linker option
is used. We should then add the required magic to the future Objective-C convenience
wrapper for QML to bring up a QGuiApplication, which would allow using Qt from
storyboards and NIBs. This would also be the place to inject our own
application delegate into the mix, while proxying the delegate callbacks
to the user's application delegate.

Change-Id: Iba5ade114b27216be8285f36100fd735a08b9d59
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:55:42 +01:00
Tor Arne Vestbø 3241f37711 iOS: Implement QPlatformWindow::setWindowState()
In both maximized and fullscreen modes we assume that we can use the
availableGeometry() of the QScreen, but of course this depends on us
showing or hiding the statusbar first, as well as QScreen actually
returning the right availableGeometry when the statusbar is shown.
The latter is not the case right now, as we initialize QScreen before
UIApplication has been set up and UIScreen has had a chance to init
itself based on the precense of a statusbar or not.

Change-Id: Id44dee3550f7135ffe2852b377bb6c7b6d522d68
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:55:42 +01:00
Tor Arne Vestbø e123056c47 iOS: Implement QIOSWindow::setGeometry() and pick up UIView geometry changes
The best way to pick up geometry changes of the UIView seems to be to override
layoutSubviews(), but that will only be called if the size of the UIView
changes, not when the position (center) changes. This means that the position
reflected by the QWindow will not always be in sync with the position of the
native UIView. Fortunately the position of a QWindow is not used for anything
critical in Qt itself.

Another issue is that the frame property of a UIView is only valid if the
transform of the UIView is set to the identity transform. We try to catch
cases where this is not the case, and warn the user about this. We could
in theory react to changes in the UIView geometry by only updating the
size, since this is also reflected through the bounds property of the
UIView. This is left for when we know more about how these things
interact in practice.

Change-Id: I079162c059d377a77569fe3974e261d2e0671fd5
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:55:42 +01:00
Tor Arne Vestbø 3d81b43aa4 iOS: Implement QPlatformScreen::availableGeometry()
This will sadly not work as expected until we've found a way to kick
off the iOS event loop before QApplication is initialized, as UIScreen
does not seem to report the correct applicationFrame (taking the status
bar into account) until after the UIApplication has been set up by
UIApplicationMain().

Change-Id: I0eaa3b8bca4129d1c4183a202ad2ecd0d8bc52d0
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:55:41 +01:00
Morten Johan Sorvig 8d7238f57e iOS: Use default createPlatformPixmap implementation
No need to implement this one, the standard implementation
creates a raster pixmap.

Change-Id: I9bb25188bd95159d76e760b2be6870e0bede7b56
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:55:41 +01:00
Richard Moe Gustavsen e936561a16 iOS: Add Q_IMPORT_PLUGIN(QIOSIntegrationPlugin) into the plugin itself
Since the plugin will always be linked in statically, we add this
necessary registration code into the plugin itself rather than
putting this burden onto the client application.

Change-Id: I8691d8080e41bdf0644bb960b5c7102e79a0f0d5
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:41 +01:00
Tor Arne Vestbø 3bc6d7470a iOS: Pass QWindow geometry to initWithFrame on window creation
Allows the optimal pattern of setting the geometry of the QWindow
before showing (and hence creating) it.

Change-Id: I29206b5d9a70df0b01e8df8f7df8f35cced51121
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:55:40 +01:00
Tor Arne Vestbø 231796c98d iOS: Set background color of UIWindow and root UIView to burn your eyes
Convenient to aid debugging during development of the platform plugin.

Change-Id: Id429ca95e0452385ee8def1fe4a1bb7de175ba3e
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:55:40 +01:00
Tor Arne Vestbø caacccaaf0 iOS: Unset EAGL context if it's current when destroying QIOSContext
Change-Id: Ie0b27e6b0dafa2a7283b44d6676871fce15cc42a
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:55:39 +01:00
Richard Moe Gustavsen 6bbe89e2b8 iOS: support stand-alone qApp->processEvents calls
Rough implementation to support stand-alone processEvent calls. We
probably need to revisit this code to fix corner-cases later on.

Change-Id: I72d5639dab599b4d0017aaa52b922f4185a50337
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:39 +01:00
Richard Moe Gustavsen 0dbee6a5e1 iOS: send mouse events (from touch events) from EAGLView
Change-Id: Ia6c955f2c5bcde8e41d5908bfb8fd52bd449b3ec
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:39 +01:00
Richard Moe Gustavsen ea1e5ccd62 iOS: implement QEventLoop support in the event dispatcher
With this patch you can now expect the following code to work:

QEventLoop l;
QTimer::singleShot(1000, &l, SLOT(quit()));
l.exec();

Change-Id: Ic73e37affaadf8a859787d84ac02c15621ac7a29
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:38 +01:00
Richard Moe Gustavsen 19de726725 iOS: create top-level UIWindow and UIViewController
Create a UIWIndow with a view controller and a view
where we can reparent our QIOSWindow views inside.

Change-Id: Ic90707d3ebe1af970a3aa2aa0f8c0f4be192456a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:38 +01:00
Tor Arne Vestbø 09187f602c iOS: Implement QIOSBackingStore in terms of a QOpenGLPaintDevice
We build on top of the QPlatformOpenGLContext implementation to get
automatic support for QBackingStore-based painting. Since the OpenGL
renderer does not clear the backingstore between frames, we actually
also get support for partial updates, and we get the benefit of an
accelerated paint engine for Qt Quick 1 without setting a GLWidget
as the viewport, which would cause issues such as an extra QWindow.

This patch also removes the dependency to QtOpenGL and QtWidgets, which
were leftovers from the Qt4 platform plugin. In Qt5 the needed GL bits
are in QtGui.

Change-Id: Id9b736bfb2e4aec56c0fa9f5b7b4d8bff8e3d1dc
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:55:37 +01:00
Tor Arne Vestbø 3c4f48f9e2 iOS: Implement QPlatformOpenGLContext
The iOS platform GL context is an EAGLContext, which is wrapped by
the new class QIOSContext. The class takes care of makeCurrent()
and swapBuffers(), but defers framebuffer management to the
corresponding QIOSWindow.

At the moment only a single framebuffer is created, and changing the
geometry of the QWindow does not trigger any sort of invalidation of
the buffers.

The implementation assumes OpenGL ES2.x support. Though strictly
speaking we could support ES1 for QtGui, it serves little purpose
as Qt Quick 2 requires ES2.

This patch also disabled touch event synthesization until we have
figured out where we will maintain the connection to UIWindow.

QPlatformOpenGLContext::getProcAddress() for getting extensions is
implemented by using dlsym() to look up the symbol. This should not
present any issues for App Store deployment, like dlopen() would.

Change-Id: I166f800f3ecc0d180133c590465371ac1642b0ec
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:55:37 +01:00
Richard Moe Gustavsen ac8d906a3a iOS: support killing timers
Implement the remaining timer functions in the event dispatcher

Change-Id: Ie323962c898a2ee95ea60a8ca63b93cbd4544fd1
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:37 +01:00
Richard Moe Gustavsen 458382f35b iOS: call UIApplicationMain from event dispatcher, and add application delegate
This change will let you call QApplication::exec() instead of UiApplicationMain
from main. Also added an application delegate that we will need sooner
or later for catching application activation events.

Change-Id: I4edba5ce2059a804782d67c160755fc0e2e5267d
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:36 +01:00
Tor Arne Vestbø 05d0f60ebe iOS: Flesh out initial QPlatformScreen implementation
We check the device's model identifier to tweak the screen values based
on the precense of older iPhone/iPod touch models, or the iPad Mini.
This does not work when running under the simulator, which reports its
model identifier as the architecture of the host platform. There doesn't
appear to be any APIs to get the simulated device of the simulator, but
if this becomes an issue we can always look at the UIDevice model and
screen resolution and apply a few heuristics.

We do not update the screen geometry on orientation-changes. This matches
what UIScreen reports for bounds, but may not be the most intuitive solution
from a Qt perspective compared to the way other platform-plugins work.

Change-Id: I74783e053601de9ce805f8b52b944c116f9a1e3e
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-02-27 23:55:36 +01:00
Tor Arne Vestbø 44c3ef790e iOS: Fix build on case sensitive filesystems
Change-Id: Ic7a2b38ffcc2bd83e268c5caf5bec17006879969
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:55:36 +01:00
Richard Moe Gustavsen 407cf7341e iOS: QIOSEventDispatcher: implement timer support
Change-Id: I1966a64e6535f32005681db37b4fe5d89dafc70c
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:35 +01:00
Richard Moe Gustavsen 145abdc442 iOS: QIOSEventDispatcher: add runloop source for processing events
Change-Id: I6cd649a493dab9a982d71921f19d2a9252fc14b0
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 23:55:35 +01:00
Tor Arne Vestbø a685df0584 iOS: Add ability to get the UIView for a QWindow through QPlatformNativeInterface
Change-Id: Iab2742bbaa97ff345871ad07ef0162b12248506a
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:55:34 +01:00
Tor Arne Vestbø 422eed16eb iOS: Style nitpicking, rename m_fontDb to m_fontDatabase
Change-Id: I9d92843af9018d51b73fadcc7c20d792fad772fa
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:55:34 +01:00
Tor Arne Vestbø 5e85aa9ab4 iOS: Keep UIScreen* for current QIOSScreen instead of looking up each time
Also, add enum for screen numbers, for better code readability.

Change-Id: Id5162c34e80ff5efb149ae86b49f51df183d1c1d
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:55:34 +01:00
Tor Arne Vestbø 14e93f7e8e iOS: Add screen like other platform plugins
We may add support for external displays at a later point, but for now
we follow the same pattern as the other platform plugins. Either way we
should call screenAdded() to let the platform integration know about the
screen.

Change-Id: Id01785a5262df0180caf957c7de8ecbbf169f233
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:55:33 +01:00
Tor Arne Vestbø 6d36a83b41 iOS: Get rid of singleton instance accessor in platform plugin
None of the other platform plugins have one, and it's not used anywhere.

Change-Id: Id46ab5f75c9819511c3e9d123d0338c3c8799869
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:55:33 +01:00
Tor Arne Vestbø 3020d06fdb iOS: Change member variable style to be consistent with Qt's de facto standard
Change-Id: Idd65ad9cbb77114466c5b69a799b98a7fee5068f
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:55:33 +01:00
Tor Arne Vestbø 9c8ce6afb0 iOS: Don't add to OBJECTIVE_HEADERS, there's no such thing
We should add to HEADERS, so that moc will realize it needs to run on
the headers.

Change-Id: I582e989e4faf0835c4bf9a677cbd8ac075559319
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-02-27 23:55:32 +01:00
Tor Arne Vestbø 8c00149078 iOS: Don't include QtPrintSupport dialogs on iOS
It pulls in a dependency on Cocoa.

Change-Id: I293063adfdef8b92f80ffda0c66ac6e6d12958ff
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:55:32 +01:00
Tor Arne Vestbø c7fbff7bf2 iOS: Add required public dependencies of the CoreText font database
CoreText and CoreGraphics are available on iOS as stand-alone
frameworks, but on Mac OS X they are part of the ApplicationServices
umbrella framework.

Mac OS 10.8 actually introduced both as stand-alone frameworks,
but for simplicity we link to ApplicationServices, as there's
still symlinks from ApplicationServices to the real frameworks.

Change-Id: I7f7ef795629cc37da85857d5c42283754acc4474
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-27 23:54:56 +01:00
Olivier Goffart 123ce761c0 QT_MESSAGE_OUTPUT: add support for condition depending on the type
The motivation is to enable coloration the way KDE currently does.
It can now  be achieved with a QT_MESSAGE_OUTPUT set to
"%{appname}(%{category}) \033[31m%{if-debug}\033[34m%{endif}%{function}\033[0m: %{message}"

I was thinking about supporting directly color using something like
%{begin-category-color} that would be smart and detect if we are running
on a terminal, but it would be less flexible in the way the colors van
be configured.

Changelog: QT_MESSAGE_OUTPUT can contain conditionals based on the type
of the message

Change-Id: Icd8de04734a94a3afcbf542a5b78b290a1914960
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-02-27 22:29:43 +01:00
Israel Lins 70bb34ccd5 ODBC: implementation of lastInsertId()
Implemented lastInsertId() for some ODBC compatible databases.

Change-Id: I0b75a8e68369af39e258e4761b384767ab8a371e
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-02-27 22:01:17 +01:00
Friedemann Kleint e265a1a4bd Disable maximize button for fixed-size windows.
Task-number: QTBUG-28407

Change-Id: I5bab7fcf4ad3ecc7008ef02b9d3575d75893895d
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2013-02-27 20:17:25 +01:00
BogDan Vatra afaa6e42f0 Export QAbstractFileEngine[XXXX] classes.
We still need them for Android assets implementation.

Change-Id: I12bb809c05ac88f3c4a7d6796692b4dc3987027c
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-02-27 18:02:50 +01:00
Paul Olav Tvete 023644cae1 Style fixes for android enablers
Change-Id: I0b942865c29f4bdf29f0e7f56af0d620acbc39c6
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-02-27 18:02:34 +01:00
BogDan Vatra d88ec35b11 Fix compile on Android
This is a workaround for a broken compiler

Change-Id: I10c8c750caf56036419807ec4a2439bf14cf64d6
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-02-27 18:02:10 +01:00
Paul Olav Tvete 660a615a37 Update the display to reflect changes by input method
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>

Change-Id: If3804f2a514ba4635f841de6377f2b328a4e928a
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-02-27 18:01:56 +01:00
Gabriel de Dietrich 48d39a01a7 Cocoa: Remove qt_mac_toCGImage warnings
We got these because we were flushing the backing store with a
null QImage.

Change-Id: I372cb3fc7c82d3bdcfe735fcadfa72806d0ef39b
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-02-27 17:50:57 +01:00
David Faure 2cb2a2e29e Add ISO 8859-11 as an alias for TIS-620
(qsimplecodec.cpp says so, but is unused when ICU is used)

ISO 8859-16 is still missing though...

Change-Id: Idbccedd7bad63f9788cec2f7fc1bbfcb7a891acc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-02-27 16:00:02 +01:00
Richard Moe Gustavsen f6dc54ded4 iOS: network should not link against CoreServices on iOS
Change-Id: Ia3e21a3d73f696f0e77c427bdb263333646c48d3
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-27 13:07:25 +01:00
Tor Arne Vestbø 8716c42ee2 iOS: Add missing QuartzCore dependency to platform plugin
Change-Id: Ic69a5a7faa9b7f9907d0325260b6b6e2389a4c3a
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-02-27 13:07:25 +01:00
Tor Arne Vestbø cb25d67f01 iOS: Don't link ios platform plugin to Cocoa
Change-Id: I2348b19617d3e342cd344bf7d0fa894118cbfae8
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-02-27 13:07:24 +01:00
Tor Arne Vestbø f2168f2688 iOS: Build platform plugin like other platform plugins
... by loading(qt_plugin)

Change-Id: I9be438b72be986a991a81c2cf1a3e5047bcf0a60
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-02-27 13:07:24 +01:00
Tor Arne Vestbø e5111d5e02 iOS: Build ios platform plugin when appropriate
Defining QT_QPA_DEFAULT_PLATFORM_NAME in qplatformdefs.h is not
neccecary, as qconfig.h will already have this define written by
configure.

Change-Id: I89d9191533f6b4e6bfd5eade6cc0dced02b50f81
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-02-27 13:07:23 +01:00
Mitch Curtis a65982d659 Add snippet for QT_VERSION_CHECK.
Change-Id: I048771f21ce694329a7e9acd4dbfbebfec964b05
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-27 12:02:34 +01:00
Mitch Curtis 6269c9a414 Fix some punctuation errors.
Change-Id: I6aa2ad2b506466fbef6a22380d151988930807c9
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-02-27 12:00:46 +01:00
Paul Olav Tvete c65ecc50ae Enablers for input methods on Android
Adding QInputMethod::inputItemRectangle()/setInputItemRectangle().

Known bugs: inputItemRectangle() not implemented for graphics view
items; inputItemTransform() implementation was already missing.

Change-Id: I72b1d43350e93858a2b374de3f2199500a96dc79
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-02-27 11:24:24 +01:00
BogDan Vatra 323ba46f72 Fix thumb armv5 atomics
Change-Id: Ie9f98e5f5a08908d9d99e04bdc95fd506cc4a51e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-02-27 11:24:24 +01:00
Paul Olav Tvete 212ff4f34d Add multi-line input method hint
Enabler for input on Android.

Change-Id: I44670b95b35f773814125c5d35c67e9713567813
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-02-27 11:24:24 +01:00
Friedemann Kleint cd1e245877 QStandardPaths: Use forward slash consistently.
Task-number: QTBUG-29249

Change-Id: I027f9ae18544dc47e1378214244487c8a5ae704c
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-27 09:24:33 +01:00
Samuel Rødal b56caf5f4e Introduced QWindow::setMask() to expose existing platform functionality.
Task-number: QTBUG-28555
Change-Id: I2c649b6d9e9dc69be246cb7658b3edbe9682b1bf
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-02-27 09:11:18 +01:00
Thiago Macieira 7b2d98d906 Fix some warnings that have crept up since I last fixed warnings
qgtkstyle.cpp:3177:103: error: suggest parentheses around ‘&&’ within ‘||’ [-Werror=parentheses]
qcups.cpp:517:66: error: ‘QString::QString(const char*)’ is deprecated
itemviews.cpp:795:13: error: unused parameter ‘actionName’ [-Werror=unused-parameter]
qeglconvenience.cpp:268:9: error: ‘cfg’ may be used uninitialized in this function [-Werror=maybe-uninitialized]

Change-Id: I9b8a175ff1c2ddc443363e08b92e09cf7c2f91cf
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: John Layt <jlayt@kde.org>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-02-27 07:09:24 +01:00
Thiago Macieira cafb02911a Make sure that the reference count for plugins is kept correctly
For systems where the Unix signature checker isn't enabled (read: Mac
and Windows), QPluginLoader must actually load the plugin to query for
the metadata. On Mac it even tried to keep the library loaded to avoid
unloading and reloading again when the user calls load().

However, that plus the fact that it was calling load_sys() (on Mac)
meant that it would bypass the reference count checking. And on all
Unix, if a library-that-wasnt-a-plugin was already loaded by way of a
QLibrary, it would have an effect of unloading said library.

So remove the "caching" of the library. We should instead invest time to
write a proper Mach-O binary decoder.

Task-number: QTBUG-29776
Change-Id: Iebbddabe60047aafedeced21f26a170f59656757
Reviewed-by: Liang Qi <liang.qi@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-02-27 07:09:18 +01:00
Thiago Macieira 2c51bc0289 Don't try to unload a library that isn't loaded
Both QPluginLoader::unload() and QLibrary::unload() protect against
that (they have a "did_load" member), but QFactoryLoaderPrivate's
destructor doesn't. In the past (Qt4) all plugins had to be loaded
anyway, so there was no mistake in the reference counting. With Qt 5,
we don't load plugins unless they're actually used (in
QFactoryLoader::instance).

Task-number: QTBUG-29773
Change-Id: I3278fa14bac7e26a9faaf999b4e42e950654ac9a
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-02-27 07:09:08 +01:00
Thiago Macieira f92e844b2b Stop using function deprecated in D-Bus 1.2 (raise minimum version)
The dbus_watch_get_fd function was deprecated in D-Bus 1.2 (technically,
in 1.1.1, but that was a development release) because it had a bad name.
Sockets on Windows have file descriptors, but they are not shared from
the same pool as the CRT library's file descriptors.

This commit raises the minimum required version of D-Bus to 1.2. This is
the first requirement raise since this code was introduced in 2006. For
some reason, the D-Bus 1.2.0 release seems to be missing, but 1.2.1 was
released on 04-Apr-2008. That's ancient enough for all distributions
Qt 5 is supposed to run on.

Change-Id: Ia6bbc137fffbb27c77290ed3e32d3380f0ae3c54
Reviewed-by: Lorn Potter <lorn.potter@jollamobile.com>
2013-02-27 07:09:03 +01:00
Konstantin Ritt 996db96d5e Fix QString::toUcs4() returns incorrectly resized QVector
...when the string contains surrogate code points.

Task-number: QTBUG-25536

Change-Id: I07251fee641c14f33175678768ddbe551dbe2bb1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-27 03:13:30 +01:00
Konstantin Ritt 7729d89e15 QWin32PrintEngine: Fix build on MinGW + avoid dummy allocations
Don't use wcscpy_s() which is not available on MinGW but determine the utf-16
string length and pass that value to QString::fromWCharArray() instead.

Change-Id: I45d1b1969fe03255fdb6353fa9f52417af530e40
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2013-02-26 22:01:27 +01:00
Thiago Macieira 1b76cf0174 EGLFS: Replace the global static 'hooks' variable with a function
Having a global static variable in a header is a poor choice to start
with. All .cpp including that header must use that variable or the
compiler will warn of an unused static.

Second, for the case of platform hooks, it's possible that it is reading
the value of a variable that isn't initialised yet.

Change-Id: Id823c2be9cfededb9c31fb76a9080d4122577ca4
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-02-26 22:01:27 +01:00
Israel Lins bc5170f274 ODBC: improve detection of DBMS
Change-Id: Ia93c3adb54fd28e290ff6fc85cb98138514885f1
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-02-26 22:01:27 +01:00
Mark Brand 4da840f230 make static function a class member
Change-Id: I8c18c746185f6b7530ed985f4d482a1c9073fb10
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2013-02-26 19:48:22 +01:00
Mark Brand 63b180d390 rename private driver to privDriver
This avoids confusion now with the actual driver and avoids a
name collision in later refactoring.

Change-Id: I83055213f3a7b7998640662d49ba33749fdadd18
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2013-02-26 19:48:18 +01:00
Mark Brand ad211acae4 qpsql: simplify expression
Change-Id: I1cff816ca5e8f683015186a2b5815e564ad454e6
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2013-02-26 19:48:12 +01:00
Sean Harmer a2ddf3dfe0 Add a new static lib and module for OpenGL extensions
The complete set of OpenGL extensions is large meaning that any attempt
to incorporate them into a shared library such as QtGui would bloat the
size of that library.

The typical usage pattern for OpenGL extensions is to use only a very
small number of extensions from the total available set. A static
library suits this situation very well as an application will only
compile in the executable code for the extensions actually used. Thus
makign all of the functionality available to those that need it but with
zero cost to those that do not.

Change-Id: I49fdac7e9d2e0b190b7ea04b776018dd63c3065f
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-26 16:27:39 +01:00
Sean Harmer 10aa64d74c OpenGL: Add a set of version and context specific OpenGL classes
This commit adds part of the output of utils/glgen and some simple
modifications to QOpenGLContext to allow easy access to classes
containing functions specific to a given OpenGL context and version.

This allows compile-time detection of mis-use of OpenGL features.
For example, trying to use glBegin(GL_TRIANGLES) with an OpenGL 3.2
Core Profile context will be detected by the compiler rather than at
runtime.

These capabilities make it much easier to add functionality to Qt and
applications that relies upon core features of OpenGL from specific
versions e.g. geometry shaders.

Change-Id: Ieb584a489792595f831bc77dee84935c03bb5a64
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-26 16:27:30 +01:00
Frederik Gladhorn f6af0dad5b Fix typo.
Change-Id: Ia3fd460e77d8da5dca634872e3f786d5ad30289d
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-02-26 13:31:45 +01:00
Thorbjørn Lund Martsum 717a0a9d04 QGraphicsView - emit signal when rubber band changes.
The rubberBandRect function is nice to have, but this patch
makes it easier to track the rubber band by emiting a signal
on change.

That makes it easier (and less clumsy/hacky) to show information
related to the rubber band.

Change-Id: If65eb85d743a1804be3fdb823a821423411e9745
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-26 13:31:45 +01:00
Thorbjørn Lund Martsum c56f73cc1e QGraphicsView - add function to get RubberBand rect
In many situations it is handy to know the rubberband rect.
There are many situations where we want to show something
related to the rubberband.

Regardless how that is done the rubberband area is needed.
(Not having this is a flaw that can force people to do make
a customized rubberband just to get this information)

Change-Id: Ia854db4c0022b6a97b150af2b4bb78fd5e974991
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-26 13:31:45 +01:00
Tor Arne Vestbø 3bc4afc223 iOS: Move Q_OS_IOS out of makesespec to qsystemdetection.h
We treat iOS as a variant of Mac OS, so for iOS both Q_OS_MAC and
Q_OS_IOS will be defined. This matches what Apple assumes in the
header file TargetConditionals.h

Change-Id: I55cc851401b748297478e4c32e84e0f6e1fdfc28
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-26 13:13:27 +01:00
Richard Moe Gustavsen 8224e5ac7f iOS: Don't reference QMacStyle from QStyleOption as we don't build it
QMacStyle is not buildt as a part of iOS. So make sure we dont
reference it from QStyleOption

Change-Id: I98e779c576d0607402e45a19b457144a6bdfc73b
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-26 13:13:26 +01:00
Richard Moe Gustavsen 5d6c57fcba iOS: fix build issue, dont link against cocoa
Make sure the libraries dont depend on Cocoa. This will be
picked up by libtool, and make all apps and examples link
against cocoa too (which will ofcourse fail)

Change-Id: I5654bb08c4ed376fc7ee74da422d903270a8af38
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-02-26 13:13:26 +01:00
Richard Moe Gustavsen 8cbdb25ee6 iOS: copy brute-force port of Qt4 uikit plugin into Qt5.
The plugin has been renamed from uikit to ios.
Other than that, the plugin will now build, but do nothing. Most of
the Qt4 code is preserved, with a rough translation
into the Qt5 qpa API. A lot of code has simply been commented
out so far, and most lacking at the moment is the event dispatcher
which will need to be rewritten, and the opengl paint device
implementation. But it should suffice as a starting ground.

Also: The plugin will currently not automatically build when
building Qt, this needs to be enabled from configure first.

Change-Id: I0d229a453a8477618e06554655bffc5505203b44
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-26 13:13:25 +01:00
Thiago Macieira 932c50c015 Adapt the newly-renamed SQL driver headers to proper private headers
Add the "We mean it" text and remove the now-unnecessary syncqt macros
that used to prevent those headers from being added to the master
includes.

Change-Id: I03ac2a452bc6ac43ebba502bc0ecbf5ee1adf314
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-02-26 11:20:11 +01:00
Thiago Macieira 1ee1147462 Rename the SQL driver header files to _p.h (make private)
The drivers were never public API. They were exposed by mistake in
public headers. What's more, they have #include'd a private header
(qsqlcachedresult_p.h) since at least Qt 4.5.1. That means no one used
those headers in Qt 4 (private headers weren't installed then) and
it's unlikely anyone did in 5.0.

Change-Id: Ie0a47bcf0260ee6bdd3d8494b78fd1eec28a2d6b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-02-26 11:20:06 +01:00
Friedemann Kleint 2bab4a6552 Fix Qt Designer warning about being unable to handle property.
Qt Designer warns:

"The property "document" of type 1053 (user type)  is not supported yet!"

when loading forms containing a QTextEdit.

Introduced by 468c22f673 .

Change-Id: Ia1b7bdc9f7188e0b092c010056fcd12c9e891fd7
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2013-02-26 10:47:45 +01:00
Venugopal Shivashankar f28b6f8453 Doc: Added the missing example snippets
The snippet files referred were outside the scope exampledirs for
QtCore. I made of a copy of those files in the snippets folder to
fix this issue.

Task-number: QTBUG-29755
Change-Id: I2f765104394071d035e9cee610945ae290033deb
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Nico Vertriest <nico.vertriest@digia.com>
2013-02-26 10:45:59 +01:00
Stephen Kelly f136701bc5 Use the base implementation of QAbstractItemModel::sibling in QSIM.
QStandardItemModel doesn't really benefit from a reimplementation of
sibling, and the current implementation is buggy.

Task-number: 29540
Change-Id: Icf8dca29b6e1394a378db5bf6abd884f2d7fd9b9
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-02-26 00:03:26 +01:00
Friedemann Kleint 8b29c7539d Fix compilation with QT_NO_ACCESSIBILITY.
Task-number: QTBUG-27860

Change-Id: If3b17e7c5dcba69c351025d97c7ab43498c9dcda
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-02-25 21:24:37 +01:00
Friedemann Kleint 17501e09b9 Fix warnings about extra tokens after preprocessor directive.
Change-Id: I7f18ec42f6f6dd697947654384767c2c6b211498
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2013-02-25 21:24:37 +01:00
Christoph Schleifenbaum d400666c61 Cocoa: Fix appearance of transient light scroll bars.
On dark background scroll bars will be rendered light. Since
the scroller object is shared across intances, this flag also
has to be reset. Otherwise all scrollbars are drawn light.

Change-Id: I3800cc783d7fd7ebff296d9db7454efb5b33e7a3
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-02-25 21:24:37 +01:00
Morten Johan Sørvig 47e12eafdd Cocoa: Make grabWindow work on retina displays.
Not taking the devicePixelRatio into account causes
us to either grab a quarter of the screen or do a
low-resolution grab.

Change-Id: Ie6b681e3a089f17b63554c8158bb471a14963d7a
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-02-25 21:24:37 +01:00
Friedemann Kleint 26149d057a Windows native dialogs: Handle libraries.
Task-number: QTBUG-29447

Change-Id: I4e68e546a4eb6b5f9c3dbe6d98905109e72e600a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-02-25 19:38:55 +01:00
Fabian Bumberger 0c8487156e QNX post an expose event when the window is hidden
When the window is hidden, an expose event has to be be posted. This is e.g. needed by the qquickwindow. A exposeEvent calles the exposureChanged
function of the window manager there.

Change-Id: I9d891e07f81192dcd6674743620319c44da19c48
Reviewed-by: Wolfgang Bremer <wbremer@rim.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-02-25 18:44:07 +01:00
Konstantin Ritt 34b870e4b5 Fix HB incorrectly hides [narrow non-breaking space] character
U+202F is not of a Default_Ignorable property for a loooong time
(perhaps was treated like a control code by mistake)

Task-number: QTBUG-13280
Change-Id: I3c5ec5fa514039b7bca9ffa28ad6f5355e627855
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-02-25 17:30:44 +01:00
Debao Zhang 6d270051a2 Doc: Add the missing \since 5.0
Change-Id: I79f67e18b64efe7d22ed80adbc6f024ef35b3aac
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-25 15:06:10 +01:00
Alain Boyer 3fdc4ae0ed Fix primary screen selection.
When selecting the primary screen, the m_primaryScreen value obtained
from the xcb_connect() call should be respected. This ensures that the
proper primary screen is selected when specifying the DISPLAY
environment variable.

Task-number: QTBUG-27220
Change-Id: I60aa207f13d919087d4d2913141c804928684731
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-02-25 14:59:35 +01:00
Konstantin Ritt 7df995a9bd Harfbuzz: backporting fixes from upstream
81c8ef785b079980ad5b46be4fe7c7bf156dbf65 Fix crash!
81f2ecafa19b602f950df5a9e6e1b99c4b5ea55e Bug 30319
ff0612c2e7df1b86fc702c72e3015a6a5ae39b4c and
2dbd0fd11799c18bb6c66e337c3e31a1419823d4 Fix OOB access possibility
3bebe289aace6daa84b3d6983cebf5c58ddfad78 Fix problem with Indic shaper and control chars
90138e5a4d15c44f05456f90083ecacdc3196c8e Fix bad memory access in Myanmar shaper
b847f24ce855d24f6822bcd9c0006905e81b94d8 Fix Arabic cursive positioning
3ab7b37bdebf0f8773493a1fee910b151c4de30f Fix misc leaks

Change-Id: I6f3a6253782bff6abe4bf741d11c09fdd67542db
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-02-25 12:38:31 +01:00
Friedemann Kleint a8fce5d6e2 ANGLE: Fix static build.
Introduce  QT_OPENGL_ES_2_ANGLE_STATIC define for static builds
and modify export accordingly. Provided static instances
of gl::Current and egl::Current for Qt's single threaded
use.

Task-number: QTBUG-28196

Change-Id: Ia75699d6da103fb8dd9d5fe97c1ee51e48a74406
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-02-25 10:34:11 +01:00
Giuseppe D'Angelo 7686b2386d Update qopenglext.h with the latest version from Khronos
Change-Id: I84b051b30623fda67c89d4d6b0b7756681cb9011
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-02-25 10:06:22 +01:00
Morten Johan Sørvig 22bda3360e Set correct image format for non-alpha windows.
Use QImage::Format_RGB32.

Change-Id: I4be6b6271034be8dad5cfcb85f89fe33a817b78f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-02-25 07:43:14 +01:00
Frederik Gladhorn 395f00ae18 Remove debug output that can cause crashes in static builds.
Currently static builds ignore the accessibility plugins.
The debug output would also potentially crash for
other events when they could not create interfaces.

Task-number: QTBUG-28707
Change-Id: I5ae20cac89bd7f4a74add2b80834f4e9d4fa438c
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-02-25 07:25:06 +01:00
Richard Moe Gustavsen 5c70e53722 QPA: fix memory leak in qwindowsysteminterface.h
Just removing the event from QList will not delete it...

Change-Id: I3c4bb69a2afaada7ad4d5695eba0b3f29e9463ec
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-02-24 21:40:14 +01:00
Shawn Rutledge 153d613353 Transient QWindows centered; default-constructed geometry
Default-constructed geometry does not mean put the window at 0,0,
and it does not mean center the window on the screen: it means
let the window manager position the window.  If the window is
explicitly positioned at 0,0 though, that is a higher priority
than the transient hint; without this change, the transientFor property
had no effect.  On X11, transient means use center "gravity" to
make the transient window exactly centered.  But the user can still
override the geometry of a transient window, as with any window.
On OSX and Windows, neither transient window functionality nor smart
initial positioning are provided, so a window with no position set
will be centered on the screen, and a transient window will be put
at the center of its transientParent.

Change-Id: I4f5e37480eef5d105e45ffd60362a57f13ec55f5
Task-number: QTBUG-26903
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-02-24 20:41:05 +01:00
Marcel Krems 7ea6ac832e Deprecate QSqlError setters.
The constructor is sufficient, since it has a parameter for each member variable.
Even the drivers, which were mentioned in the class description don't use them.

Change-Id: Ie8ba0467c7dc1928c539b4b19db8cc2ea0f44ea0
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-02-24 17:10:18 +01:00
Thiago Macieira d38004bdb0 Disable the SHA-3 Hash function: QCryptographicHash doesn't need it
QCryptographicHash will do the full Init/Update/Final calls, so we
don't need the Hash function. Disable it from the compilation to avoid
a warning about a function defined but not used.

Change-Id: Ib48ae4a7be91089fdcffa00851b786816b798cd9
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-02-24 08:00:37 +01:00
David E. Narváez d9ff510f02 Rename qAbs Function for timeval
This decouples it from qAbs which is declared as a constexpr under
certain compilation flags and enables for qtbase to be compiled with
GCC 4.8

Change-Id: I78e02256ffc8b460ca74ae5241e77dfac4e09ba9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-24 06:26:53 +01:00
Thiago Macieira 44cb71d6fd Compile only the SHA-1 code into qdoc
There's no need to compile the other codecs if they never get
used. It's possible that a whole-program optimisation would remove the
dead code away, but it's not very likely.

Change-Id: I75d7618c174566beec2fab44f60a9f7120133775
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-02-23 18:38:49 +01:00
Gunnar Sletta bc616641a1 Make toplevel transparent windows work on Mac OS X
This patch includes a few different fixes to make transparent toplevels
work on cocoa.
 - When setting alpha on the toplevel, it also needs setOpaque:NO
 - The OpenGL context needs a separate flag for this to work.
 - Make sure setOpaque fighting between setMask, setFormat and
   setOpacity ends up correctly

Task-number: QTBUG-28214
Change-Id: Ic3a2d71193bb653e181c98787b4ebda002424092
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-02-23 15:31:33 +01:00
Morten Johan Sørvig cf885ee836 Cocoa: Compile with Qt in a namespace.
Task-number: QTBUG-29710

Change-Id: I28a4c213b78723aa369c7e00167401ec643155e6
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-02-23 13:38:56 +01:00
Giuseppe D'Angelo 0077b5f30d Pass the surface format to qglx_surfaceFormatFromGLXFBConfig
Instead of creating a default-constructed format and filling its field
in, pass a pointer to an instance. This way we won't lose the renderable
type set on the surface, but just fill in the other parameters.

Change-Id: I1fd403671f9c677cc74aaf3c116a05f213d5d556
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-23 12:56:05 +01:00
Morten Johan Sørvig d9b04f8575 QCococaWindow: Add NSView hosting support.
Add and export QCCoocaView::setContentView(NSView *),
making it possible to host a foreign NSView in a QWindow.

Change QCoocaWindow::m_contentView to be a generic
NSView, instead of a QNSView. Add a separate m_qtView
for code paths that expect a QNSView.

Change-Id: I47935b69705c70ea7efbb03d6d4bf489947c3487
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-02-23 08:03:03 +01:00
Lorn Potter d7dfab8cac Ofono also changed the context API. This updates it to work
Change-Id: Ic3a055cb6a56be89b48a9ac77776217f910dee44
Reviewed-by: Lorn Potter <lorn.potter@jollamobile.com>
2013-02-23 02:26:27 +01:00
Giuseppe D'Angelo 7e3ee5400e Enforce OpenGL context creation under Windows
We don't support other context types, so fail in those cases.
Also, return OpenGL as the rendereable type of our surface.

Change-Id: I22792a913b78b837da3d27cef69145076579b949
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-23 01:34:28 +01:00
Giuseppe D'Angelo f2b26af2b4 Enforce OpenGL context creation under XCB
We don't support other context types, so fail in those cases.
Also, return OpenGL as the rendereable type of our surface.

Change-Id: Ic7b5ed0ec5eaf5c0f88f50f5bceb697ea414c696
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-02-23 01:34:25 +01:00
Giuseppe D'Angelo 7e57501016 Enforce OpenGL context creation under Cocoa
We don't support other context types, so fail in those cases.
Also, return OpenGL as the rendereable type of our surface.

Change-Id: I3d5632eb8555d73ed14837b662c7450589a8681f
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-02-23 01:34:06 +01:00
Fredrik Höglund 4b54c55305 Fix OpenGL context creation in the XCB plugin
Make it possible to create a core context with OpenGL implementations
that don't implement the compatibility profile or the
GL_ARB_compatibility extension.

Qt was effectively clamping the OpenGL version to 3.0 by assuming that
the highest supported backwards compatible version is also the
highest supported core version.

Since there is no way to check if the implementation supports a
context with a given set of attributes without trying to create the
context, we have to try every known OpenGL version until we find one
that's supported.

Note that this commit does not fix similar breakage on other platforms.

Change-Id: I9616762b059db9e6182f853ab7f24ff44dc7d529
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-23 00:29:13 +01:00
Thiago Macieira 1b08e0307d Don't assume that all CFPropertyListRef are CFArrayRefs
We might need more robust code in the future. But at least for this case
it looks like a CFStringRef is also a possibility.

Task-number: QTBUG-29776
Change-Id: Iaf50835122fcbb7e6e9c7fbf65e31e6143b2bc54
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Denis Dzyubenko <denis@ddenis.info>
2013-02-23 00:29:13 +01:00
Tor Arne Vestbø 0575baac5e Don't link QtPlatformSupport to CoreFoundation or Carbon
Move the Carbon dependency to the Cocoa platform plugin instead, where
it's actually used.

CoreFoundation was not used by any plugins and could be removed
completely.

Change-Id: I1c825cdf94e2cc348ea13519b894fd868be0d14a
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-02-22 23:56:36 +01:00
Morten Johan Sørvig 3dc634be36 Cocoa: Add basic support for Qt::SubWindow.
This allows embedding a QWindow in a foreign NSView
hierarchy.

Don't create a NSWindow. Add code paths for handling
the embedded window case. Avoid changing the other
window cases. There is potential for merging some of
these cases but that can be done at a later point in
time.

Change-Id: I54c7b4eb82fad268f90ea6b716fc650ae31bd3af
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-02-22 21:25:45 +01:00
Keith Gardner 3b5600f6ee QStringRef: Added toInt(), toUInt(), etc... functions to QStringRef.
Added the following functions to QStringRef: toShort, toUShort, toInt,
toUInt, toLong, toULong, toLongLong, toULongLong, toFloat, and toDouble.
These functions use the corresponding functions found in QLocale.
Updated tst_qstringref.cpp to exercise the new functionality.

Change-Id: I38668a0cc7da0c101a62613fd16cb5a98286617f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-22 21:23:33 +01:00
Martin Smith bfce04fe5b doc: QML Inheritance is not resolved correctly.
qdoc did not resolve QML Inheritance correctly and the result was that
QML inheritance was not shown correctly in the documentation. Part of
the problem was that information was missing for QML types in the .index
files produced by qdoc. qdoc also did not show inheritance properly
when one of its base types was marked internal. These problems have
now been fixed.

This update also fixes the problem that caused qdoc to slow down to a
snail's pace over time. The group members list for certain group pages
was getting longer and longer, because qdoc added the same member to
the member list an additional time every time qdoc was run in -prepare
mode if you didn't clear the index files first. Now, qdoc only adds a
member to the member list if it isn't already in the member list.

Task-number: QTBUG-29778
Change-Id: Ie4f0458a2ea4ceb1a64cdcd7f60f16b124a20790
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-02-22 18:34:35 +01:00
Giuseppe D'Angelo cb8bfeafac Drop the unused qcgl_createGlContext function
Change-Id: I09286388e9af7ec472b394be87204746f8ae22b1
Reviewed-by: James Turner <james.turner@kdab.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-02-22 17:27:03 +01:00
Sean Harmer 06af277c59 Update qopenglext.h to latest glext.h from Khronos.org
This now includes support for OpenGL 4.3

Change-Id: I964284843dffe806280e7f67cde67f17e84dc6df
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-02-22 12:57:44 +01:00
Milian Wolff 4f14b42f7d Add support for forced VSYNC using the EGLFS platform plugin.
Before a buffer swap the new QEglFSHooks::waitForVSync method is
called which looks at QT_QPA_EGLFS_FORCEVSYNC and - if that is set
and non-null - calls ioctl with the FBIO_WAITFORVSYNC request on
the framebuffer device.

This is required on some embedded platforms where the driver does not
support VSYNC yet the Kernel provides a generic implementation.

I tested this using QML_RENDER_TIMING=1 which proofs that the frame
rate for an example of mine drops from >125fps to a straight ~60fps
with a few frames that take ~33ms (i.e. 30fps) as expected for VSYNC.

To prevent excessive open/close calls on the frame buffer device
per frame, the file descriptor is now cached. To keep the QEglFSHooks
interface as clean as possible this is done via a global static in
qeglfshooks_stub.cpp and initialized and freed in platformInit and
platformDestroy.

Change-Id: I4d31b227c65ff22aa089db0fbc62c89a59cbb6c7
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-22 09:24:40 +01:00
Sean Harmer 25c9005097 OpenGL: Refactor some defines and typedefs to a common location
These will be needed by the upcoming OpenGL enablers so move them
out of qopenglfunctions.h to somewhere that any opengl related file can
access them.

Change-Id: I0c788559397d446ec7210e2ad940da862179710d
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-21 20:39:23 +01:00
Cyril Oblikov 057fabab7c Hiding scrollbar on MacOSX 10.7 if policy is set to ScrollBarAlwaysOff
On Mac OS X 10.7 (if System Preferences -> General -> Show scroll bar is
"When scrolling") scroll bar was shown even if policy was set to
ScrollBarAlwaysOff.

This is a regression from 5.0.0.

Change-Id: I161b350874c085a1397df7b398af8f3fb0fbeacf
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-02-21 17:44:27 +01:00
Olivier Goffart b05f19f232 moc: Fix infinite recursion in macro substitution
When performing macro argument substitution, one should keep the set of
macro to exclude, else we can enter an infinite recursion.

Testcase:
 #define M1(A) A
 #define M2 M1(M2)

Task-number: QTBUG-29759
Change-Id: I564bbfed65e1c8599592eaf12c6d67285d2fd9ce
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-02-21 16:55:41 +01:00
Richard Moe Gustavsen 22077e1609 QPA: Add interface for setting the application state explicitly
The motivation for this patch is twofold:

1: we need a way (for iOS/Android) to tell the current window to remove
focus from the focus object when the user hides the input panel.
Otherwise, if the focus object is e.g a line edit, the cursor will
continue to blink inside it, which is wrong. As it stands, telling
the active window to deactivate
(by calling QWindowSystemInterface::handleWindowActivated(0)), will cause
the whole application to deactivate if no windows are active, which
is not what we want.

2: Qt currently understands just two application states, Activated and
Deactivated. On mobile platforms we can have other states
as well, like "suspended" on iOS. So controlling the application
state should not depend on window activation, but instead be controlled
through a separate API by the platform plugin.

This patch will add the following function:
QWindowSystemInterface::handleApplicationStateChanged(Qt::ApplicationState newState)
that lets us control the application state from the plugin. This also
means that we factor out application state handling from window
activation, which also gives us a way to remove focus from a window while
keeping the application active.

To not break existing desktop platforms that relies on application
activation being tied to window activation, we need to make this API
opt-in by using a platform integration capability hint. This is not optimal, but
found necessary after investigating several other solutions.

Which states (other that active/inactive) it makes sense
to add to Qt::ApplicationState will be a topic for later patches.

Change-Id: Ic6fdd3b66867abb67da43eba04ec86f06d82ff94
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-21 14:55:10 +01:00
Olivier Goffart 03b2512598 Fix QMetaType of const references
This fixes QMetaType detection of const reference arguments in signals
while connecting using the new syntax and Qt::QueuedConnection

const references should have the same QMetaType as non references.
That means we need to remove the const reference while getting the
QMetaType.

Change-Id: I9b2688da7fb9ae985aec0d8fa62a1165357ffe71
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-02-21 14:54:00 +01:00
Giuseppe D'Angelo 8fd1330029 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-02-21 10:37:21 +01:00
Thiago Macieira ec166aaa70 Add qcore_mac_p.h to the list of headers.
Change-Id: I3a8db99166a34c15c19b142a05bf81ababb2eeb8
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-21 08:18:47 +01:00
Albert Astals Cid 70f6652ebd Forward the 3rd parameter of dataChanged
Change-Id: I94f893bf65cd150c3cb1099c91cb13882bcca79a
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-02-21 00:58:32 +01:00
Albert Astals Cid 20dbad1bbf Emit which role actually changed
Change-Id: I596a81628e5553779986a94769e114d89a44b264
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-02-21 00:58:25 +01:00
Tor Arne Vestbø f73ddd4dfb Reintroduce use of CTFontCopyDefaultCascadeListForLanguages on Mac OS
Now that we always build against an SDK, we can be sure that the
function declaration for CTFontCopyDefaultCascadeListForLanguages
is available in the CoreText CTFont.h header.

Change-Id: I304a701548833e5c7774b4fd2e72eb8c541dd103
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-02-21 00:20:09 +01:00
Richard Moore 4030b6339c Allow QHostInfo::lookupHost() with no receiver to warm the DNS cache.
This change lets you call QHostInfo::lookupHost() with a null receiver
in order to warm up the DNS cache. This allows you to try to get the
DNS request in flight early.

Change-Id: Icfdd28146479aa534ae9ceb472f75e08aaa39cd2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-20 22:19:43 +01:00
J-P Nurmi b92d951bb1 QGtk2XxxDialogHelper: cleanup unnecessary mutable keywords
Change-Id: Ic0b72661e561e20d50de7aca6d8a681975100b56
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-02-20 22:19:43 +01:00
Frederik Gladhorn dcb710dd87 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	mkspecs/features/unix/separate_debug_info.prf
	src/gui/kernel/qwindow_p.h
	src/plugins/platforms/cocoa/qcocoacursor.mm
	tests/auto/tools/moc/tst_moc.cpp

Change-Id: Ieb57834c00f961a747ffe51e6eb9fc9612cebccf
2013-02-20 22:08:29 +01:00
Topi Reinio c816a338f7 Doc: Update image in QPainter class reference docs
The code snippet demonstrating the use of drawText() was already
updated to use the text 'Qt Project' - update the image accordingly.

Task-number: QTBUG-29784
Change-Id: Iea5e729bd26df2d8ab6a02bb7ea804494e554a28
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-20 21:14:24 +01:00
Gabriel de Dietrich 26bc4ab22e Gtk Style: Workaround to get combo box item style from QtQuick Controls
Change-Id: I0f39269d08d58e0ee1f5b09b90e11ab1030a3932
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-02-20 19:32:24 +01:00
Martin Smith 2cb22c6cc0 qdoc: QML Inheritance is not resolved correctly.
This change adds some QML property, signal, and method
data to the .index file. It also provides more robust
resolving of QML inheritance for qml types.

Task-number: QTBUG-29778
Change-Id: Iaefd64227913a19f427b21e904ca5e32c82d7b29
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-02-20 17:22:26 +01:00
Pavel Mogylevskiy eff6dbb306 Fix path separators in archives created by QZipWriter
It was not possible to extract data from the archive on OSX
which was created on Windows platform because of wrong
separators. Archive was created on Windows via QZipWriter and
opened on OSX with QZipReader. It consisted of a lots directories
and subdirectories with files. The solution is to use '/' separator
for internal representation.

Change-Id: Ic0837ca184bb6188129d53b587a5df2ec61e4e05
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-02-20 16:11:52 +01:00
jian liang af27b37b08 Activate window before replay mouse press event
Activate the window of the widget under mouse pointer before replay mouse
press event.

Change-Id: I9e699374accf108aa49b2a3c73d5e76631100dfd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-02-20 16:09:59 +01:00
Jędrzej Nowacki dacc222d5a Fix QVector detaching in one thread while another destroys it.
The patch adds handling for a case when a QVector is shared between two
threads. In such scenario detaching in one thread could collide with
destruction in the other one, causing a memory leak or assert in debug
mode.

Task-number: QTBUG-29134
Change-Id: Idbff250d9cfc6cf83174954ea91dbf41f8ea4aa4
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-20 15:22:55 +01:00
Topi Reinio a595ac15cd Doc: Document example manifest files in QDoc manual
Adds documentation for example manifest files and the related qdoc
configuration command \manifestmeta into QDoc manual.

Change-Id: I6a627698ab14f57c9a117b6d4b794f352959f5ac
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-02-20 15:22:55 +01:00
J-P Nurmi c90626f189 QMacStyle::drawControl(CE_ProgressBar): add missing null pointer check
Do not spin off progress bar animations if QStyleOption::styleObject is not set.

Task-number: QTBUG-29748
Change-Id: I4e17a4892e82cae48250afa7a270b15ca5730f46
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-02-20 13:00:22 +01:00
Jan Arve Saether 7508719830 Avoid potential crash when changing styles with stylesheet
This is not always reproducible, but it probably crashed because
QStyleSheetStyle::polish() can do some nasty things such as creating
and deleting objects, which can leave the list with dangling QObject
pointers.

However, it should not delete QWidgets, so we make sure we only have
a list of QWidgets before we perform the polish iteration.

Change-Id: I84c1ca6a7316e72348248ff056b65dcbae3d20a3
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-02-20 12:59:55 +01:00
Friedemann Kleint b6ccdfa482 Fix multiselection by CTRL-click in QFileDialog/KDE.
Task-number: QTBUG-29257

Change-Id: Idfac80e855455a4537dd38a23136762cd9398e15
Reviewed-by: David Faure (KDE) <faure@kde.org>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-02-20 12:59:55 +01:00
aavit e28c03cb82 Fix reentrancy problem in image reading
There were race conditions when accessing the plugin factory and
the image reader plugins from different threads; ref QTBUG-29281.
Added a mutex lock to avoid.

Change-Id: Ic1a3b6cbaf5603f1bcf7025b58247a9a3f6d08a9
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-20 12:59:55 +01:00
Indrajit Tapadar f6c5452d97 Fix for url encoding in QDesktopServices::openUrl().
URLs containing spaces (encoded) couldnt be opened using QDesktopServices::openUrl() -method.
This is a regression as it works for 4.8,

Using url.toEncoded() instead of url.toString() which removed percent encoding.

The NSUrl uses RFC 2396 for parsing, and according to the documentation,
of 2.4. Escape Sequences - Data must be escaped if it does not have a
representation using an unreserved character;
And as a space does not have a representation using unreserved character it needs to be
escaped.

Example: Using this url, http://www.google.com/search?q=testme%20withspace
url.toString() returns  "http://www.google.com/search?q=testme withspace"
and url.toEncoded() returns, http://www.google.com/search?q=testme%20withspace" which is
also the expected result.

Task-number: QTBUG-29124
Change-Id: Ieed3d4cfb689b9311f6cf21e5098a1e70256ab03
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-20 10:35:23 +01:00
J-P Nurmi 3bee02c1ca Revert "QGtkStyle: GTK3 compatible combo boxes"
This reverts commit 15fc255c7c.

The change was not compatible with the oxygen-gtk theme engine.
Furthermore, GTK3 compatibility in QGtkStyle is not important,
since it won't be feasible to support both GTK2 and GTK3 in
the same style implementation.

Conflicts:
	src/widgets/styles/qgtkstyle_p.cpp
	src/widgets/styles/qgtkstyle_p.h

Task-number: QTCREATORBUG-8524
Change-Id: I8ea6dcfd1f432d51b306a5d9f6c4106137979c5a
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-02-20 10:35:23 +01:00
Andy Shaw e47c2744e6 Clean up the cached cursors inside the destructor of QCocoaCursor
Change-Id: I4e1222832efa29680b4e658a5c9109641599a2b9
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-02-20 08:38:39 +01:00
Andy Shaw 79498af6e4 Fix the default handling of cursor shape when there is no standard one
When the cursor specified is a bitmap one we cannot cache it based on
the shape as the pixmap set on the cursor may be different. Therefore
we should always create a new cursor in this instance.

Change-Id: I2c201590ff632490d76c1b423908ae32aa584eb6
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-02-20 08:38:39 +01:00
Friedemann Kleint 4606ea5395 QProgressBar: Use localized numbers and percent sign.
Task-number: QTBUG-28751

Change-Id: I56aca3e0ee9c579297110c69d2d832c7a57f1ae7
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Karim Pinter <karim.pinter@digia.com>
2013-02-20 08:15:26 +01:00
Friedemann Kleint dd30f3e65b Fix QDockWidget being unable to dock when initially floating.
When setFloating(true) is called before show, frame strut events
are not enabled for the native window (since there is none yet)
in QDockWidgetPrivate::setWindowState(). In that case, do
it in the show event handling.

Task-number: QTBUG-29012
Change-Id: I93b679f20200c149d608a1bcc65b4936a035c6a0
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2013-02-20 06:39:03 +01:00
Simeon Bird 8efad82d6c Fix QTBUG-18934 by checking return value of qt_safe_pipe
When QProcess->start() is called, Qt creates a pipe to the process to
get its exit value and output.
It does this with qt_create_pipe, which calls qt_safe_pipe.
qt_safe_pipe, on failure, returns 1. qt_create_pipe then
sets errno and returns void.
The calling function, QProcessPrivate::startProcess, does not check
errno, and thus continues to fork the process, assuming the pipe has been
created successfully.

The child process then has no way to pass its exit value to the calling
process, since the communication pipes it would normally use do not
exist, and thus when it exits it becomes a zombie.

As a bonus, if waitForFinished is called on a broken process, a crash
results because it is trying to wait on a pipe which does not exist.

The fix makes qt_create_pipe return an integer, and QProcess::startProcess
check the return value, set processError and not create the child
process.

Task-Number: QTBUG-18934
Change-Id: I2e1effdd0617be5b8c5492bcbcf5f2b1584b2241
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-20 02:47:32 +01:00
Laszlo Papp 2f5b4d47f6 Document the qintptr for public usage
The QAbstractSocket API has been already using this as a return type. Hence,
this has already been exposed to the public API users, anyhow.

http://qt-project.org/doc/qt-5.0/qtnetwork/qabstractsocket.html#socketDescriptor

A minor mistake has also been fixed in this commit at the quintptr section.

Change-Id: I8143b3050428548ff6baee2e3a0bce4058ea8701
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-20 01:30:29 +01:00
Richard Moore 5ebc8d3663 Add an encrypted() signal to QNetworkAccessManager and QNetworkReply.
Add an encrypted signal to QNAM and QNetworkReply to allow applications
to perform additional checks on the certificate chain beyond those done
as part of the standard SSL validation. This allows things like
certificate change notification to be implemented for QNAM as they can
be for QSSLSocket currently.

Change-Id: I693e3e6fec8b7040379b7e7f1f819550e6b2617f
Reviewed-by: Peter Hartmann <phartmann@rim.com>
2013-02-19 21:37:32 +01:00
Richard Moore 7898080ca7 Add support for intermediate certificates to server sockets.
Add intermediate certificates to our server sockets, and to our client
certs.

Change-Id: Ib5aa575473f9e84f337bebe35099506dd7d7e2ba
Task-Number: QTBUG-19825
Task-Number: QTBUG-13281
Reviewed-by: Peter Hartmann <phartmann@rim.com>
2013-02-19 21:37:24 +01:00
Richard Moore 4a07519877 Store the local certificate in a QList.
Instead of storing a single QSslCertificate for a the local cert, store
a list of them. This will allow us to handle server sockets that use a
certificate that is not issued directly from the CA root in future.

Change-Id: I9a36b9a99daa9c0bdd17f61b4ce1a7da746f2e96
Reviewed-by: Peter Hartmann <phartmann@rim.com>
2013-02-19 21:37:14 +01:00
Andy Shaw 7203e88084 Don't enable HIDPI when rendering directly to PDF on Mac
When rendering to PDF using the PDF paint engine on Mac it would
consider it to be rendering as HIDPI when ScreenResolution was used.
This would mean nothing was being rendered at all in the PDF as a
result.

Task-number: QTBUG-28709
Change-Id: Ieb97ca9d0b47f6b96debbcf5e05e96c39292e412
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-02-19 21:25:16 +01:00
Gunnar Sletta 3f99983e76 Fix focus handling of native child widgets in xcb.
Change-Id: If4d596195624011142bff6853849a23064e478df
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
(cherry picked from commit fc663b5f9a)
2013-02-19 21:21:27 +01:00
Jan Arve Saether 18f9eb797b QStackedLayout: Fix crash when focus widget is destroyed in hide()
We also have to make sure that when moving back to a page
that has a focusWidget(), the focus should go to the focusWidget()

Task-number: QTBUG-18242

Change-Id: Ibfa7d6361c1a456480b2f1584a88ef4c4f405709
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-19 21:07:14 +01:00
Tor Arne Vestbø eb09f9b82c moc: Error out when detecting unterminated macro usage
Exhausting the symbol list while looking for the
final right parenthesis means it is missing.

Task-number: QTBUG-29308
Change-Id: Iccf5897b0f5eb719699fd12d6c8e4a16ff189d9b
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-02-19 20:51:44 +01:00
Oliver Wolff a19037cc9e Don't build the bearer plugin if network is not available
Change-Id: Ia706ac95570e903ae4fa0e47d2c850daf703bb04
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-19 19:20:47 +01:00
Sergio Martins c02a2f8e76 QNX: Don't crash with 0 by 0 sized windows
In the rare event of an invalid sized window, the application crashes
because libscreen doesn't like creating empty buffers.

Not creating the buffers at all would also be a solution, if we didn't
have QPainter crashes due do null paint devices.

Change-Id: I561d0082576b6226dd52129f9640952ba46273c8
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-02-19 17:10:27 +01:00
Shawn Rutledge 39b1bd8f45 undef B0 to build on PPC (conflict with definition in termios.h)
This is the same fix that was already done in qprinter.h
/usr/include/bits/termios.h:122:#define B0 0000000  /* hang up */
so the compiler sees B0 as a numeric constant

Task-number: QTBUG-29704
Change-Id: I2df5e1783f3142558cbc1606e0c61fcf636f2de8
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-02-19 17:05:43 +01:00
Michael Brasser a54b271c39 Fix EGL_BAD_MATCH when requesting a 16-bit surface with eglfs.
QEglFSWindow does not request highestPixelFormat, and can obtain a 16-bit
config when requested. QEGLPlatformContext does request highestPixelFormat,
and can obtain a 32-bit config when a 16-bit config is requested, leading
to this error.

Change-Id: I418c09a35ec19b2e9ca372b32599034e02384e44
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-19 15:10:44 +01:00
Jerome Pasion 5d6916b4c1 Doc: Removed reference to deprecated \badcode command.
-QDoc doesn't differentiate between \badcode and \code. They both
look the same in the output.

Change-Id: Ifabd51b7e433a1c30cf30c267d3ce63dded1bd43
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2013-02-19 11:55:51 +01:00
J-P Nurmi 2dd8e7cf2e Introduce a native font dialog for GTK+ 2.x
Change-Id: Ia5660c3e2c8c122187427ccb490d46e52ee3ad21
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-02-19 10:35:06 +01:00
Erik Verbruggen 436c65ba21 Fix compilation with Clang on MacOS.
Apparently Clang does not like methods to be declared static inline,
and then have their definition somewhere else. Error messages:

../../../include/QtCore/../../src/corelib/tools/qpoint.h:156:37: error: conflicting types for 'dotProduct'
Q_DECL_CONSTEXPR inline int QPoint::dotProduct(const QPoint &p1, const QPoint &p2)
                                    ^
../../../include/QtCore/../../src/corelib/tools/qpoint.h:77:40: note: previous declaration is here
    Q_DECL_CONSTEXPR static inline int dotProduct(const QPoint &p1, const QPoint &p2);
                                       ^
../../../include/QtCore/../../src/corelib/tools/qpoint.h:338:40: error: conflicting types for 'dotProduct'
Q_DECL_CONSTEXPR inline qreal QPointF::dotProduct(const QPointF &p1, const QPointF &p2)
                                       ^
../../../include/QtCore/../../src/corelib/tools/qpoint.h:239:42: note: previous declaration is here
    Q_DECL_CONSTEXPR static inline qreal dotProduct(const QPointF &p1, const QPointF &p2);
                                         ^

Change-Id: I041b96d79506d2898daf40d70b37f02459de35bd
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-19 10:35:06 +01:00
Kevin Ottens fc6b214363 Let QPlatformTheme decide which engine QIcon::fromTheme uses
By default we still use QIconLoaderEngine but now platform theme plugins
have the opportunity to override that. It is in particular planned to be
used in a WIP platform theme plugin for KDE sessions.

Change-Id: I07a82dc91daea44709b3a790f3f6e2a7a090d108
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: David Faure (KDE) <faure@kde.org>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-02-19 10:35:06 +01:00
Morten Johan Sørvig 73d32873cf Cocoa: Add QMdiSubWindow size grip back.
Change all Q_WS_MAC -> Q_OS_MAC in qmdisubwindow.cpp

Remove QEXPECT_FAIL from tst_qmdisubwindow.cpp.

Task-number: QTBUG-29434, QTBUG-25297
Change-Id: I299b87ab994e2d5ba93d5bbae48de0df1ac1c9d6
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-02-19 08:53:55 +01:00
Samuel Rødal 388f4f16b0 Mention offscreen platform plugin in QTestLib documentation.
Change-Id: Icb82e0b4dedbe4978230cd3271f335ec07da60e4
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2013-02-19 08:11:08 +01:00
Samuel Rødal 46cc594c67 Fixed EGLFS reporting impossibly high physical dimensions.
If FBIOGET_VSCREENINFO doesn't give us sensible values we need to
default to something instead. Refactor the code that queries the
resolution and depth to behave the same way.

Change-Id: Id2b3fc41349a74610856273b10281f744612890b
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-02-19 08:10:40 +01:00
Takumi ASAKI febbdbb992 Doc: Fix some typos
Change-Id: I7f3a8cd27f1d1cb944599cff40024f3521a3ec34
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-19 08:09:22 +01:00
Tor Arne Vestbø 3988ad95f7 moc: Error out when detecting unterminated macro usage
Exhausting the symbol list while looking for the
final right parenthesis means it is missing.

Task-number: QTBUG-29308
Change-Id: Iccf5897b0f5eb719699fd12d6c8e4a16ff189d9b
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-02-19 07:55:39 +01:00
Keith Gardner cfc09b6564 QLocale: Added QStringRef overloads to toInt(), toUInt(), etc...
Added the following function overloads to QLocale: toShort, toUShort,
toInt, toUInt, toLong, toULong, toLongLong, toULongLong, toFloat, and
toDouble.

Change-Id: I8cd90ca08b88338b08a73a72492f4c91c4f46ea4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-18 22:24:54 +01:00
Friedemann Kleint 4b42c91821 QColorDialog/QFontDialog: Fix setOption().
Call setOptions() such that the option takes effect.

Task-number: QTBUG-28817

Change-Id: Ibef834efc988d3ba49e88ea88ef475b1fd7fd98f
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2013-02-18 21:53:31 +01:00
Frederik Gladhorn 3654a4a3c1 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-02-18 20:03:20 +01:00
Sergio Martins 8afd7b4675 QNX: Print the buffer size before crashing, for debug purposes.
Change-Id: I2d423ee3717bb09b7bb2c63f645e5315be1fa611
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-02-18 19:56:45 +01:00
Tor Arne Vestbø c04f3584ab Remove deprecated use of QMAKE_MAC_SDK in corewlan.pro
We no longer support OS X < 10.6, so there's no need to check for it.

Change-Id: I2628984846de0c0c19ea86b3ba6d00fc370ddae7
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-18 17:07:23 +01:00
Shawn Rutledge dfde72e436 Added QDebug support for QWindowSystemInterface::TouchPoint
Change-Id: Icfc606a49a7fd24fcd35b9c818642a03e044ed6c
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-02-18 16:26:49 +01:00
Gunnar Sletta ffecaf85e8 QScreen::refreshRate would return 0 on Mac OS X
The function we use to get the actual vsync on cocoa is documented
to return 0 if the monitor is not a CRT monitor. A refreshrate
of 0 means we have vsync deltas of 1000/0 which cause problems
elsewhere. It is better to use the "default" value in this case
as it will be closer to correct than 0.

Change-Id: Id08007e40a9af5e42f13a07628fcad5fd3a7d0dc
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-18 16:21:27 +01:00
Frederik Gladhorn f4900d340a Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/widgets/styles/qmacstyle_mac.mm

Change-Id: If8326db9e7da3cbf45dbf7475fdff9915c7723b1
2013-02-18 16:14:52 +01:00
Marcel Krems 3c657383c6 Doc: Fixed value descriptions for enum QAbstractSocket::SocketError.
Change-Id: I7ef5ff53ac838a7793852c1eadd9610e630cae43
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-02-18 14:44:17 +01:00
Gabriel de Dietrich 7c33ae6a7b Cocoa QPA: Make QCocoaMenu::menuItemAt() more robust
Change-Id: I2c68f87eb1a4926ca5bd0bfcc842ab9c56c99cd7
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-02-18 13:43:21 +01:00
Yoann Lopes c7a51f1858 Added QOffscreenSurface class.
Inherits QSurface and allows to use OpenGL from an arbitrary thread.
Platform plugins can implement QPlatformOffscreenSurface, otherwise an
invisible QWindow is used by QOffscreenSurface.
This patch includes an implementation of QOffscreenSurface for XCB
and EglFS platform plugins using pbuffers.

Change-Id: I57b4fc1db417331f34826dcfa754b7698782fde4
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-18 13:42:22 +01:00
anknight f8fdeb68b6 KMS QPA Plugin: use preferred mode when selecting mode
This should select the best mode (likely the currently running mode)
for the display instead of the first one found.

The built-in mode was left as a fallback.

Change-Id: I4e1bc798df6f310b001566ab76cb9def3224a7ed
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-02-18 13:34:25 +01:00
anknight 936aceb5f2 KMS QPA Plugin: use GBM cursor writer
GBM provides a way to write directly to a buffer object that gets set
as the drmMode cursor. This eliminates the need to create a GL texture
and opens this class up to platforms that support GBM but not OpenGL.

Change-Id: I7297827387ef9a717a5287b5484f14c9987b4158
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-02-18 13:34:18 +01:00
anknight 4d14d14021 KMS QPA Plugin: .pro file improvements
- Use qtHaveModule to check for OpenGL
- Add __GBM__ to pick up the correct native types in the Mesa EGL headers

Change-Id: Idfc0e81e95672b08ba8f259b9d7edf2b25fd1bad
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-02-18 13:34:03 +01:00
Andreas Aardal Hanssen 843de37bca Remove QGraphicsProxyWidget crash in QWidget::hasFocus().
A QGraphicsProxyWidget embeds a focusable widget (e.g., QComboBox). When
deleting QGraphicsProxyWidget, the QWidget will be deleted. The QWidget
clears focus, and QWidget::hasFocus() is nice enough to check if its
embedder QGraphicsProxyWidget has focus - because if it does, it wants
to clear focus from that item too. QGraphicsItem's destructor already
calls clearFocus() however, so this call is unnecessary; we can simply
stop clearing the QWidget's focus in its destructor if the widget is
embedded.

QWidget::hasFocus checks QGraphicsItem::hasFocus (on the proxy widget
that is being deleted), which checks its d_ptr, which is gone. It's
generally unfavorable for an object deleting a child to have the child
go back and poke at the parent object, which is in many ways what's
happening here.

Task-number: QTBUG-29684
Change-Id: I1e52bf28f47b2824752de28dff2d0de13733ee48
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-18 11:07:23 +01:00
Andreas Aardal Hanssen 615d120e5a Fix crash in somewhat faulty QGraphicsProxyWidget unit test.
The crash is deep inside QGraphicsSceneIndex, which calls boundingRect()
on the item that is being destroyed. The vtable is busted, resulting in
a pure virtual function call. There's a more proper fix for this lying
around somewhere but in this particular case we can get the test to
not crash by guarding based on whether the item has a cursor set. This
also happens to speed up QGraphicsItem destruction a bit so I figured
it's a win-win situation to fix it. This case will still crash if the
item actually had a cursor set but that makes the case even more narrow.

Generally speaking, creating objects partially on the stack and
partially on the heap, mixing parent/child relationships and then
deleting one of the heap objects is quite sketchy and I doubt it happens
much outside of this unit test.

Change-Id: I25393d2cafb1256269ab6681519bd554cc380bfd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-18 11:07:13 +01:00
Tor Arne Vestbø f2191d9900 Introduce macros for simplifying platform checks on Mac OS and iOS
Change-Id: Ibab8486e1e6d7e4d8922fce96add055e60c6095c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-18 00:32:49 +01:00
Tor Arne Vestbø 4e78ce288a Start using Availability.h over AvailabilityMacros.h on Mac OS
The former was introduced with Mac OS 10.6 and can also be used
for checking iOS versions, so it's preferable. We still include
the old availability header, and use it in various places in Qt,
and so does the Mac OS frameworks, so there's no need to phase
it out, but for new platform checks we want to use the updated
macros of the form:

  #if __MAC_OS_X_VERSION_MAX_ALLOWED > __MAC_10_7

Ideally you should not use the named version macro, and use 1070
instead, in case you build against an SDK that does not define
the named version yet, but we take care of defining these
in qsystemdetection.h for convenience.

Change-Id: I9cfa72e37816583f28ff9643793f111e155b7789
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-18 00:32:31 +01:00
Tor Arne Vestbø 193e3ba32e Don't override OS X deployment target unconditionally in qsystemdetection.h
AvailabilityMacros.h will pick up the MACOSX_DEPLOYMENT_TARGET environment
variable, as well as the -mmacosx-min-version= command line flag, and
set the MAC_OS_X_VERSION_MIN_REQUIRED based on that. By setting the
define before including AvailabilityMacros.h we essentially skipped
that whole logic and always set it to 10.6.

Only in the case where there's no deployment target specified on the
command line do we want to ensure that it's at least 10.6

Change-Id: Ic558ff4deb77937ea805b048d83949815b273bcc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-18 00:32:18 +01:00
Tor Arne Vestbø 0768920dbd Remove ifdefs for supporting Mac OS <= 10.5
Qt5 requires Mac OS 10.6, so we can remove checks such as
if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6

Change-Id: Iea21727a277291148704ecf9677ed0b68c24920f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-18 00:31:54 +01:00
J-P Nurmi 468d010fdf Introduce a native file dialog for GTK+ 2.x
Change-Id: I3cb29218a54b9120c2ab6e2e32b810a111a7bf3d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-02-18 00:27:47 +01:00
Giuseppe D'Angelo e88011357e Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-02-17 20:31:38 +01:00
Tor Arne Vestbø 159f42222d Remove duplicated code for handling OpenGL extensions in QtOpenGL
We now re-use QOpenGLExtensions/Functions from QtGui in the same way
as QtGui uses these classes. There is still some duplicated logic
in qglfunctions.cpp, but this code now at least uses the shared
QOpenGLExtensionMatcher class.

Change-Id: Ie04008c43d430ae805e6ec1c45e7e363deeb3b8f
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-17 20:31:30 +01:00
David E. Narváez f0221d3594 Fix call to QMetaObject::metaCall from updateProperty
Create an array of arguments in the same way
QMetaObject::write does

Task-number: QTBUG-29082
Change-Id: I4ea5ab5dcd6b55cf0a127b855b5aac27a9d4a305
Reviewed-by: Davide Pesavento <davidepesa@gmail.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-02-16 21:17:31 +01:00
Christoph Schleifenbaum 8de8800de1 Cocoa: QSystemTrayIcon showing native messages on Mountain Lion.
This patch enables usage of the new NSUserNotificationCenter as part of
Mountain Lion. On earlier versions, or if compiled on earlier versions,
Growl will be used, if installed.

Change-Id: I676f9c63aa3c1ada19d36b6310ae90915be63011
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-02-16 17:57:30 +01:00
Keith Gardner b26c9da892 QLocalePrivate: Generalized numberToCLocale.
Modified QLocalPrivate::numberToCLocale to take a const QChar * and an
integer instead of a QString. This allows for passing QStrings and
QStringRefs into the same function. Updated the
QLocalePrivate::stringToDouble, QLocalePrivate::stringToLongLong, and
QLocalePrivate::stringToUnsLongLong to use this new function signature.

Change-Id: Ifee5dfcd9b743e1d3b9123a65007c89e8ed93e83
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-02-16 14:51:21 +01:00
Peter Hartmann eaa18f3063 SSL docs: Be more explicit about the threats of ignoring SSL errors
... because almost everybody gets it wrong almost every time.

Change-Id: I54938ef094323ba8de02186b585b11b9579f3ca4
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-02-16 09:28:03 +01:00
Jędrzej Nowacki 8ec2c0a70e Revert "Provide better error if min (or max) is defined in QDateTime"
This reverts commit d0804ff2dd.

The commit breaks JSC which is used by QtWebKit, QtScript and
indirectly by QtQuick1, which blocks integration stable->dev.
JSC should be fixed upstream, but until then we need to revert
the change.

Change-Id: I3f7b8be08b68181e08422d2cb00d7cd70a7fc07f
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-02-16 08:07:30 +01:00
Tor Arne Vestbø 603e188273 Manually add Emoji font to fallback list on Mac OS
It's not part of the fallback list we read from the plist file.

Change-Id: Ieaf306d4cd51a6bb6e6f41048876d3e674a4b99b
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-02-16 05:08:03 +01:00
Tor Arne Vestbø 8b06b4136f Zero-initialize paint-device in minimal EGL platform plugin
Change-Id: Ic6b39825cf349f8ad8a56b1fb5dd3855f8675519
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-16 05:07:54 +01:00
Marcel Krems abb8beb064 Doc: Fixed typo "pragraphs" -> "paragraphs"
Change-Id: I47e88dbedd3afee4bd53550ef1ce643829aecedb
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-02-15 22:46:59 +01:00
Fredrik Höglund cb1b451cd1 Fix the GL_CONTEXT_FLAG_DEBUG_BIT check
Use the correct enum. GL_CONTEXT_FLAG_DEBUG_BIT does not have the same
value as GLX/WGL_CONTEXT_DEBUG_BIT_ARB.

Change-Id: I7d90da54ca1ff526c8b00669b486a68424fc8dfb
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-15 17:48:36 +01:00
Friedemann Kleint 34c240289a Track last visited directory for native file dialogs as well.
Task-number: QTBUG-28855

Change-Id: Ia7af8540d2a453dfeabd700f44c282c48a239834
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-02-15 17:48:36 +01:00
Topi Reinio 284958c222 Doc: Support for meta-content in manifest XML files
This change makes qdoc support additional attributes and tags written
to example/demo manifest files. The goal is to enable highlighting of
selected items, as well as having additional content to make searching
for specific categories work better in Qt Creator welcome screen.

This meta-content is stored in manifest-meta.qdocconf, which is loaded
globally for all modules.

Tag handling is also changed to use a QSet to eliminate possible
duplicate tags.

Task-number: QTBUG-29354
Change-Id: I2c4b2dff6229172efbecc2bfc1c269017edc4d56
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-02-15 17:48:36 +01:00
Israel Lins 776c488b6f QSqlResult: fix parsing of bound SQL statements
Parsing for bound SQL parameters now handles identifier quoting using
double quotes (") and square brackets ([]).

The following has only 1 bound value but previously 2 were detected:
SELECT 1 AS "A?b[?']]]de?ghi", ?

Task-number: QTBUG-27159
Change-Id: Icfd02187e1126ff3b5ed11df8d4e599f574e61bf
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-02-15 15:47:58 +01:00
Karim Pinter c8e34ed678 Fix DB2 driver X64 Linux Build
On X64 Linux DB2 driver build give an error on BIGINT conversion to
QVariant, casting it to qint64 solved the problem.

Task-number: QTBUG-20172
Change-Id: I7ef31cbe643c90b40b86cf3d7c4d3b711eabf2f5
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-02-15 15:46:57 +01:00
Andy Shaw dbbb4d1654 Don't generate documentation for classes which are not available
The Mac specific classes in QtWidgets are currently excluded and aren't
available for use in Qt 5.0.x. In Qt 5.1 they will be available via
QtMacExtras, when the widgets.pri is changed then this can be removed.

Change-Id: I04fbb5204cbd5658efaf24171c5f8dac10fbfd35
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-02-15 15:46:57 +01:00
Mark Brand 2fc5edffa4 qpsql: reuse QSqlResultPrivate::positionalToNamedBinding
reuse QSqlResultPrivate::positionalToNamedBinding for psql

Change-Id: I48713c3f94eb880cafff5fddbeadaa0746a405a9
Reviewed-by: Israel Lins Albuquerque <israelins85@yahoo.com.br>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-02-15 12:17:17 +01:00
Mark Brand 67a71731c7 QSqlResultPrivate: parameterize fieldSerial function for parsing
Change-Id: Ibaffadec9bf9e6e0d5609b7327b369d560e8e2ce
Reviewed-by: Israel Lins Albuquerque <israelins85@yahoo.com.br>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-02-15 12:16:59 +01:00
Mark Brand b8073b8414 QSqlResultPrivate: parameterize input query for parsing
Change-Id: If57f4fcea2e00a1910df5a5bd2b556289f4ffb21
Reviewed-by: Israel Lins Albuquerque <israelins85@yahoo.com.br>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-02-15 12:16:42 +01:00
Mark Brand e2b9dab539 move qFieldSerial() to static QSqlResultPrivate::fieldSerial()
Change-Id: Ic2db719437a11019262cf299929115ffa11d3d34
Reviewed-by: Israel Lins Albuquerque <israelins85@yahoo.com.br>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-02-15 12:16:17 +01:00
Samuel Rødal 783ad64b90 Fixed error in QGLFramebufferObject and QOpenGLFramebufferObject docs.
It's the format class that lets you control the number of samples.

Change-Id: Id01f107a15787f33b65429d3c882854f2dc8784e
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-02-15 09:02:16 +01:00
Frederik Gladhorn e65cd6f379 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/concurrent/doc/qtconcurrent.qdocconf
	src/corelib/doc/qtcore.qdocconf
	src/corelib/global/qglobal.h
	src/dbus/doc/qtdbus.qdocconf
	src/dbus/qdbusmessage.h
	src/gui/doc/qtgui.qdocconf
	src/gui/image/qimagereader.cpp
	src/network/doc/qtnetwork.qdocconf
	src/opengl/doc/qtopengl.qdocconf
	src/opengl/qgl.h
	src/plugins/platforms/windows/qwindowswindow.cpp
	src/printsupport/doc/qtprintsupport.qdocconf
	src/sql/doc/qtsql.qdocconf
	src/testlib/doc/qttestlib.qdocconf
	src/tools/qdoc/doc/config/qt-cpp-ignore.qdocconf
	src/widgets/doc/qtwidgets.qdocconf
	src/xml/doc/qtxml.qdocconf

Change-Id: Ie9a1fa2cc44bec22a0b942e817a1095ca3414629
2013-02-14 14:24:57 +01:00
Josh Faust 02a1243dda Fix globalPos() in scrollwheel events on OSX.
The window position was getting passed as both the window
and global positions.

QTBUG-29543

Change-Id: I24746675e5ba45adbd054742877bd2fe783d6608
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-02-14 13:40:24 +01:00
Samuel Rødal 733430636d Fixed crashes when using QImage in combination with QCoreApplication.
As long as fonts weren't used we supported using QImage in combination
with QCoreApplication in 4.x, and there's no reason we can't continue
doing so.

Task-number: QTBUG-29643
Change-Id: I2cf351d3c93f1c175bbf624e45024d39ab913111
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-02-14 10:55:33 +01:00
Samuel Rødal 17e8286fef Fixed mouse double click events not bubbling up to parent widgets.
The bug was caused by changes b371f3f943
and 3bb9024952, which removed the event
forwarding that QWidget::mouseDoubleClickEvent() used to do without
making sure to call ignore() on the event like
QWidget::mousePressEvent() does.

Task-number: QTBUG-29680
Change-Id: I98af8052ad3dd1dea15d07a710aa9212ef5e4a68
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-14 10:55:33 +01:00
Samuel Rødal ff86f6ba4c Fixed QOpenGLFramebufferObject docs to mention QOpenGLPaintDevice.
Task-number: QTBUG-29496
Change-Id: Id9ec5e2a070992f53bba58468e2472513d52cb8b
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-02-14 10:55:33 +01:00
Tor Arne Vestbø 4804f09c66 Don't assume CTFontCopyDefaultCascadeListForLanguages is available on 10.8
It's listed in the 10.8 SDK as CT_AVAILABLE_STARTING( __MAC_10_8, __IPHONE_6_0),
but not in the release notes for 10.8:

  http://developer.apple.com/library/mac/#releasenotes/General/APIDiffsMacOSX10_8/CoreText.html

The iPhoneOS 6.0 SDK lists it as CT_AVAILABLE_STARTING( __MAC_NA, __IPHONE_6_0),
which matches the release notes, and some 10.8 systems in the wild apparently
do not have this function declaration in the system headers, so for now we'll
be conservative and not assume it's available.

Change-Id: Idbadda58ea95bfca75458d77cb2799c49fba013a
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-02-14 00:45:54 +01:00
Fredrik Höglund 69701cb8c4 Fix the GL_CONTEXT_PROFILE_MASK check
A bit mask can have more than one bit set, so we can't use a switch
statement here. Also use the correct enums, and make sure that the
profile is set to QSurfaceFormat::NoProfile when the OpenGL version
is less than 3.2.

Change-Id: I6d2c4e35d4fb3d87fd47c9724cb415f8619a7b95
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-13 21:35:24 +01:00
Oswald Buddenhagen c8a8ca3059 remove QMAKE_TARGET_* overrides
there is no reason why testlib in particular should have them, while
every other module uses the standard strings.

Change-Id: I9b9e45957dfccbf02939c326dcebf06133098ede
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-02-13 19:42:47 +01:00
Oswald Buddenhagen 2ed081a88b fix & simplify quoting
$$quote() doesn't do what you think, unless you did RTFM.
and it's usually just as unnecessary as double quotes,
depending on context.

Change-Id: Iaeadaa75b0650aad383a6e6031b822c04b537fb1
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-02-13 18:42:38 +01:00
Fredrik Höglund 15177905ff Fix the GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT check
Change-Id: I83dc92085c81b8b0c71502ea71878b5e85cbbacc
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-13 18:42:38 +01:00
Fredrik Höglund fa167d2afa Check for GLX_ARB_create_context_profile before specifying a profile
Change-Id: Idc4982c039f8a6a304d9ce5ce6736d518fb0ef00
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-13 18:42:38 +01:00
Friedemann Kleint b5119f9d4e Move TR_EXCLUDE to qdoc.pro.
It does not have any effect in a SUBDIRS-type .pro-file.
Fixes 42a6d405e4 .

Change-Id: If2eafacecfd69b916861bf4b0afddb62628d720f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-02-13 15:48:20 +01:00
Stephen Kelly cc7239da8d Make it possible to use QPointer<const T>
This is possible with QWeakPointer, so allow it for migrating
code too.

In the process, replace the QPointerBase with a member variable for
simplicity. The functionality of the QPointerBase is replaced
by a TypeSelector template.

Change-Id: I3b4c77bdeda2b863cc33e84a3da8a25bae928c8c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-02-13 15:15:56 +01:00
Jonas Gastal 60cde0bd14 Fix undefined reference to XSetTransientForHint.
Change-Id: If137fbfd566fdd2950f012013031d74e84b16d00
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2013-02-13 15:15:56 +01:00
Frederik Gladhorn 310235593f Fix build with old MinGW
Change-Id: I9d7c40c146bb3d14cd1dccab10a70b28722c7c27
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-13 13:05:23 +01:00
Samuel Rødal d0da1f533c QMetaMethod is needed in qtreeview.cpp even without accessibility.
Change-Id: I195c4d591a1908e17ad45338d6b9a19b8948b804
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
2013-02-13 12:55:56 +01:00
Christoph Schleifenbaum 44f6dcf054 Mac: Fix transient scroll bar appearance.
Transient scroll bars should never be used outside of scroll areas,
since they would be unusable.

Task-Number: QTBUG-29389

Change-Id: Ie52d2093a4ab66085300a19ca9a1b32f13a29e79
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2013-02-13 12:43:46 +01:00
Oswald Buddenhagen d061cfde88 fix platform conditional for using our gnuwin tools
it's pointless to test the target platform - it's always windows. but it
may make sense to test the host platform (not sure whether it's possible
to x-build angle).

Change-Id: I57847c930d6108a24a1005aa44f94ba0b4f9dfec
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-02-13 12:42:40 +01:00
Oswald Buddenhagen 8204e3f045 fix angle build under msys
use library function which deals with shell specifics to set up PATH

Task-number: QTBUG-29427
Change-Id: Ic2bed4d7f0eb072bcce6a9f99be02d3cd08a7c98
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-02-13 12:42:40 +01:00
Oswald Buddenhagen e3554d7274 remove useless unset()s
there is mightily little point in unsetting variables right before
unconditionally assigning to them.

Change-Id: I24c1814ce38bf9aab4496679b1a670f3cd55c536
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-02-13 12:42:40 +01:00
Oswald Buddenhagen 707f0a20b4 remove abuse of eval()
Change-Id: I8fdba2998f9e4d03c37235c377b5db0aadc27608
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-02-13 12:42:40 +01:00
Oswald Buddenhagen 7f95a57844 produce shorter/nicer source paths
Change-Id: Ia71410fdc6ee30192239e9c9efa716cfa811c13e
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-02-13 12:42:40 +01:00
Martin Smith cd84491aad qdoc: inherited members do not show up for QML components
This was a regression bug owing to a big qdoc cleanup
for Qt5. But the way QML inheritance had been handled
was not a good design, so it has been changed here.
When a .qml file is parsed by qdoc, the base type of
the QML component is detected, and its name is stored
in qdoc's tree node for the component. After qdoc has
parsed all the QML files, it traverses the tree, and
for each QML component that has a base type name but
no base type node pointer yet, it searches the tree
for the base type node and stores the pointer to
the node in the node for the components. Then when
the output generator generates the doc page for the
component, it has access to all the inherited members
in the base type.

Task-number: QTBUG-29569
Change-Id: Ib4958d05f55fa48a572f8ca51ffd57712f29bbc7
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-02-13 10:11:48 +01:00
J-P Nurmi d1fe252d6a QSystemTrayIcon: fix the activation signal
QObject::connect: No such slot QSystemTrayIcon
    ::emitActivated(QPlatformSystemTrayIcon::ActivationReason)

Change-Id: I64dda8fb863de10d8b1d1cda1b8e6a513238b245
Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-13 10:10:16 +01:00
Bjoern Breitmeyer ad05af534d Fixed QT_NO_ACCESSIBILITY build.
Change-Id: I14229753fc2e3b54da8a285ae9d27201b73e24be
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-13 09:50:28 +01:00
Tor Arne Vestbø d1ee718955 Add support for color glyphs (Emoji) on Mac OS X and iOS
A new glyph type is added to the glyph caches for ARGB bitmap glyphs,
and the raster and OpenGL paint engines have been modified to support
this glyph type for drawCachedGlyphs().

The CoreText font engine implements support for these glyphs through
the CTFontDrawGlyphs API, since CGContextShowGlyphsWithAdvances does
not handle color glyphs.

Change-Id: Idad9ce75a911cae130d65aebe59142772a16fc12
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-02-13 02:04:16 +01:00
Stephen Kelly 8943a5a28e Don't calculate the install prefix again in the extra cmake files.
The parent file has already set a variable for it.

Change-Id: I90ddda355a580f44ea7e1e44cc7df717fa0a8b7b
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-02-13 01:14:42 +01:00
Jian Liang a65157e5b7 replay mouse press event after a popup widget has been closed
If a popup widget(e.g. a popup menu) has been closed due to a mouse press
event, the mouse press event will be consumed by the popup widget and the
widget under the mouse pointer can't receive the event. This will lead to
confusing behavior such as a push button under the mouse pointer is not
been push down.
This patch replay the mouse press event if a popup widget has been closed.

Change-Id: Id493583dfea9e64ab2964e28d559122c43bbc2a6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-12 23:52:56 +01:00
Fredrik Höglund 82eaff97d1 Don't ignore QSurfaceFormat::Options in the XCB plugin
The XCB plugin requested a forward-compatible context regardless
of whether QSurfaceFormat::DeprecatedFunctions was set, and also
ignored the QSurfaceFormat::DebugContext option.

Change-Id: I81c737447b554b3b6f61c2725bce7583e0e887ab
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-12 22:46:54 +01:00
Thiago Macieira 9253509f3e Mark public non-member non-static variables as Q_DECL_UNUSED
This avoids warnings in compilers that check for unused variables. They
can't tell that the the variable came from a header.

Change-Id: I1ea5e5bbc76d676fbb561bdc8ae6543e758de90e
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-02-12 22:46:38 +01:00
Thiago Macieira d52b5d37e2 Add Q_DECL_UNUSED to a function only used in Q_ASSERT
Change-Id: I18697037db742d38874c8a95df12c189ccc51068
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Lorn Potter <lorn.potter@jollamobile.com>
2013-02-12 22:46:33 +01:00
Thiago Macieira adb0cfc24c Add Q_DECL_UNUSED, marking functions or variables unused
It's similar to Q_UNUSED, but this is to be added in the declaration

Change-Id: I2f664129fb1f34f7913ef371d45c2c0fec958174
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-12 22:46:21 +01:00
Giuseppe D'Angelo ad0a4eaf8d Improve QRegularExpression captureCount / namedCaptureGroups docs
We need to clarify what's the status of the implicit capturing
group #0 in both of this methods. The former doesn't include it,
while the latter does for convenience/consistency in the way
we count the capturing groups.
(Note that this last behavior is actually autotested.)

Change-Id: I2170842c2a6dffa34fa56389ceead61a92c07cd1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-12 22:40:29 +01:00
Giuseppe D'Angelo d57731b0d7 QRegularExpression: print a warning if (?J) is used in a pattern
(?J) inside a pattern string can be used to allow or disallow duplicated
capturing group names in the pattern string itself.
Although PCRE supports duplicated names, in Qt we don't yet.

Change-Id: I21cd0c41273cd7ef42870ced3a0fad6ba7035cbc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-12 22:40:21 +01:00
Giuseppe D'Angelo bcd04af4e8 QRegularExpression: don't use study data when getting the pattern info
Information about the pattern (number of capturing groups, newline
settings, etc.) are grabbed when the pattern is compiled the first time.

Studying (=> optimizing) is always done later, after a certain amount
of usages. In case this ever changes, add an assert.

Besides, we're not grabbing any info that require studying the pattern
first.

Change-Id: Ica15fa21f7bf13213288d7090d3396a89900078e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-12 22:40:11 +01:00
Caroline Chao a317ee0a6f Fix sizeHint for QAbstractSpinBox
The current size hint is not correct and the text is truncated
when using prefix/suffix.

Update QCommonStyle::sizeFromContents() to get the button
and frame widths into account for the QSpinBox width.

Update sizeFromContents() in the different styles to be
consistent with the change in QCommonStyle.

Update minimumSizeHint(), calculate it using the prefix and
data range. The SpinBox can shrunk over the suffix if any.

Task-number: QTBUG-28863

Change-Id: Ia742232edf8b11d0283e8136c2818928f8755103
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2013-02-12 20:20:03 +01:00
Thiago Macieira 8f00f2020b Leave some Qt 6 remarks for QStringRef
QStringRef could have been trivial. The destructor is empty, the copy
constructor copies exactly the members and has an empty body and all the
members are POD. Both functions should be removed or defaulted in Qt 6.
When the destructor is defaulted, we can make the constructor constexpr.

We can't do that now because QStringRef is exported and some nasty
compilers (MSVC) like to export all functions, even inline ones, and
then call them without emitting a local copy.

Change-Id: Ie7509fd1a3f737a6c9156ea078d13bb347fc6be0
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-02-12 20:19:43 +01:00
Oleg Shparber 3a2276c6f3 QNX: Fix QInputMethod::keyboardRectangleChanged() signal
Change-Id: Iad3ee07ba85854d2eb0cf36710643b75993bf61c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-02-12 17:56:10 +01:00
Sergio Martins 3fb356f531 QNX: Fix qFatal() statements.
"QQNXQBBWindow" doesn't make sense.
Change-Id: I0e56d5be4a9bb7a0336f71ea3348621be730dee1
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-02-12 17:56:10 +01:00
Samuel Rødal c76ec20e55 Fixed QSurfaceFormat documentation about DebugContext requiring GL3+.
GL_ARB_debug_output only requires OpenGL 1.1 and above.

Change-Id: Ib79d370fac36fa737817ea678f0dee25283dfa31
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2013-02-12 17:56:10 +01:00
Tor Arne Vestbø 74f9664f95 Use CTFontCopyDefaultCascadeListForLanguages for font fallback if available
On Mac OS 10.8 and iOS 6.0 we can use CTFontCopyDefaultCascadeListForLanguages
to get the list of fallback fonts, which is preferable to reading the plist
file from the filesystem. The latter doesn't work (is not allowed) on iOS
in any case, so for iOS < 6.0 we use a static list of fallback fonts.

Change-Id: Ibb5e1b4dedd6bfb936f66b53a20f7ced83536ed7
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-02-12 17:43:24 +01:00
Tor Arne Vestbø 183e04a439 Don't use the fallback list to decide if the CoreText font db was populated
In some situation (such as iOS currently) we may end up with an empty
fallback list, and we don't want to re-populate the font database
on every call to fallbacksForFamily().

We do not guard populateFontDatabase(), since it's called both initially
and every time the font database has been invalidated.

Change-Id: Ief1342c40f75e5d393e054e9a20bc94bc357d482
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-12 17:43:15 +01:00
Samuel Rødal 62d25e4d4f Fixed QPixmapCache associating path with wrong QPixmap.
QPixmap::load() would not detach, so multiple paths could get associated
with the same QPixmap, causing the wrong pixmap to be shown.

Task-number: QTBUG-29639
Change-Id: I064dd6a9611b5996853bec9fb20b6224a0adcf62
Reviewed-by: aavit <eirik.aavitsland@digia.com>
2013-02-12 15:21:57 +01:00
Samuel Rødal 23b11e792c Added QWindow::Visibility convenience API to QWindow.
This finally makes it possible to make windows fullscreen etc from
QML by doing "visibility: Window.FullScreen". I don't see any reason
from not having the API at the QWindow-level instead of at the
QQuickWindow-level since this way it can benefit other use cases too.

Change-Id: If27344306eb563bc2ccd83296a46b1f2862e2db1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-02-12 15:02:53 +01:00
Morten Johan Sørvig f5acd545a8 Mac: Remove broken platformPluginPath code.
The missing "/" in front of "../Plugins" prevents
this from working - platformPluginPath is never
set.

Deployed platform plugin loading works in spite of
this via qt.conf which adds the plugin path to
QCoreApplication::libraryPaths().

Change-Id: I7ae4d13c65a380ddad72bffd29b776c39ea91c8a
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-02-12 14:58:59 +01:00
Eskil Abrahamsen Blomfeldt fe6add818e Enablers in fbconvenience for Android port
Additions to make the convenience classes work for the
Qt for Android port.

Change-Id: I25ba0faf93c7e09ab04a3fa0784e04631e5ab036
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-02-12 12:25:22 +01:00
Thorbjørn Lund Martsum 686dcce5fb Make QGraphicsViewPrivate::updateRubberBand more readable
This patch changes QGraphicsViewPrivate::updateRubberBand to return
at once in case some of the first conditions (which were needed to
do something with the rubberband) are not true.

The indentation after these ifs is fixed, and there are a few style
fixes, but beside the first 2 ifs, there are only white-space
and new-line changes.

Change-Id: I7e2edb7bfd334b35ee8ab246f733d854bff7e0f7
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2013-02-12 12:01:16 +01:00
Mark Brand c6d522532a qpsql: fix spelling in comment
Change-Id: I3d1abd6041a4adf425ba7851146659655fc12183
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-02-12 10:59:25 +01:00
Pasi Petäjäjärvi 8d2679673e Remove overlapping variable names defined in VxWorks headers
VxWorks has defined variables with same name as in Qt's headers.
Remove these undefines because that has already done in file
src/corelib/kernel/qfunctions_vxworks.h. See related change
f7bd8652ca.

Change-Id: I994ac9d00ca223b9fa955dfcba8ad6c8dcbd0549
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-12 09:40:48 +01:00
Pasi Petäjäjärvi 8840ad56a3 Use stub function rand_r for VxWorks DKM mode
Vxworks DKM mode does not have rand_r function, use function
implementation from qfunctions_vxworks.h/cpp instead.

Change-Id: I8f23c3453ab9f31280eb90f66dd83d7a64ee98c9
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-12 09:40:48 +01:00
Samuel Rødal 1f5b10281f Document the QPainter::HighQualityAntialiasing render hint as obsolete.
It was only used in the now removed OpenGL 1.x paint engine.

Change-Id: I2237172de700bfd31ca25279fbed21d601785962
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-02-12 09:40:48 +01:00
Morten Johan Sørvig 784b965559 Cocoa: Export QImage <-> CGImage conversion funcs.
For implementing to/fromMacCGImageRef in QtMacExtras.

These do not depend on internal Qt state. The main
reason for exporting them is to keep the implementation
in one place to ease maintenance.

Refactor qt_mac_cg_context to support QImage.
Add qt_mac_toQImage.

Change-Id: Ia9c226ed52d087b2c6b47aa8210ed8f2645b9cf2
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-02-12 07:50:03 +01:00
Mitch Curtis 4aa86461eb Ensure QDateTime can handle QDate's full range of julian dates.
Currently, using QDate::maxJd() in tests will fail. This patch changes
some ints to qint64s to prevent overflows where necessary.

Change-Id: I61ebf8f233411a7544689fd5bfa9c3abee54e933
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-12 07:29:36 +01:00
Mitch Curtis 86115848b5 Correctly detect HTML 5 charset attribute in QTextCodec::codecForHtml()
QTextCodec::codecForHtml currently fails to detect the charset for this
HTML:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=9,chrome=1">
    <title>Test</title>
    </head>

This patch makes the detection of charsets more flexible, allowing for
the use of the HTML 5 charset attribute as well more terminator characters
("'", and ">").

I also added a *_data function for the unit tests.

Task-number: QTBUG-5451

Change-Id: I69fe4a04582f0d845cbbe9140a86a950fb7dc861
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Denis Dzyubenko <denis@ddenis.info>
2013-02-12 01:31:26 +01:00
Thiago Macieira 7abc1a6a82 Simplify a function to fix a warning reported by ICC
ICC thinks that the return statement is missing:
src/plugins/accessible/widgets/itemviews.cpp(867): error #1011: missing return statement at end of non-void function "QAccessibleTableHeaderCell::parent"

Clearly it's wrong, but the function is overly complex for no good
reason. So just simplify it instead.

Change-Id: Ic63029df18b4712d9864a4dc66b6751b2d4574b7
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-02-11 23:33:00 +01:00
Thiago Macieira 2d98bd48e5 Add Q_DECL_RESTRICT and Q_ALWAYS_INLINE for MSVC
Change-Id: I598463e5990e91a5a049d1f9f7a4aa80930c0904
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-11 23:33:00 +01:00
Thiago Macieira f9f0f4aea5 Rename the Q_STATIC_INLINE_FUNCTION macro to Q_ALWAYS_INLINE
That's what the macro did anyway, except it had an extra "static"
keyword. This allows us now to use Q_ALWAYS_INLINE in non-static
contexts, if we wanted to (e.g., certain template cases).

Change-Id: I899d359f46234e93d1912ef9125080dc84e15c93
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-11 23:33:00 +01:00
Peter Hartmann 28d526db74 BB10 systemProxyForQuery: query system proxy also for non-URL requests
... like e.g. in QAbstractSocket::connectToHost().
We can set the scheme on the query URL based on well-known ports; even
if the port is not well-known, we can just query the URL anyhow and let
the netstatus API resolve the right proxy for us.

In addition, return early for local schemes like "file" and "qrc".

Task-number: QTBUG-29425
Change-Id: I900f1ecbac6dd380bb8a77470b39de2c07aa7f6e
Reviewed-by: Andrey Leonov <aleonov@rim.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-02-11 21:36:19 +01:00
Mark Brand 00d8de8589 move QSqlResultPrivate to private header
Change-Id: Ice5464989530d521f65703daa080cb2094afef3c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Israel Lins Albuquerque <israelins85@yahoo.com.br>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-02-11 21:23:48 +01:00
Gabriel de Dietrich d57e9b35c9 QPA Cocoa Menu: Make sure mouse button state is clean after popup
Calling popUpMenuPositioningItem:atLocation:inView: will swallow any
mouse up/released event, if we popup on mouse down/pressed. Since we
cache the button state in QNSView, the safest way seems to be to clear
this button state. Another option would be to send Cocoa mouse up
events for each mouse button, but we prefer to keep things simple.

Change-Id: I7f3f369c45e9f5ed9d2ab693bffd8be4a4596ae6
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-02-11 17:51:24 +01:00
Jon Severinsson 34a3f2cd44 Allow QtTest's QCOMPARE to work with mixed q(u)int32 and q(u)int64
Change-Id: I491edcae84c149775cf3640626ccff8cbf0d69fe
Reviewed-by: Jon Severinsson <jon@severinsson.net>
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Jason McDonald <macadder1@gmail.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-02-11 17:51:19 +01:00
Stephen Kelly c21ed8ca1f Remove dead code from QPointer.
The compilers checked here are not supported in Qt 5. Additionally,
the QSharedPointer implementation has similar operators without such
guards, so in reality these compilers may not have worked
with Qt 4.6+ either.

Change-Id: I208f3cde7c689770ae15245a555e3a58b749a8a3
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-11 17:51:16 +01:00
Andy Shaw 83e6d1fe60 Add support for getting the paper names available for the printer
Task-number: QTBUG-27714

Change-Id: I9bc6f1188f262e43f581add058d7895e1b5bd9e3
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-02-11 17:50:56 +01:00
Friedemann Kleint d180560e14 Fix QWindow::setFramePosition() to keep the size.
Change-Id: I14551e0d0573c2e8d86d76eadab4df9f3c8ed5e4
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-11 15:17:07 +01:00
BogDan Vatra 78d4c949a4 Also copy checkable property to platform item
Add missing property copy statement.

Change-Id: Ic7cae46becd412194a490d0fe501ce6ebe2737a3
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-02-11 13:32:44 +01:00
BogDan Vatra c4b88b0540 Automatically hide the SIP
Change-Id: I4d63a883941842aed9a9c3806479d7aeeebb9f56
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-02-11 13:32:38 +01:00
Kai Koehne c927d6b9e1 Rename function to fix symbol clash in static build
Rename qt_gl_read_framebuffer function to qt_gl_read_frame_buffer in
Qt5OpenGL. This fixes an error when linking statically against both Qt5Gui
and Qt5OpenGL:

Qt5Guid.lib(qopenglframebufferobject.obj) : error LNK2005: "class QImage
__cdecl qt_gl_read_framebuffer(class QSize const &,bool,bool)"
(?qt_gl_read_framebuffer@@YA?AVQImage@@ABVQSize@@_N1@Z) already defined in
Qt5OpenGLd.lib(qgl.obj)
   Creating library debug\composition.lib and object debug\composition.exp

The function was duplicated in 6e28e844 .

Change-Id: I9e3b78e0ec5b25264575d563538587b45cd93e86
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-11 12:29:05 +01:00
Frederik Gladhorn 7f15506548 Remove Nokia from ssl linking exception.
Change-Id: I559d4dd8789a249af855f6fe9bfe013ba1d77132
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-02-11 11:59:22 +01:00
Montel Laurent c080f1f98a Remove unused variable
Change-Id: I3cef189a668f73c8599958b2c15bf140bd86d091
Reviewed-by: David Faure <david.faure@kdab.com>
2013-02-11 11:12:08 +01:00
Montel Laurent 6230873a65 Fix initialize variables
Change-Id: Iaebd03bebf38cddf84f163703e2820925b69c3d9
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-02-11 11:02:56 +01:00
Oswald Buddenhagen 42a6d405e4 exclude bootstrapped tools from lupdate message collection
the translation infrastructure is disabled in the bootstrapped tools, so
the translations are wasted.

Change-Id: Ief5d13f09242e03aaf0d4a3d9b1645f9c7a1ab3a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-11 10:57:46 +01:00
Morten Johan Sørvig 5a46251de3 Fix devicePixelRatio getter for embedded QWindows.
m_nsWindow is not set for non-toplevel QWindows,
causing devicePixelRatio to always return 1.

Use [m_contentView window] instead.

Change-Id: I6689a70812c9484f103b5e706fe4c1b76406b750
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-02-11 08:35:03 +01:00
Stephen Kelly 5764f10323 When expanding up the tree, there is no need to expand above root.
The index set by setRootIndex is the root of the visible part of the
model. Expanding more than that is not needed.

Change-Id: I0015e313ef046ff63c67338c4f00c37e1aa71ca7
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-02-10 12:51:43 +01:00
Stephen Kelly 316d8ececa Don't duplicate the 'top-level' include dir in all modules.
This is the <prefix>/include directory which is independent of the
module and which only has to be used once. As everything uses QtCore,
it is enough to set it only there.

The CI system is a special case, in that it tests things before
installation. Handle that case too.

Change-Id: Idcdf9617e199b7d490cb3553cce07f1f464b3bec
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-02-09 19:35:25 +01:00
Tor Arne Vestbø 98a286cbde Fix segfault when setting a device-pixel-ratio on a null-QPixmap
Change-Id: If3680766a50d5cf78889822d740c9472123191a7
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-02-09 17:59:23 +01:00
Mark Brand 8fd7d46b3a QSqlResult::savePrepare() simplify logic
Change-Id: If0b54a4c17f1c71c2bb33ae4d514ad6a9cc17e4c
Reviewed-by: Israel Lins Albuquerque <israelins85@yahoo.com.br>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-02-09 17:37:15 +01:00
Thorbjørn Lund Martsum 137906da8e QGraphicsView - remove not needed storeMouseEvent
updateRubberBand is only called from mouseMoveEvent.
The event is not changed. At the end of the event
we call d->mouseMoveEventHandler which calls
storeMouseEvent. There is no need to call it twice.

Beside that this patch also changes the argument
from QMouseEvent* to const QMouseEvent*. The only
reason it needed to be const was the call to
storeMouseEvent.

Change-Id: I01148a6a8d36e782c4d95a90e36435e20b1681e1
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-09 15:58:09 +01:00
Richard Moore 20bde28448 Add support for SHA3 to QCryptographicHash.
This commit adds SHA3 support to QCryptographicHash. Two implementations
are provided, one optimised for 32 bit and one for 64 bits. The code has
been written to make it easy to add further implementations, for example
ones using NEON instructions on ARM.

Change-Id: I3be9c45bbd4fcc2771d697e7f7ae74e48a831e8f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-02-09 15:58:09 +01:00
Samuel Rødal d1acaf2b1c Fixed QOpenGLFunctions feature/extension detection to check GL version
If the GL version is new enough the extension string won't contain
features that have been standardized. So far we only check for FBOs.

Change-Id: Ib29826f378b394894885717c062872581bd5c9f5
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-02-09 13:55:00 +01:00
Erik van Pienbroek 3798b129c0 Try harder to locate external OpenSSL libraries on win32
When OpenSSL is built using MSVC then the library names are
named ssleay32.dll and libeay32. However, when OpenSSL is built
with GCC then different library names are used like libssl-10.dll
and libcrypto-10.dll (depending on the version of OpenSSL used)

Change-Id: Icb79a5f82d2a511752bfc904f53a58423ce4b86b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Peter Hartmann <phartmann@rim.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-02-09 13:35:28 +01:00
Peter Hartmann 916f0ff663 QUrl effective TLDs: update table and split into chunks of 64K
The table is there to know which domains are allowed to set cookies
and which are not. There are more than 2000 new entries since the
list has last been generated.
The split to 64K chunks was made because this is the hard limit for
strings in Visual Studio.

Change-Id: I511aec062af673555e9a69442c055f75bdcd1606
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-09 10:12:44 +01:00
Marcel Krems 2e9caa8942 SSL: Use correct signature for SSL_get1_session
This fixes a compilation error with GCC 4.7
which was introduced in b5652df775
In function ‘SSL_SESSION* q_SSL_get1_session(const SSL*)’:
invalid conversion from ‘const SSL* {aka const ssl_st*}’ to ‘SSL* {aka ssl_st*}’ [-fpermissive]

Change-Id: I909f7fb4295b2019283a7af66a038d4711e5f7cb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Peter Hartmann <phartmann@rim.com>
2013-02-09 03:01:04 +01:00
Israel Lins 6c151605bc QSqlResult: consolidate SQL parsing for binding
Consolidated SQL parsing for binding values, removing repeated code.

Change-Id: I77aadcfd2673b067f7deb52b826d7b5a2ba2ae2a
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-02-09 01:39:54 +01:00
Mark Brand f03d4bdae8 QSqlResult: note in doc about misnamed method
Change-Id: I488a915622445527c529b35db639ec3b6e887d1d
Reviewed-by: Israel Lins Albuquerque <israelins85@yahoo.com.br>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-02-09 01:39:54 +01:00
Mark Brand 93ed02e3b1 fix QSqlTableModel:revert() for OnFieldChange
revert() should operate in OnFieldChange edit strategy just as
submit() does. The reason in Qt 4 for excluding OnFieldChange
was that there was no opportunity to revert. The model was
refreshed, causing all changes to be lost. In Qt 5 a failed
edit remains in the cache until user action, which could be
to revert.

Change-Id: Ide021c4f83a53834b7ed81f2abfa3aa49317704d
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-02-09 01:39:54 +01:00
Oleg Shparber 6b8d0b3092 QNX: Add support for QInputMethod::keyboardRectangle()
Change-Id: Ie23aa06fed5778e228abf0f35fc1136a86661771
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-02-08 23:18:06 +01:00
José Dapena Paz 9b90ab9914 Add QWindowSystemInterface::handleFileOpen(const QUrl&)
In some cases, the call to handleFileOpen may receive a non local URL.
With previous API, there was no way to pass it to other layers. With
this change, any platform plugin creating this event can directly pass
a URL.

Change-Id: Ibd7299ad6c09527e1db979840bd67726882efb9b
Reviewed-by: Jose Dapena Paz <jdapena@igalia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-02-08 20:23:00 +01:00
Samuel Rødal bfa1584162 Added version() and setVersion() convenience API to QSurfaceFormat.
This lets you write code like format.version() >= qMakePair(3, 2), and
format.setVersion(4, 2) instead of format.setMajorVersion(4);
format.setMinorVersion(2);

Change-Id: Ib052091cc12865ea0d5db52e468ed6cd28f14840
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-02-08 20:00:00 +01:00
Martin Smith 4866fcf008 qdoc: Missing links to qRegisterMetaType()
A serious problem in the design of qdoc is its
C++ parser. It is an ad hoc recursive descent
parser, which has not kept pace with Qt's use
of the more esoteric aspects of C++. Part of
the problem is that qdoc does not send files
through the preprocessor before processing
them. The bottom line is qdoc needs the C++
parser used in Qt Creator.

But that is a long-term solution. In the short
term, we have to introduce minor hacks like
this one to keep qdoc going until the parser
can be replaced.

The problem in this case is that qdoc doesn't
handle the QT_PREPEND_NAMESPACE macro in
function declarations. The solution is to let
qdoc ignore the macro and just use the macro's
parameter, which is what qdoc wants anyway.

Task-number: QTBUG-28953
Change-Id: I5b9efcc10fa8fb500a44854ee995c2e50e9e16b5
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-02-08 17:37:51 +01:00
BogDan Vatra 934afb5c57 Fix loading of SSL certificate of DER files.
DER certificates should not be opened as text files, so we
only pass the QIODevice::Text flag when the format is
QSsl::Pem.

Change-Id: I4bad98023c397b967d5beeec0aaa6c414e06fd9c
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-02-08 17:37:51 +01:00
hjk efbecc1a94 Allow actions in a QMenu to show their tooltips
This introduces a property QMenu::toolTipsVisible with
default value set to 'false'.

Task-number: QTBUG-13663
Task-number: QTBUG-2362
Change-Id: I13079609e2a92adc71b2bbff3dd94494cde1f586
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-08 15:49:48 +01:00
Gabriel de Dietrich 2be39c6832 Cocoa: Make tool window receive mouse events also when its parent is modal
We need to check for the Cocoa window class because of the way
currently QDockWidget works.

Change-Id: If69c7327c168518614fe884defa79deb358e260d
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-02-08 15:24:13 +01:00
Daniel Teske e7a242b27b QProcessEnvironment: Permit magic cmd variables
The cmd shell inserts magic variables starting with a = into the
environment.

Task-number: QTCREATORBUG-8716
Change-Id: I2f140032aea4fb1d77633c6baf90d7b536e2812a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-02-08 15:24:13 +01:00
Friedemann Kleint 67bed5616b Fix broken fading of menus.
Breakage introduced by   b3820b12fb
Set layered in backing store for frameless windows as was before.

Task-number: QTBUG-29010
Task-number: QTBUG-28531
Change-Id: I13f8f0d58d71b6612430c7048056f672e23b8095
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-02-08 15:24:13 +01:00
Friedemann Kleint 391b5a465e Do not force top level flag on embedded windows.
Regression introduced by cd7ba89a07.

Task-number: QTBUG-29564
Task-number: QTBUG-28872
Change-Id: I6402a971af89321d18afb42dc25e54b1c88df129
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-02-08 15:24:13 +01:00
Olivier Goffart c6cb4ddbf9 qMetaTypeId(): deprecate the dummy parameter.
It was there because of MSVC6 compatibility.

It is not removed, because some code used to do
 qMetaTypeId(&myVariable);

This was not a documented feature anyway, so it should not be user
visible.

Change-Id: I55327d7e73e67a6bb741817741d530d5a650291a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-02-08 13:36:14 +01:00
Frederik Gladhorn bc8727cbbc Add translator help for accessibility strings
There is also one string fix: cursor was twice,
the second one should have been text caret.

These roles follow IAccessible/MSAA as reference.

Change-Id: I39b64fd01376fec9e8d9b743c43a24611a1d9fbd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-02-08 12:06:36 +01:00
Topi Reinio 10d5b24cc5 Doc: Make QDoc/HelpProjectWriter always add member pages to .qch files
This change refactors the code for inserting compatibility and
obsolete member pages into a qhp file, detaching it as a new
function and calling it when processing each node.

This ensures that members page, compatibility and obsolete
pages (html files) are added to .QCH files for all processed
nodes that have children or related nodes.

Also renames a variable ('node'->'nodeChildren') to prevent
shadowing.

Task-number: QTBUG-29314
Change-Id: Iccee70ba8768d48b24e68b08651043d0ce4a62a5
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-02-08 11:22:27 +01:00
Thiago Macieira f79cc2d66b Fix crash-on-exit with some plugin systems (e.g. sensors)
Don't assume that all entries in the QLibrary global data refer to
libraries have have been loaded. There are three (not two) ways of
getting entries there:

 1) creating a QLibrary
 2) using the static QLibrary::resolve
 3) via plugins

The unload code was meant to handle the first two cases only: libraries
are still loaded at the end of the execution if the static methods were
called or if QLibrary objects were leaked. It didn't handle the case of
plugins being found by the directory scanner in QFactoryLoader but never
loaded.

Note it's possible that this assertion also happened with leaked
QLibrary.

Change-Id: Idcd7a551f96d8fe500cbca682f8014f5122b7584
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-02-07 23:32:05 +01:00
Tor Arne Vestbø 155a20628b Use QPaintEngineEx to decide if font is too big for using the glyph cache
Instead of having separate logic in the OpenGL paint engine.

Change-Id: I9854328f784864e52ba1bbaafe5e1c5dda976231
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-02-07 19:03:33 +01:00
Friedemann Kleint d757d023fe Fix spelling error found by bot.
Change-Id: I7e9a00e014368450b6dcb8172f7888bb744d6555
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-02-07 18:22:08 +01:00
Bjoern Breitmeyer b06363886d Fixed QT_NO_DRAGANDDROP build for the windows plugin
Change-Id: Ieb987105bdcc08118a1b83cf3b74a93fa402264a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-07 18:22:08 +01:00
Jerome Pasion 09e972884e Doc: Made QDoc Manual use Qt 5's qdoc
-removed extra qdocconf and files
-"make docs" using QMAKE_DOCS
-installs the documentation in QT_INSTALL_DOCS
-updated title of the manual to "QDoc Manual"
-modified listing of contents in Assistant

Change-Id: I22f93c0903c5e672a0e7efa83bf3f592658be66d
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-02-07 18:22:08 +01:00
Frederik Gladhorn 681085c198 Accessibility: Ignore TableModelChanges on Linux for now.
This part will be improved in Qt 5.1. Currently it just spits
out debug messages for unhandled events.

Change-Id: I22475317ab54a8223d42536e1cee3f93a969e497
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-02-07 16:10:47 +01:00
Bjoern Breitmeyer e74bf9497c Fixed QT_NO_CURSOR build for windows/CE plugin.
Change-Id: I02f13b2af2d8c285fbca46917ff77826720857be
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-07 16:10:47 +01:00
Bjoern Breitmeyer d45b40007f Removed User32.dll usage on WINCE
Change-Id: Id65dc0a9a829d66d0a2cc7bd40c5ba3190d9ecba
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
2013-02-07 16:10:47 +01:00
Laszlo Papp d00224881b Fix a typo in the qdoc manual
Change-Id: I7eb6348562a18ce87e065950315dec3253a22aeb
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2013-02-07 12:36:25 +01:00
Friedemann Kleint 41dfd254c3 qdoc: Fix translation contexts.
Put all translations into the namespace QDoc and fix warnings
about invalid tr()-usage by removing the free tr()-function
from tr.h. Provide QCoreApplication::translate() for bootstrap
builds.

Change-Id: I2b6931188346f290e80e14b84adff8892d8a860f
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-02-07 12:36:00 +01:00
Christian Strømme 5221ae5f42 Update documentation for QIODevice::readData().
readData() might be called with a maxSize of 0, regardless of the device
being buffered or not.

Task-number: QTBUG-28968
Change-Id: I666ed4d601341107722c86fe217f617ef748363d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-07 11:47:48 +01:00
Peter Hartmann 73e93f4300 QtNetwork: give started threads more verbose naming
i.e. make it obvious that they come from Qt.
This helps when debugging and trying to differ user created threads
from Qt threads.

Change-Id: Idd6804246d6676b17cf15de6b644a5be629aa023
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-07 09:55:04 +01:00
David Faure 574e5cf9c5 Add qunsetenv(), next to qputenv() and friends.
The existing tst_qgetputenv shows that qputenv with an empty value
doesn't lead to the same result on Windows and on Unix, and there was
no way to fully delete an env var on Unix (which is needed for some
env vars where not-set and empty are different, such as TZ,
see `man tzset`).
This is also why qglobal has qEnvironmentVariableIsSet() vs
qEnvironmentVariableIsEmpty(), on the getter side.

Qt4's ifdefs around unsetenv in qapplication_x11.cpp show that this is
needed within Qt too (although this particular startup notification code
has to be re-imported into Qt5 still).

Change-Id: I631c8cddbcf933d4b9008f11aefc59f5a3c7c866
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-07 01:22:40 +01:00
Peter Hartmann b5652df775 SSL: Implement session sharing and use it from QNetworkAccessManager
This improves performance since a network round trip can be avoided.

Change-Id: I1aaff7e48ef9638cb137de0f43942c3a4dd2884a
Initial-patch-by: Markus Goetz <markus@woboq.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-02-06 23:24:44 +01:00
Thiago Macieira 8200e49bbe Allow x86intrin.h with ICC 13.1
The Intel C++ Composer XE 2013 Update 2 (a.k.a. ICC 13.1) has fixed the
bug of the undefined intrinsics.

Change-Id: If837a0800725d55fed7eff39b9d52c359dabb073
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-02-06 22:32:48 +01:00
Richard Moore 7765dff1bb Add the pristine SHA3 reference sources.
Add the SHA3 reference implementation (public domain) which will be used
in a later commit to add support for SHA3 to QCryptographicHash.

Change-Id: Id0e9d47d628cc94f1d3d2a7696836bc43f6ddf61
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-02-06 21:23:43 +01:00
Richard Moore fd9013658b Increase the size of the QHostInfo cache.
This change increases the size of the DNS cache in QHostInfo from 64
entries to 128. Given the figures in the google chrome performance paper
http://www.igvita.com/posa/high-performance-networking-in-google-chrome/
this should mean we can cache enough entries to handle 4 tabs at once.

Change-Id: I34e32e9e0966473591c59ca5f222623a354650d2
Reviewed-by: Peter Hartmann <phartmann@rim.com>
2013-02-06 21:23:33 +01:00
Olivier Goffart a620c67e64 Fix copy-paste errors in QtPrivate::ConnectionTypes
That resulted in error such as:
  qobject_impl.h(82) : error C2078: too many initializers

This should have been tested by tst_QObject::connectManyArguments, but
the test did not work because the detection of defined QMetaType was broken
for const references. That will be fixed in a latter commit.

Task-number: QTBUG-29130
Change-Id: I78514c251358c0e8adf33af724d87ab114230cd3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-06 20:38:24 +01:00
David Faure ca19cba2ac Factorize code for formatting window titles into QPlatformWindow.
Change-Id: I0dcccd08916fc2ea1b795681e9b98a9550ef51b6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-06 18:39:32 +01:00
Sergio Ahumada c6ac59cc91 Add note about QT_{BEGIN,END}_HEADER removal for Qt 6
This macro usage has been removed from most of the Qt 5 code, so
adding a note to be completely removed in Qt 6.

Change-Id: I19a90db78745f3cacbcbf206e8642c7d7c36e04a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-06 17:14:01 +01:00
Oswald Buddenhagen bf915eeea2 export QT_CONFIG only in Qt5Core.pc
there is no point in duplicating the information in every module.
host_bins is exported only here as well.

Change-Id: I2f816e1cade9761a2c0d97c7ca1c90293095bfb1
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-06 14:21:44 +01:00
Mitch Curtis 9b52415fc9 Fix broken IANA link in QTextCodec documentation.
Change-Id: I81708691ada600c444a60a8f9b007b0ce64f8b68
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-02-06 14:21:44 +01:00
Mitch Curtis 2f555cf6b7 Fix typo in QString documentation.
Change-Id: Ic7ee426e17bb851d948ff5a772559d80ec7fa059
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-02-06 14:21:44 +01:00
Friedemann Kleint b3820b12fb Windows: Fix setting of layered windows.
The setting/clearing of WS_EX_LAYERED in the backing store
interfered with the setting/clearing in setWindowOpacity
when combining translucent and non-opaque windows.
Introduce QWindowsWindow::setWindowLayered to handle
it consistently.

Task-number: QTBUG-29010
Task-number: QTBUG-28531
Change-Id: Ib6e2740aae417bdf7b3db9ef7deb646be98df1d6
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-02-06 14:21:44 +01:00
Jan Arve Saether ba2a0d652c Clean up whitespace
Change-Id: I3413e0f55df07a35ad2e93da9bae2ca7f9b8d4c1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-02-06 14:21:44 +01:00
Paul Olav Tvete 05ce12849b Spell "Qt" correctly
Change-Id: Idf2b5c888f159ee8ffdb81ed74e685c40951c6b4
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-02-06 12:00:07 +01:00
Friedemann Kleint 5bf3fb34be Fix lupdate-warning in qnetworkreplyhttpimpl.cpp.
qnetworkreplyhttpimpl.cpp:666: Cannot invoke tr() like this.

Change-Id: I3baf448f2118b108c32dcddc7e408b2b75542eab
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-02-06 12:00:07 +01:00
Jan Arve Saether 7502a78388 Check if the interface pointer is valid to avoid a potential crash.
Change-Id: I7e6634b799e551786d6cbc85e2d526b7874ada3d
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-02-06 12:00:07 +01:00
Jan Arve Saether 20204fe58b Do not crash if the child index is out of range.
Task-number: QTBUG-29077

Change-Id: I934101cdc121e9ef99de2e9eeaef154dd4cae0d8
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-02-06 12:00:07 +01:00
Samuel Rødal af84313c62 Fixed crash in image reader when reading certain BMP files.
If the high bit in a mask is set, for instance if the mask is
0xff000000, and we shift it to the right by 24 positions, since the mask
was not declared as unsigned we ended up with a mask value of
0xffffffff. We then add 1 to this value and divide by the result,
causing a division by zero crash.

The masks need to be declared unsigned to prevent sign bit extension
when shifting right.

Task-number: QTBUG-29194
Change-Id: I79260344cebfbdd3ea86416a9c734dca76517999
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-02-06 09:59:56 +01:00
Mark Brand c3ae1c76f3 QSqlTableModel: support refreshing inserted rows with auto columns
Previously, selectRow() did not work after INSERTing a new row into a
table with an automatically populated column. It did not work because
the model did not know the primary values for the new row. Newly
inserted rows were therefore not refreshed in OnFieldChange and
OnRowChange edit strategies.

This change provides support for the typical simple case where a single
column is populated by the database and can be retrieved with
QSqlQuery::lastInsertId().

Task-Number: QTBUG-29102
Change-Id: Ibf0f0ac8661185bde57034ddf40c2178bece4778
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Lukas Geyer <lgeyer@gmx.at>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-02-06 07:57:47 +01:00
Mark Brand 33c212b7d2 QSqlTableModel::setData(): fix non-change detection
Commit 10ff9de91b introduced the
optimization of ignoring non-changes, but it overshot the mark.
It neglected to consider that QVariant's equality operator does not
compare the null flag. It also failed to consider that setData() has
a useful side effect of setting the generated flag in a column of a
pending INSERT. This is important when the application actually wants
a NULL to be inserted into the column.

Task-number: QTBUG-29217
Change-Id: I1368f7acc21eebfeb5a8d23746fc38f6f30fd395
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-02-06 07:57:28 +01:00
Mark Brand a694b9f8d2 fix QSqlTableModel::headerData() for empty query with inserted row
QSqlQueryModel::headerData() relied on virtual indexInQuery() to
detect whether the requested column at row 0 mapped to an index in
the query. This failed when row 0 was a pending insert managed by
QSqlTableModel, and therefore not in the query.

The only thing that matters here is the column.

Task-number: QTBUG-29108
Change-Id: I3e0ae85ba223e444781ec8033386d394bb44f0e8
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-02-06 07:57:13 +01:00
Jerzy Kozera 1b7c70ca5d Allow overriding subElementRect in QProxyStyle for ItemViewItem
proxy() should be used instead of direct calls to QCommonStyle methods
to allow overriding behavior in QProxyStyle, while keeping fallback
to default behavior.

Change-Id: I338e6b65f4c0ee77c55f03c412f59877fad42b79
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-02-05 21:05:14 +01:00
Frederik Gladhorn a1f4a821fc Nokia -> Qt Project
Change-Id: Iadd29ee918dc181d2a468f5198e66351c7cb3548
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-02-05 20:53:57 +01:00
Frederik Gladhorn d7cad756ef Replace nokia in example by Qt Project
Change-Id: I23adfd6a1cf02c8c99996b698fb780988434b9a7
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-02-05 20:53:57 +01:00
Topi Reinio 1d9863658d Doc: Fix filenames for nested classes generated by qdoc
Generator::fullDocumentLocation() adds a parent class name twice into
the generated filename for nested classes, which not correct.

This change fixes the issue and makes documentation for nested classes
work in Qt Creator (qch files).

Task-number: QTBUG-29440
Change-Id: I489800ba09f49dda2befef73634cb2b344be0060
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-02-05 18:54:41 +01:00
Laszlo Papp 334101df92 Do not use the non-existent state() method reference
Task-number: QTBUG-29094
Change-Id: I715018a82b7f8405dee023cbe5f2481883cad3e2
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-02-05 16:55:22 +01:00
Sergio Ahumada f316502d58 Add QT_{BEGIN,END}_HEADER definition back
This commit partially reverts 07e3bcdc10
The empty macro defition was not supposed to be removed yet.

Change-Id: Ie83b2adbe2328b83c70a70274a401e1e6c74498f
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-02-05 15:28:41 +01:00
Mark Brand f9bd36deac qsql ibase: remove duplicate class definition
Follow-up to 1580f55847

Task-number: QTBUG-29455
Change-Id: Id254a166ac901fb0cc0ba81db4bf1051a2acb53f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-05 15:09:51 +01:00
Eskil Abrahamsen Blomfeldt 2f2107c1ba Add enablers for Android port in QPlatformMenu
We need a couple of functions here for the Android support.

Change-Id: I50e27277d7e838e277d616dbd3af9be817fb7197
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-02-05 15:03:34 +01:00
Laszlo Papp 6c6960015e Add qDegreesToRadians and qRadiansToDegrees math functions
Change-Id: I6e9fd76f2d2860f46531a72349b46193b8eeaaa7
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-05 14:40:14 +01:00
Laszlo Papp 1de63171ee QScroller was introduced in Qt 5.0, not 4.8
Task-number: QTBUG-29365
Change-Id: I11804bf51f1537dcd7f40d7ec02022d8fb76c1e8
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-02-05 14:24:50 +01:00
Gabriel de Dietrich 655ba57556 Cocoa QPA: Fix compilation error
The error appeared with latest clang as of Feb. 5, 2013.

Apple LLVM version 4.2 (clang-425.0.24) (based on LLVM 3.2svn)
Target: x86_64-apple-darwin12.2.0

Change-Id: I8df8cccc941ac03a7a997bdd5afe095b7b6f65d3
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-02-05 14:24:50 +01:00
Friedemann Kleint d81edc440b Fix lupdate-warnings in simplewidgets.cpp.
simplewidgets.cpp:429: Discarding unconsumed meta data
simplewidgets.cpp:535: Discarding unconsumed meta data

Change-Id: Icd9686392781eb1faa7868dc4c92d26fa44c4f94
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-02-05 14:24:50 +01:00
Friedemann Kleint 0972067264 Fix lupdate-warnings in QSpiAccessibleBridge.
linuxaccessibility/bridge.cpp:169: tr() cannot be called without
context

Change-Id: Ib6bd4db7c4759818ccba8adff73617af7331f318
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-02-05 14:24:50 +01:00
Giuseppe D'Angelo 53f9e77140 QRegularExpression: add method for extracting the capturing group names
It may be useful to know which named capturing groups are defined
in an regular expression, and for each of them, what's the
corresponding index. This commit adds the needed method
to QRegularExpression.

Note that extracting the information doesn't happen while holding
the mutex in the private -- pcre_fullinfo just reads information
from the compiled pattern, so that's thread-safe.

Task-number: QTBUG-29079
Change-Id: I50c00ee860f06427c2e6ea10417d5c0733cc8303
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-05 13:46:25 +01:00
Julien Brianceau 85b2ba2a92 doc: Fix QPixmapCache size default value in doc
QPixmapCache size default value is always 10 Mb
since change I2ac33765

Change-Id: I28c99433948b07e9c84d0afda7aa5a8f49d2cd18
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-05 12:18:27 +01:00
Sergio Martins 9d7e63e370 QNX: Fix one more code path that led to having no QScreens.
Qt dereferences QGuiApplication::primaryScreen() inside,
for example, QColormapPrivate::initialize().

libscreen always returns at least one display, even it it's
not connected, so lets not ignore it if it's primary.

Change-Id: I2f14a187c979ca0c7ad39149ceb0b2b7e61e9ba6
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-02-05 11:55:47 +01:00
Jens Bache-Wiig 7cc3a3adf2 Added missing null pointer check in QMacStyle
QMacStyle::subElementRect could crash if SE_LineEditContents was used
without providing a widget pointer.

Task-number: QTBUG-27033
Change-Id: I15ef07ae1310be4257a8480d392f98dbf02168d3
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2013-02-05 11:40:14 +01:00
Mark Brand 0b8065b581 remove misleading statement from ~QSqlDatabase()
The presence of the sentence "If this is the last QSqlDatabase object
that uses a certain database connection, the database connection is
automatically closed" is misleading, whether or not the statement is
true. It is about an internal detail of QSqlDatabase's implementation.
As such it is not appropriate for user documentation. The user should be
focused on how to use addDatabase(), cloneDatabase() and removeDatabase()
correctly.

Task-number: QTBUG-29481
Change-Id: I0c39584be260e13340834c34098368fcce4a7419
Reviewed-by: Florian Paul Schmidt <mista.tapas@gmx.net>
Reviewed-by: Sune Vuorela <sune@vuorela.dk>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-02-05 10:38:12 +01:00
Samuel Rødal ef7c9b5b52 Fixed missing support for single buffered OpenGL on OS X.
Task-number: QTBUG-28804
Change-Id: I426a9bbc08953d777f67a23b050570e9f7d442d7
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-02-05 09:00:56 +01:00
Jian Liang 328c7ee6b8 Show default shortcut menu when user right click window's caption
In windows platform, Qt5 will not show the system default shortcut menu
when the user right click in the window's caption. This is a regression
from Qt4.
This patch will let DefWindowProc() to handle the message WM_CONTEXTMENU
if the mouse pointer is in the non-client area of the window. Thus the
default Windows shortcut menu will show up.

Change-Id: I88638ad1d4f0e73b088204b83c3f7ec0fe2033f0
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-05 08:59:51 +01:00
Oswald Buddenhagen e01343352e fix doc page urls
they are versioned nowadays

Change-Id: I839db633e9d7d63c9d445f8e914b529bd7ce60a2
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-02-04 14:28:24 +01:00
Olivier Goffart 91e12dca75 QThread documentation: do not discourage the reimplementation of QThread
The new QThread documentation now really discourage to reimplement
QThread. But in fact, there are many cases where it is perfectly fine.
And the example given is even a case where using worker object is wrong.
The examle even contains a leak since the thread will never stop and
will even leak.

This changes put back some sentences from before commit
d4ad9dbbf9.

The sample code has been re-writen. Notice how reimpementing run takes
less lines of code, less runtime overhead, no leaks, and also is more
complete than the previous example.

Change-Id: I6cb80826e917dd5ce442ccad2572ec692ccb25ab
Reviewed-by: Andre Somers <andre@familiesomers.nl>
Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
Reviewed-by: Debao Zhang <hello@debao.me>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-04 14:22:45 +01:00
Laszlo Papp 86ca28774b Add the missing "\since 5.0" reference for the QTimer method
Change-Id: I9f2bb97eed7a1e2eb92865920f815055c847c84e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-04 14:22:45 +01:00
Thorbjørn Martsum d0804ff2dd Provide better error if min (or max) is defined in QDateTime
This is better than getting a regular compiler error without
knowing where min was previously defined.

Change-Id: I5a86599cdf76a9a8d87a51e119543206d9f835c1
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-02 10:35:22 +01:00
Thiago Macieira 29c80d0232 Make sure we don't have an operator void(), ICC doesn't like it.
ICC is right: this function will never be called. But we didn't want it called anyway. Just make it be something non-void.

qdbuspendingreply.h(185): error #597: "QDBusPendingReply<T1, T2, T3, T4, T5, T6, T7, T8>::operator void() const [with T1=void, T2=void, T3=void, T4=void, T5=void, T6=void, T7=void, T8=void]" will not be called for implicit or explicit conversions

Change-Id: I5e067bd03aafc6d6772cc1e0f8f8ae8bfa1712d7
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-02-02 10:35:22 +01:00
Thiago Macieira 02c3e955e3 Fix change-of-sign warning found by ICC
qdbusintegrator_p.h(119): error #68: integer conversion resulted in a change of sign
          : QMetaCallEvent(0, -1, 0, sender, -1, 0, 0, 0, s), connection(c), node(n),
                              ^

qpaintengineex_opengl2_p.h(193): error #68: integer conversion resulted in a change of sign
      void updateTextureFilter(GLenum target, GLenum wrapMode, bool smoothPixmapTransform, GLuint id = -1);
                                                                                                       ^

Change-Id: I7de381ea9ff348878ee99e5a18525352a779b31e
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-02-02 10:35:22 +01:00
Thiago Macieira 4c5b503f33 Remove unused variables and functions from the source code
Change-Id: I5f37414ee4846b4fe774361f49367bc0d5874039
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-02-02 10:35:22 +01:00
Thiago Macieira 83e074c31a Comment out an unused global variable.
The variable is present only for completeness in qurl.cpp.

Change-Id: I68d7ca4cd52c14fbf8154e510737f7428d8e9679
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-02-02 10:35:22 +01:00
Thiago Macieira 0da5471664 Work around an unfixed glibc bug in dlclose(3) on exit
During exit, libraries are unloaded and global destructors are run. If
we call dlclose(3) from inside the global destructors, we might be
telling libdl to unload a module it has already unloaded.

I cannot reproduce the issue on my Fedora 17 machine with glibc 2.15,
but it could be reliably be reproduced on an Ubuntu 11.10. The assertion
is identical to the one reported upstream at
http://sourceware.org/bugzilla/show_bug.cgi?id=11941 (see better
explanation at https://bugzilla.novell.com/show_bug.cgi?id=622977). I
cannot find any evidence in glibc's source code that the bug has been
fixed.

Change-Id: I97745f89e8c5481196e645dada8762d607a9fb2c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-02-02 10:35:22 +01:00
Thiago Macieira 288d3aceee Improve QLibrary global destruction
The previous solution was a global static, which got deleted at the end
of the execution of the application or at QtCore unload, whichever came
first. Unfortunately, the end of the execution often came first, which
is inconvenient: it means the global was deleted before all atexit
functions were run, including some QLibrary destructors.

Consequently, some QLibrary destructors did not reach the global data
and were thus unable to unload their libraries or delete their data
properly. The previous solution leaked.

This solution instead uses a Q_DESTRUCTOR_FUNCTION, which makes a
requirement to destroy only at QtCore unload time. Thus, we're sure that
all references have been dropped.

Additionally, during the cleanup, do try to unload the libraries that
have a single reference count left. That means either a QLibrary that
was destroyed without unload(), or a use of the static QLibrary::resolve
functions.

Change-Id: I12e0943b0c6edc27390c103b368d1b04bfe7e302
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-02-02 10:35:22 +01:00
Olivier Goffart c5c584c116 Optimize code sample of QObject::isSignalConnected
Since isSignalConnected is meant to be used in performance critical
code, and that QMetaMethod::fromSignal is relatively slow, it is better
to have it a a static variable in the code sample, as a good
recommendation on how to use it.

Since QMetaMethod::fromSignal should not change during the life of the
program, it should be safe.  Also, if different threads run at the same
time, both should lead to the same result.

Change-Id: Ib6113d11ca93f216bc3a92aea4eaa4da6a4151ca
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-02 10:03:04 +01:00
Thorbjørn Lund Martsum 6a5c6b3ce6 QTreeView - optimize. Do not do signals-work if signals are blocked
There is no need to do any kind of work with emitting signals if
signals are blocked.

Change-Id: Ic352ba157fd89bbd36c650edd809a2ea91bcdd5f
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-02-02 08:11:00 +01:00
Thorbjørn Lund Martsum 08a632ac1a QTreeView::expandToDepth - add missing emit of expanded and collapsed
Just like other functions this function should emit expanded and
collapsed.

A part of fixing
Task-number: QTBUG-8176

Change-Id: I6d801f61e6f0cb8836634cc52f0be2b610f6c728
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-02-02 08:10:55 +01:00
Mark Brand 3ba61d9baa fix build failures on mingw caused by name clash
In mingw.org, basetyps.h contains

    #define interface _COM_interface

which clashes with function parameter names in qdbusmessage.h.
Although there is no clash when building qtbase itself, the clash
makes building qttools 5.0.1 fail. Presumably this could also affect
other applications.

Taken from 2cc9a9a51d6742708b1ea41c7338755e2a0ee9e9 which solves the
same problem in another header.

Change-Id: I802d5c673b544fb3a17e9273030876928faa5c46
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-02 01:41:21 +01:00
Sergio Ahumada 2aa9f5d153 Bump Qt version to 5.0.2
Change-Id: I573601fb609cdb632fbb422920801a24be4c0448
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-02-01 23:42:03 +01:00
J-P Nurmi ebca7d2ea7 Introduce a native color dialog for GTK+ 2.x
Change-Id: I389e6995b09df85cd6c464779e8d894b7cd33205
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-02-01 19:39:31 +01:00
Thiago Macieira 8779d73d8c Put #ifdef around Windows-only function
Only on Windows do we use wchar_t messages.

Change-Id: I9672371aa001effc755b32f9d7c83ada8464394f
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-02-01 16:13:12 +01:00
Aurélien Gâteau eeb31ad10a Keep QLineEdit placeholder text visible when focused
This is useful when the widget is focused by default, and also gives
another opportunity to the user to read the message before typing,
removing the need for workarounds like clicking in another text entry to
bring back the placeholder message.

Change-Id: I4a2981a6656a87934b5c8ed4a8a2dc13b748c94d
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-02-01 16:13:12 +01:00
Friedemann Kleint 1580f55847 Remove dependency of DB driver headers on qsqlcachedresult_p.h.
Move the QXXResult classes inheriting the private class
QSqlCachedResult from header into the source files for
SQLite, SQLite2, Interbase/Firebird and TDS/Sybase and
Oracle.

Task-number: QTBUG-28088
Change-Id: Ia16d30e442e313c8165282b8a3f012fd95d96759
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-02-01 14:13:32 +01:00
Sergio Ahumada 256dc059ee Merge "Merge branch 'release' into stable" into refs/staging/stable 2013-02-01 12:31:16 +01:00
Oswald Buddenhagen 06a6d1da58 substitute fixed version numbers in qdocconf files with variables
Change-Id: Ie57765c10a8e90d6fc74ee5a8fd84bfc7cd8bcf2
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-02-01 10:23:26 +01:00
Mitch Curtis c81d15a746 Correct QTextEdit detailed description.
Change-Id: Ie5c4769c864d9dfdc1cb4ed5d2cbfb9951df582b
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2013-02-01 07:45:33 +01:00
Thiago Macieira 4b6bd14063 Let ICC 13 build Qt again if the system compiler is GCC 4.7.
GCC 4.7 has new builtins in x86intrin.h that ICC 13 does not (yet)
understand, causing compilation errors.

/usr/lib/gcc/x86_64-redhat-linux/4.7.2/include/adxintrin.h(36): error: identifier "__builtin_ia32_addcarryx_u32" is undefined

Change-Id: I1845ccc3bf3ac15aef063bc3f998c5839fa51866
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-02-01 00:48:16 +01:00
Sergio Ahumada 1e33f30f75 Remove left-overs of QT_{BEGIN,END}_HEADERS
This macro is useless from Qt 5.1 on, so:

 - Remove comment about using QT_BEGIN_NAMESPACE after QT_BEGIN_HEADER
 - There is no need to blacklist these in qt-cpp-ignore.qdocconf

Change-Id: I2c3ceb3d77d294a606b87f7486071a2350b3d42f
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-01-31 20:08:58 +01:00
Sergio Ahumada 6239af6f0f Merge branch 'release' into stable
Change-Id: If3aa1b7ed75082eff6e9761ad82c83691135ed60
2013-01-31 18:55:53 +01:00
Sergio Martins 29a78d48d0 QNX: Don't crash if we unplug the primary display.
The QPA plugin assumes in several places that we have at least
one QScreen.

Even if patching the plugin to support 0 screens, Qt itself crashes
when dereferencing a null paint device while synching the backing
store.

Change-Id: I2ac504a447aff811d6c07ab857340a3433557cdc
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-01-31 18:24:16 +01:00
Peter Hartmann 3dc47622a4 BlackBerry bearer plugin: check whether device is online several times
This is supposed to workaround a race condition in the underlying
netstatus API: Sometimes we get an event that the Wifi interface
changed, but it is not up, e.g. no gateway (yet). In that case we need
to check back (currently: 300 ms) whether the interface has come
up or not.
This commit can be reverted again once the race condition in the
netstatus API has been resolved.

Task-number: QTBUG-29421
Change-Id: I215ce8aae4848b6e942e77c6425adba90e9cc526
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-01-31 15:36:57 +01:00
Thorbjørn Lund Martsum 3260aec38e QTreeView - emit collapsed in collapseAll()
When we call call collapase we emit collapsed. Therefore it should
also be emitted on collapseAll()

This partly solves:
Task-number: QTBUG-8176

Change-Id: I20c1388fcbbb60d12debb4a0b3b0d9fed41e2563
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-01-31 13:12:40 +01:00
Thorbjørn Lund Martsum 80fa4b6c8e QTreeView - emit expanded on expandAll
When we call QTreeView::expand expanded is emitted.
For the same reason we should emit expanded on expandAll()

This partly solves:
Task-number: QTBUG-8176

Change-Id: Ie85e724eec50980c68f626ec47dec5c1e08cc085
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-01-31 13:12:32 +01:00
Friedemann Kleint 508bbe9507 XCB: Free cursors.
Change-Id: Id09046a3264724025e8a383cf40a959dafb9e0db
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-31 12:46:06 +01:00
J-P Nurmi ec51ad81ff QMacStyle: enable transient scrollbars for the desktop components
Change-Id: I4f57a2c4eade779c594abaacaa872540b3b23cb1
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-01-31 12:34:15 +01:00
Morten Johan Sørvig a9458a1755 Clean up logical dpi for QImage.
Revert to the pre highdpi-patch behaviour.

Before, both physical and logical DPI would be based
on the dpmx/dpmy variables, which could be changed
with setDotsPerMeter(). The highdpi patch introduced
separate ldpmx/ldpmy variables, which were not
changed by setDotsPerMeter().

This broke when loading images: setDotsPerMeter
would be called but the logical dpi would not change.

Remove ldpmx/ldpmy. Keep scaling the physical dpi
by the devicePixelRatio, which will be set to 1 by
default.

Task-number: QTBUG-29187
Change-Id: I0d6f5f3b8efae5fb1adc0a50b22a5da78324a282
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-01-31 10:39:38 +01:00
Lorn Potter 539a024819 update ofono API
Task-number: QTBUG-29381
Change-Id: I952b73d86b4e8f497b4ff90d10c1f5312882bd8a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-31 04:56:16 +01:00
Friedemann Kleint 38f740e4de Windows tray icon: Fix reinstalling after restart of Explorer.
Use a normal instead of a HWND_MESSAGE-window since the latter
do not receive the "TaskbarCreated" message. Provide an invokable
slot in the native interface to register a window class for that
purpose.

Task-number: QTBUG-29160
Change-Id: Ic25222d08d21867f7d882a9e19d8aaf50f3f47cf
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-01-30 21:50:00 +01:00
Florian Behrens 90361fd36c Added support for multicore CPUs for INTEGRITY (V10+) target.
QThread::idealThreadCount returns now the number of cores.

Change-Id: Idc23fc3c257165f6a63c6a7686a57a4fe76f6413
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-30 18:53:58 +01:00
Mark Brand 2be4d6ba02 fix path adjustments in installed metafiles
Task-number: QTBUG-28902
Change-Id: Ia70da8f0f0b7abb4ea2a46cb4068c0827888b322
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-01-30 15:43:00 +01:00
J-P Nurmi 2f854e5090 Fix QColorDialog::DontUseNativeDialog usage
Task-number: QTBUG-29387
Change-Id: I97b3267981a0dcfdc95469cd0725b52ac4845346
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-01-30 15:17:10 +01:00
Nils Jeisecke ffea8e98f7 Update roleNames in QAbstractProxyModel if sourceModel resets.
If a sourceModel resets, it's roleNames might have changed. This
is most likely the case if sourceModel itself is also a proxy model
of which the sourceModel was changed.

Task-number: QTBUG-28982
Change-Id: I102788f2c9bf97b4002b350673f9219e32e7a052
Reviewed-by: Nils Jeisecke <jeisecke@saltation.de>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-01-30 15:17:05 +01:00
Oswald Buddenhagen 5b3ebdc26f fix angle sub-target name
Change-Id: I4dc374f96d492f75aee3724eadbd95626fa7a6d7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-01-30 13:50:41 +01:00
Fabian Bumberger 36f64ec6ac Work around posix violation in qnx (missing pselect())
Change-Id: I7c1ae85ee7e92da3f394b488643613894977556e
Reviewed-by: Peter Hartmann <phartmann@rim.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Bernd Weimer <bweimer@rim.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-30 13:00:02 +01:00
Gunnar Sletta 6bd03762d4 Refactor QEglFSPandaHooks and add physicalScreenSize()
Change-Id: I5a198af5347cc1fdce97031e0a1be99b2120c3ac
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-30 13:00:02 +01:00
Morten Johan Sørvig 393fcf69dc Cocoa: prevent scale factor value of 0.
Check that the NSWindow pointer is valid before
calling backingScaleFactor.

Change-Id: Ia23cbb4058b7d0fece008bc437f8bfec6c0ddebe
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-01-30 11:46:40 +01:00
Stephen Kelly 8eae3a923a Provide the resetInternalData slot to cleanly reset data in proxy subclasses.
This was part of Qt 4.8, but Qt 5.0 was branched before that, so
the commit was lost.

Change-Id: I2a2ab3c75a0943ac734d588ebd74bc158dd6aaaf
Reviewed-by: Nils Jeisecke <jeisecke@saltation.de>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-01-30 10:44:32 +01:00
Sze Howe Koh 52a317092e Doc: Fix references to Qt Test
QtTestLib and QTestLib don't exist. The proper name is "QtTest" (code)
or "Qt Test" (English)

http://qt-project.org/wiki/Spelling_Module_Names_in_Qt_Documentation
http://lists.qt-project.org/pipermail/interest/2012-December/005221.html

Files paths in qttestlib.qdocconf can't be changed easily however, as it
breaks things. So, they're left as they are.

Change-Id: Ifbc44ea858c453bedad8cd7723f847e67fc7a85a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-01-30 01:35:06 +01:00
Laszlo Papp b28d56588a Generate forward header (QtMath) for the math operations with syncqt
Change-Id: Ief5b5871a5d56bb606e09efcfd3a1422dcfbcd08
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-29 23:00:53 +01:00
Keith Gardner 159e17bc5b QStringRef: Added a trimmed() function.
Change-Id: I67c5d10f29f420e0aea95cf32b5d3c17c141899c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-01-29 22:28:17 +01:00
Giuseppe D'Angelo 507382c778 Drop the unused qt_gl_convertToGLFormat function
Change-Id: Ie621f562401b703077a2b304ad6d8445efc76642
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-29 21:58:20 +01:00
Giuseppe D'Angelo 962edab745 Drop the unused QGLContextPrivate::convertToGLFormat function
Change-Id: Iaa176fc6152162c91a3e3bd373a235883001975c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-29 21:58:17 +01:00
Liang Qi 70d38f078e Mac: Ensure the native filedialog sets file name when saving
The name field string was not set in native dialog when one was present.

Task-number: QTBUG-28342
Change-Id: I243b491c8bc094d45f25be96b3bde8eccbb65acd
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-01-29 16:06:01 +01:00
Liang Qi 2aef22b77a Mac: make windows not restorable on 10.7 and later
The default value for NSWindow::setRestorable: is true, it means
application will have some information for each window stored.
After a crash happened and application relaunched, the application
tries to restore those windows from the broken file. And then the
"Retore Windows" will pop up. There is no workaround for
application users or develoeprs. What they can do is to manually
remove the the saved application state file for the applicaiton.

To avoid that, better to switch it off.

Task-number: QTBUG-28281
Change-Id: I8ce3cd94f5ae81d7877a346743ca4e0e188baa02
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-01-29 16:05:54 +01:00
Frederik Gladhorn 3eb588078e Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-01-29 11:33:35 +01:00
Friedemann Kleint 7b8ab42044 Reduce invocations QString::left() in XCB key event processing.
Change-Id: I6d422af4d7186356c196d6362a850f7e7b997bb4
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-29 09:28:43 +01:00
Stephen Kelly d315e01218 Add the Qt::ItemNeverHasChildren flag and use it in QTreeView.
It can be used to determine whether expand() should really expand.

Change-Id: If79d8c295a4ca1356e60051682b227524a065126
Reviewed-by: David Faure (KDE) <faure@kde.org>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
2013-01-29 09:28:43 +01:00
Samuel Rødal d78bd439dc Offscreen testing platform plugin
Useful for running auto-tests without popping up a bunch of windows in
the windowing system. Thus they can be run in the background and even in
parallel without focus issues.

Change-Id: I8b14c6de258b41225480a0af5a2a9553663bc2b7
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2013-01-29 09:28:43 +01:00
Poul Sysolyatin 9d43288180 Exclude BMP from supported formats if it disabled by Qt build
If Qt build without BMP support, we need exclude this format
from output of QImageWriter::supportedImageFormats() and
QImageReader::supportedImageFormats() methods.

Task-number: QTBUG-27028

Change-Id: I44e8956247066c0836b1ff7bf9a1f356fe568af1
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-01-29 09:28:19 +01:00
Poul Sysolyatin 8995453263 Added 'jpeg' to QImageReader::supportedImageFormats()
When Qt build statically result of
QImageReader::supportedImageFormats() must contain 'jpeg' and
'jpg' if JPEG support enabled.

Task-number: QTBUG-29222

Change-Id: I94d731c2d1e2ede148e2e5261a310a840a1d5523
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-01-29 09:27:43 +01:00
Sze Howe Koh d48534302c Doc: Fix description about Qt::UniqueConnection
Qt::UniqueConnection is a flag, not a standalone connection type.

Change-Id: Ibafb7306f3d60753a4381897488131e6484d368f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-29 01:53:20 +01:00
Sergio Martins e02ecba61f Delay initialization of QQnxRootWindow until first access.
QtWebProcess, for example, doesn't create any QWindow, so it doesn't
need any root window.

This fixes Webkit2 rendering on QNX.

Change-Id: I1d4c0dd20869798ba2bcd15f9d96e5fca4beb48e
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-01-29 01:50:42 +01:00
Sergio Ahumada 07e3bcdc10 Remove QT_{BEGIN,END}_HEADER macro usage
The macro was made empty in ba3dc5f3b5
and is no longer necessary or used.

Discussed-on: http://lists.qt-project.org/pipermail/development/2013-January/009284.html
Change-Id: Id2bb2e2cabde059305d4af5f12593344ba30f001
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-01-29 01:06:04 +01:00
Thiago Macieira 15d7044c82 Set some attributes on pthread condattrs
Make them use the monotonic clock if that's available. On Mac, the
monotonic clock is not available -- Qt fakes monotonic support by using
the Mach timebase -- so we need to use gettimeofday.

Change-Id: Iaea0b0c0de1b4802780e2476dc3643b703db392c
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-01-28 20:52:03 +01:00
Kai Koehne f0c8e63e5b Fix documented signature for QtMessageHandler
Task-number: QTBUG-29352
Change-Id: I46190a59cd73e53e778551a2d33c6b2801e9587e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-28 20:02:37 +01:00
Sze Howe Koh 7bb43454b8 Fix minor typos in docs, printed messages & comments
Missing apostrophes

Change-Id: I3ef5e9d494fb7a37f8e6075f24cd3a274e572c23
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-01-28 18:12:41 +01:00
Peter Kümmel 70a9caf4de QVarLengthArray: add squeeze function
Add function to move back data to the stack.

Change-Id: Ic78a368459bce68629e29602e4eeae2e1afe398b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-28 16:52:40 +01:00
Oswald Buddenhagen f4065db172 fix overquoting of GNUPATH
Task-number: QTBUG-28841
Change-Id: Ifa62a273acefc240953633bbd099384a635f29c6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-01-28 16:33:48 +01:00
Sergio Ahumada 03e8824211 testlib: Remove old 'Partner Directory' external link
This reference was removed by dc0d5bf387

Change-Id: I941dbd24815caf7f2f33e757215815d9ca4e581c
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-01-28 16:33:48 +01:00
Morten Johan Sørvig 5f71203dd0 Cocoa: export setDockMenu
Change-Id: I1eb35c34427660d2662f310a3e8c4e5ba42e08eb
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-01-28 16:06:15 +01:00
Mark Brand 9ef48277f9 don't prematurely reduce LIBS when adding sql link lists
It's possible that different database libraries share dependencies.
We need to keep their link lists intact here so that QtSql's .prl and
.pc files will have them in the right order. Particularly important
when building the drivers into QtSql and using static linking.

Change-Id: Id371b127099f2790fe7cccd0c7059607600f447d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-01-28 16:06:15 +01:00
Jerome Pasion 747348f455 Doc: Fixing snippets and input file for a Qt Core article.
-copied snippet and input files from Qt Widgets.
-adapted new paths in the resource-system.qdoc file.
-removed the old path entry in qdocconf.

Task-number: QTBUG-29101
Change-Id: Ieeb118106756a1a39890ab219294de18f437c56c
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Nico Vertriest <nico.vertriest@digia.com>
Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
2013-01-28 14:27:57 +01:00
Sergio Ahumada f262815f2e Fix some more old references and links to Nokia
Task-number: QTBUG-28156
Change-Id: I9ba0d6f1e92103219bec1e61e716b6b2f269a8ad
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-01-28 14:27:57 +01:00
Sze Howe Koh e778042ed7 Doc, Qt GUI: Fix "no \inmodule command" warnings
Explicitly add "\inmodule QtGui" to Qt GUI classes

Change-Id: Id641c1dc98770fbd994cecc375ca46c01f083236
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-01-28 14:07:34 +01:00
Sze Howe Koh 22550ed78d Doc: Fix broken \keyword link
Fix 19 counts of "Can't link to 'default-constructed value'"
warnings.

There was only one link to "default-constructed values", so the
cleanest solution was to change the keyword.

Also included a related typo fix.

Change-Id: I84b47743ecb72a1b2731ef65080fa1e630d478a4
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-01-28 14:07:34 +01:00
Nico Vertriest 223ba7e66a Doc: correct name of file with snippet
Snippet not showing because qdoc read wrong snippet file.
Due to 2 files having the same name.
One was renamed: rsslisting.cpp --> listing.cpp

Task-number: QTBUG-29101
Change-Id: I62b7eee6f2860613ee90538d8dea006b89000317
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-01-28 11:49:48 +01:00
Sze Howe Koh dac925a4d1 Doc: Fix very minor typo
Change-Id: I6af8e81296ef0dc3fcdfd67fae6899bc7c93b206
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-01-28 11:31:48 +01:00
Frederik Gladhorn 02ba93dd3d Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I12b4d8b99bdccae53b1a978cd6eb8f4ac6fb3c76
2013-01-28 11:10:29 +01:00
Friedemann Kleint 779195343f Windows: Fix modal dialogs for declarative.
Make it possible to show a modal dialog by just calling show().
Start an idle timer, which will start the dialog thread.
This timer is stopped in exec().

Change-Id: I8f7352bf577b09a19be7df4484e0077bb1aa46ab
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-01-28 09:41:39 +01:00
Morten Johan Sørvig 0b68fc019b Cocoa: Correct mime handler prioritization.
According to the documentation recently added mime
type converters should take precedence over previously 
added converters. Make it so.

Task-number: QTBUG-25951

Change-Id: Ic23ca7cbb93a98711d762b1ef0e0dd2aa1ceaeda
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-01-28 09:07:00 +01:00
Thiago Macieira bf5f2a9e3e Switch to struct timespec everywhere instead of timeval
This avoids an extra division by 1000 when getting the current time.

This can't overflow, under normal circumstances, even on 32-bit: when
adding two values less than 1 billion, the result is less than 2
billion, which is less than 2^31.

Change-Id: I6f8e1aadfe2fcf6ac8da584eab4c1e61aee51cbb
Reviewed-by: David Faure (KDE) <faure@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-28 07:13:23 +01:00
Thiago Macieira add16725a3 Don't use the union trick to do unlawful casts
GCC 4.7 is printing this (bogus) warning:
qobject.h:166:15: warning: 'QObject::findChildren(const QString&, Qt::FindChildOptions) const [with T = QMenuBar*; Qt::FindChildOptions = QFlags<Qt::FindChildOption>]::<anonymous union>' declared with greater visibility than the type of its field 'QObject::findChildren(const QString&, Qt::FindChildOptions) const [with T = QMenuBar*; Qt::FindChildOptions = QFlags<Qt::FindChildOption>]::<anonymous union>::typedList' [-Wattributes]

Change-Id: I2d1c365e3191f3a5c7b2241deb35f0ae47d79afc
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-28 04:02:45 +01:00
Sean Harmer ff9aa64c99 Remove out-dated duplicate logic from qgl.h
We now use the updated logic for #including the correct GL headers
already implemented in QtGui.

This is needed to fix compilation of QtOpenGL on CentOS 5.8 and
RHEL.

Change-Id: Ifdedd13885566016073538f33aa6daf5902c3497
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-27 10:54:23 +01:00
Sean Harmer dca90252a7 Prevent GL/gl.h from including system glext.h
This allows us to then use the up-to-date qopenglext.h header on Linux
too. Some distro's are not yet shipping OpenGL 4.x compatible headers.

This fixes compilation of Qt on CentOS 5.8 and RHEL

Change-Id: Ia8022e0aaf215dac7ea2a23dc82c3ac117d9fd53
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-27 10:54:17 +01:00
Topi Reinio 8a0a09f6d1 Doc: Add a note for QDesktopServices about deprecated functions
Add a note in QDesktopServices class reference about storageLocation()
and displayName() functions being deprecated since Qt 5.

Task-number: QTBUG-27869
Change-Id: I739771fef15534823071beabd62aa7b4e7b34cc0
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-01-27 10:23:46 +01:00
Mitch Curtis 5c5c9c26d2 Don't emit activated on clicking disabled itemview item.
A itemview item with its flags set to Qt::NoItemFlags is considered
disabled, and therefore should not cause the activated signal
to be emitted.

Task-number: QTBUG-20490
Change-Id: If824505c46f4fcadb9265ad6d1e9337f0cee32cf
Reviewed-by: David Faure (KDE) <faure@kde.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-01-26 21:22:22 +01:00
Thiago Macieira 5544208e22 Fix warning about type-punned pointers
The d->buffer array was 2x the required size and every other void*
actually stored a DBINT (int) indicating the binding status of the
null. The qIsNull function checked that value, but got the warning
printed.

Instead, let's just do the right thing and have a struct for each
column. Solves the problem more neatly.

Change-Id: I2daaf05c876da7e0e13fb983c58916d946518846
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-01-26 11:04:12 +01:00
Jean-Paul Delimat 4bb5566632 Add toJson() formatting argument to QJsonDocument interface
The writer delegate used by QJsonDocument to produce a Json QByteArray
supports generating a human readable Json (with spaces and carriage
returns that reflect the Json structure) and a less human readable (no
spaces nor carriage returns) but more compact Json.

The method toJson() was extended with a format argument to support
the compact Json generation.

Task-number: QTBUG-28815
Change-Id: I8d13849ab9ab6ed7c645011260251dc14a8629d2
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Debao Zhang <hello@debao.me>
2013-01-26 03:09:27 +01:00
Laszlo Papp e335fb7254 Add static dotProduct methods to the QPoint(F) classes
Change-Id: I66ac9433b74341a83569a60038ea2f7a025e81b1
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-01-26 00:09:14 +01:00
Laszlo Papp 5f481c98de Establish an opacity property for the QWindow
Change-Id: I1e399a41bc3aa890498d579f48d03cc6dee484bf
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-01-26 00:08:50 +01:00
Rick Stockton f210a85934 cocoa: Fix Mouse Event tracking of button status
Within qcocoahelpers, make function cocoaButton2QtButton() handle
all button numbers. Within qnsview, call the function in several
places (eliminating duplicate, inefficient code).

Task-number: QTBUG-28567

Change-Id: Ibae2ae4e8a881b825a8862afb82aa80437751111
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Rick Stockton <rickstockton@reno-computerhelp.com>
2013-01-25 23:17:58 +01:00
Laszlo Papp 855b0d5049 Fix a typo and make the QQuaternion constructor documentation even more explicit
Change-Id: I913ef98b706f29f1bab7564d6d6fff0a91ebfdc0
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-01-25 17:56:55 +01:00
Oleg Shparber 6f1f893493 Fix XCB plugin compilation without accessibility
Change-Id: Ic2bee5b5c20505a866656575b5f5fb853cea4aae
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Laszlo Papp <lpapp@kde.org>
2013-01-25 17:34:36 +01:00
Sze Howe Koh 63569a68d2 Doc: Fix module name format
Follow the conventions at
http://qt-project.org/wiki/Spelling_Module_Names_in_Qt_Documentation

QtCore         -> Qt Core
QtDBus         -> Qt D-Bus
QtDesigner     -> Qt Designer
QtGui          -> Qt GUI
QtImageFormats -> Qt Image Formats
QtNetwork      -> Qt Network
QtPrintSupport -> Qt Print Support
QtScript       -> Qt Script
QtSql          -> Qt SQL
QtSvg          -> Qt SVG
QtTest         -> Qt Test
QtWebKit       -> Qt WebKit
QtWidgets      -> Qt Widgets
QtXml          -> Qt XML

QtConcurrent   -> Qt Concurrent (partial)
QtQuick        -> Qt Quick      (partial)

Also, distinguish between "module" and "library"

Change-Id: Icb8aa695ae60b0e45920b0c8fce4dc763a12b0cd
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-01-25 17:27:44 +01:00
Laszlo Papp e3ac2b6392 Minor QWindow documentation improvement for the accessor/mutators
Change-Id: I003e5dbf1e87fd98cb24c2efdfd39560326f2731
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-25 14:49:32 +01:00
Gunnar Sletta 64134181db Introducing QWidget::createWindowContainer()
A QWidget that can embed a QWindow. This can be used
to embed a QWindow/QOpenGLContext based window or a
full QQuickView.

Change-Id: I8415b5ae38562fc00b46150fa70b56fd9b19a80c
Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-01-25 14:11:07 +01:00
Nico Vertriest 1fbfbf6b6e Doc: corrected path used for snippets.
Added "../../../" to snippet command in gestures.qdoc

Task-number: QTBUG-29101
Change-Id: Ie1d58355f43bcd939f6a178c64ab008b288af747
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-01-25 13:37:07 +01:00
Nico Vertriest 829ada2129 Doc: added snippet file macmainwindow.mm
Corrected path for snippet command
Now refers to doc\snippets

Removed trailing space

Moved macmaindow.mm to src/widgets/doc/snippets

Task-number: QTBUG-29101

Change-Id: If60c31909b2f5efad10ac8b735164a80522dcf62
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-01-25 13:37:02 +01:00
Nico Vertriest d446a4f26d Doc: deleted short paragraph referring to non-existing snippet
Reference to section 1, which does not exist.

Task-number: QTBUG-29101
Change-Id: Ifd5ac58080033ea1d3f0a587f48f9510f24e75b1
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-01-25 13:36:57 +01:00
Frederik Gladhorn 9a5ab30d52 Improve QAccessibleApplication
Add more testing.
This uncovers that currently the QDesktopScreenWidget
shows up as child of the app. Fixed by not creating
QAccessibleInterfaces for QDesktopScreenWidget.

Also don't crash in indexOfChild when called with 0.

Change-Id: I9fb1e47e8f1f33189e6125f56f274a7b94ecd0dd
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-01-25 11:58:23 +01:00
Richard Moe Gustavsen 48c73540ad showIsFullscreen: only respect this hint for windows and dialogs
If the window or widget is a popup, ignore the hint. The
intention of the flag should be to show main windows etc in
fullscreen, and not all kinds of popups and tooltips. The user can always
call showFullscreen explicit when necessary.

Change-Id: Ie150b6c6d7ca6c9344a9097544a7edbc4bd10df2
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-25 09:52:11 +01:00
Friedemann Kleint ff1b65a58c Make QWindowsFontEngineData thread-local.
Task-number: QTBUG-29266

Change-Id: Id963187f1ef03caf4e9ed3c4397225a9ad7362bb
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-01-25 08:51:10 +01:00
Pasi Petäjäjärvi 05b4000e01 Fixed checking HOME variable return value using isEmpty()
Return value of the QFile::decodeName(qgetenv("HOME")); is never null
if HOME environment variable is not set. So need to check the return
value using isEmpty() instead.

Task-number: QTBUG-28912
Change-Id: Ic57b1978d63e99b056cde35ca8cb9d2a07ff8ce8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-25 08:51:09 +01:00
Elvis Lee a6faecba1a QOpenGLTextureCache : make it possible to skip qgl_byteSwapImage
Improving performance when making texture from QImage, this commit
makes it possible to skip qgl_byteSwapImage. If gl_FragColor of fragment
shader is properly configured, qgl_byteSwapImage is not required.
Ex) gl_FragColor = texture2D(texture, textureCoord).bgra;

Change-Id: If1f2d7dc1fc1c4e583cc3f38dec95a9d29417cd2
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-25 02:17:22 +01:00
Thiago Macieira c0860d26a1 Doc: write up the docs for Q_GLOBAL_STATIC
Change-Id: I5bf4d0d027dc8f960c94b4be3ebf7381e9ef4be1
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-01-24 23:18:10 +01:00
Stephen Kelly 314e5ce5ee Add an umbrella cmake config file for Qt 5.
Change-Id: I96b6e96539a84a5919992afbaee757fa080b7ae0
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-01-24 20:37:34 +01:00
Peter Kümmel b67a98afc8 Printer support needs user32.lib and gdi32.lib on Windows
Task-number: QTBUG-28765

Change-Id: Ia43076e07adee38dfe20f8d25eb223bb6ea6ef51
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-01-24 18:35:06 +01:00
Tor Arne Vestbø cd1e21cf09 Use path-based text when painter has negative scale on raster/coretext
The CoreText font-engine is not able to produce glyphs with a negative
scale (flipped). We need to report this fact back to the raster paint
engine, so that it can fall back to painter-path based text drawing.

For the GL engine this is not an issue, as the engine is able to handle
the flipping itself, while still using a non-flipped glyph-cache.

Task-number: QTBUG-29284
Change-Id: I3c24cee091786faae8a5c5dd756d208163330bfc
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-01-24 18:34:11 +01:00
Tor Arne Vestbø a71c7fce8a Don't assume m11/m22 represents the scale of a QTransform
We can still assume it when pulling out the scale of the glyph cache,
since we limit it to scaling, but when computing the scale from the
current matrix we have to decompose it.

We always use a positive scale in the glyph-cache, and let the drawing
code take care of any flipping of the coordinates.

Change-Id: Ie3c4f2d91008a9be8f89bef29c15d80b23fb8a82
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-01-24 18:34:11 +01:00
Frederik Gladhorn d0c360fd88 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-01-24 18:34:11 +01:00
Friedemann Kleint 4807f70f89 Dnd: Do not always Retrieve URLS in canConvertFromMime().
Task-number: QTBUG-28186

Change-Id: I71d1a241d69f5fd80f6c047b9350cbd01bd48854
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-01-24 16:28:07 +01:00
Frederik Gladhorn 627d9cbd3c Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/plugins/platforms/windows/qwindowsdialoghelpers.cpp

Change-Id: I4ca87d44129fa5c1d8541cd58b8d62bc69080688
2013-01-24 16:02:55 +01:00
Dmitry Shachnev c9ae652487 QPdfEnginePrivate: Fix invalid format for rectangles on some locales
This is done by using locale-independent QByteArray::setNum() instead
of qvsnprintf() for printing doubles.

Task-number: QTBUG-24949
Change-Id: I68cb192417d9a94f72e039c40f647b4a6826a3b7
Reviewed-by: John Layt <jlayt@kde.org>
2013-01-24 15:16:19 +01:00
Gatis Paeglis 3a2b3fc0d7 Don't try to render a pixmap when there isn't any.
This happened in cases when QDrag choose not to use a
pixmap to represent data in a drag and drop operation.

The chain that leads to QPainter errors begins in
QBasicDrag::startDrag() where we call setPixmap() with
Null pixmap, which later calls updateGeometry() which
leads to calling render() before the backing store
has been resized.

Task-number: QTBUG-29283
Change-Id: I2145159d3f23dbde2cba2ca9aa1788e222aba02a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-01-24 13:45:01 +01:00
Roman Pasechnik 45be71bf7d Added initializer list constructors for Qt associative containers.
Affected: QSet, QMap, QMultiMap, QHash, QMultiHash.

Task-number: QTBUG-25679
Change-Id: I01f3ecfbca805f4c053a75232188bd2a77fdb1f2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-01-24 11:38:54 +01:00
Frederik Gladhorn 1b5f9bec03 Merge remote-tracking branch 'origin/release' into stable
Change-Id: Idcaa9b0c63aca5ba11ee3fa2da456178655a1ae3
2013-01-24 11:33:58 +01:00
Gunnar Sletta fc663b5f9a Fix focus handling of native child widgets in xcb.
Change-Id: If4d596195624011142bff6853849a23064e478df
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-24 09:08:59 +01:00
Andy Shaw bfd73eaba3 Respect the filename specified when showing the native filedialog
When a filename was specified as part of the start up directory then it
should ensure this is put in the filename lineedit in the native
filedialog.

Change-Id: I2b190933d46553908b5bcf17506cb2a95fb1f982
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-01-24 06:57:32 +01:00
Thiago Macieira a5fa0cf98c Make the QtTest GUI headers compile on their own
Though no one is supposed to include them directly, it's a good idea
to ensure that they are tested too. They're only included from the
master header when QT_GUI_LIB and QT_WIDGETS_LIB are #defined.

Change-Id: Ie84bb6fd4c18b5b51ab35463f9082feaa0693c97
Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com>
2013-01-24 05:43:09 +01:00
Andreas Aardal Hanssen 6476d6728e Make sure QGraphicsItem notifies changes to focusScopeItem.
A glitch in QGraphicsItem's logic made it update the focusScopeItem
pointer, but fail to notify the change to QDeclarativeItem through the
d_ptr->focusScopeItemChange() virtual function, hindering
QDeclarativeItem from emitting focusChanged() correctly for focus
scopes that do not have focus.

Two lines were moved, and a comment updated to reflect the reason
why the "return" is needed at this point. It's clear that the
calls to focusScopeItemChange() are unrelated to the return.

Task-number: QTBUG-29260
Change-Id: I12ba9161b16d34c3689401a92c86d2047989f7bd
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Alan Alpert <aalpert@rim.com>
2013-01-24 02:20:34 +01:00
Frederik Gladhorn 7df08a8b63 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-01-23 22:12:54 +01:00
Peter Hartmann ce35c0db0d QSslConfiguration: toggle on demand loading of root certs properly
make sure we keep track of when we can load root certs and when we
cannot (we cannot when the developer set the certs explicitly). This is
implemented the same way for QSslSocket already, and needs to be
duplicated because we have 2 methods for setting CA certificates: one in
QSslSocket and one in QSslConfiguration.
In addition, adapt the auto test which checks whether setting a default
QSslConfiguration works: There is no way to set on demand loading
through the API, so it should be enabled by default.

Task-number: QTBUG-29103
Change-Id: I5146128aaa385dfcc0ad1e0ef81a92d9350ec5f2
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-01-23 19:36:07 +01:00
Allan Sandfeld Jensen 06e4b1cff4 QImage plugins should report supported mime types
Introduces the methods QImageReader::supportedMimeTypes and
QImageWriter::supportedMimeTypes which corresponds to the similar
supportedImageFormats methods, except they return lists of MIME types.

Task-number: QTBUG-28177
Change-Id: Ibb0e264a12eaf972a8bfd6bd891dcd9f89efd085
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-01-23 17:19:22 +01:00
Thiago Macieira 2da24ac2b9 Change QT_FATAL_WARNINGS behavior to require a non-empty value
This allows easy unsetting of the variable in a shell like:
  QT_FATAL_WARNINGS= progname

Change-Id: Ie9cfb6ebfd4931de1c90af68bfeeae1e9f3d4b9d
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-01-23 17:06:27 +01:00
Shawn Rutledge 896bf9ff5c Several bug fixes in QCocoaFileDialogHelper to support declarative
Required to prevent crashes and incorrect behavior in
https://codereview.qt-project.org/#change,44201

Change-Id: If6025429caabafd150cdd44fec152ff584232220
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-01-23 16:58:34 +01:00
Thiago Macieira 119c581dd1 Simplify checking of the SHM/SEM Unix key file's existence
We don't need to stat(2) the file to check if it exists before
creating it. We're about to open(2) with O_CREAT|O_EXCL, which will
not recreate it if it existed.

Change-Id: I2d2176054e7776a32a4520832ee104b9c4ccf748
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-01-23 16:57:58 +01:00
Michael Brasser 3c9cc32086 Support shared GL contexts in eglfs.
This allows shared texture uploads in a background thread.

Change-Id: Ib390243bc9dfabd6c579dff9b74e7f44211739d3
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-23 14:51:24 +01:00
Friedemann Kleint 14675681b5 Implement click-to-focus for native child windows.
Change-Id: If7633781a7167de2161cd74c62cfc883eb4d1b0e
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-01-23 12:41:35 +01:00
Gunnar Sletta 2692db542e Implement focus handling of child windows for cocoa.
Change-Id: I1e05ef39aa67f8febdd27215d8ad05d26ece7caa
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-01-23 12:41:35 +01:00
Samuel Rødal d4f4ee4e03 Fixed copy text bug as well as potential other latent xcb plugin bugs.
As Gatis found out the copy text bug is caused by the xcb plugin's
handleEnterNotifyEvent() receiving an event with a seemingly random
"time" member. That is however not due to a bug in the X server but
rather due to a missing break statement in the event dispatching in
qxcbconnection.cpp, causing an xcb_client_message_event_t to be treated
as an xcb_enter_notify_event_t, and thus an xcb_window_t to be treated
as an xcb_timestamp_t.

The other xcb_enter_notify_event_t values would of course also be
complete garbage.

Task-number: QTCREATORBUG-8476
Task-number: QTBUG-28398
Change-Id: Id8c09a6682f78b646a0d1d27b0650248bbfa1046
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
2013-01-23 10:57:34 +01:00
Frederik Gladhorn 586fabb3b5 Disable only accessibility bridge without dbus on linux
Keeping accessibility and only disabling the bridge will
enable more builds to work.

Warning about disabling accessibility disabled is needed
because in QStyle it is used to discover semantics about widgets
(if a toolbutton is in a toolbar).

Change-Id: Iae4e6ab63479743bdd70cba4b1954ec7cf3f88e9
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-01-23 10:56:34 +01:00
Pasi Petäjäjärvi f7bd8652ca Undefine overlapping variable names defined in VxWorks headers
VxWorks has defined variables with same name as in Qt's headers.
Undefine those variables to avoid naming conflict.

Change-Id: Ia8ca04a66acece683cd6c7f71df7e5a2800ec98d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-23 10:38:59 +01:00
Pasi Petäjäjärvi 2d2da44f63 Use time.h related includes from qfunctions_vxworks.h file.
In VxWorks qfunctions_vxworks.h file includes correct time
related headers and it is included already at file
qplatformdefs.h for all mkspecs targets.

Change-Id: I8677eef8c79cebb445d89203284f3af27abbdd7f
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-23 10:38:58 +01:00
Pasi Petäjäjärvi 2aaffe1800 Fix comments to use pre C99 standard style instead
VxWorks compiler fails to compile *.c file with C99 style comments on it

Change-Id: Ib5c5ff14006c17f9392b77363232b8b7cc112d34
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-23 10:38:57 +01:00
Pasi Petäjäjärvi eae8faabed Use sched_get_priority_* functions only for SCHED_RR and SCHED_FIFO
In VxWorks set default values for scheduling priority to use
SCHED_FIFO_HIGH_PRI and SCHED_FIFO_LOW_PRI defines for other scheduling
policies than SCHED_RR or SCHED_FIFO.

Change-Id: If78b84cd9ef94d7712206e9442e96cdba727610f
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-23 10:38:56 +01:00
Pasi Petäjäjärvi 00faa09aad Add support getting memory page size to RTP mode on VxWorks.
Change-Id: Id71bf7fd8e7371284076247558cba7edb0307e13
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-23 10:38:55 +01:00
Pasi Petäjäjärvi 49b8e21429 VxWorks process (RTP) mode does not have taskLock/taskUnlock functions
VxWorks does not support to globally lock and unlock the scheduler from
process. In kernel mode (DKM) above functions disable preemption from
requested task and such functionality does not exist for process.

Change-Id: Id41eab4c1973e4181e82539d08707659e0780f99
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-23 10:38:55 +01:00
Pasi Petäjäjärvi 2d8a4c2d3f Use QDir::homePath() for tilde expansion
VxWorks does not have concept of users and therefore has no function
getpwnam. Use QDir::homePath() which returns actually QDir::rootPath()
if there is no HOME env variable set.

Change-Id: I15fe15862c4491b56cfa13bbdb218ef00dfd1f15
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-23 10:38:54 +01:00
Pasi Petäjäjärvi ae229b9192 Use stub functions getpwuid and getgrgid for VxWorks
VxWorks has no concepts of users and groups, therefore no such functions
exists on VxWorks. Use stub functions from qfunctions_vxworks.h for
those, so we don't need to make major source code changes.

Change-Id: Iaad80ec18441e3d3e9c0f96e92ccc3766b27d976
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-23 10:38:53 +01:00
Pasi Petäjäjärvi 1309d9a9d6 Use stub function gettimeofday for VxWorks
Vxworks does not have gettimeofday function, use function
implementation from qfunctions_vxworks.h/cpp instead.

Change-Id: Iad2a71c8484ba00dd9406706b1c136297260de4b
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-23 10:38:52 +01:00
Pasi Petäjäjärvi 2d44f879a2 Do not define QT_NO_DYNAMIC_LIBRARY for VxWorks process (RTP)
Shared libraries cannot be used in kernel mode (DKM), only at process
mode (RTP).

Change-Id: I8cecc12461aa4417b16577db3bc9cd85a1aa7efa
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-23 10:38:51 +01:00
Pasi Petäjäjärvi cd5a4279f3 Strip prepending <hostname>: string from currentPath() for VxSim
VxWorks simulator (VxSim) maps SDK rootdir usable as normal directory.
Mapped directory name is either host: or <hostname>: and can be used
without prepending prefix containing colon. Strip prepending string and
colon to get valid native path to host SDK rootdir running VxSim.

Change-Id: I9d2829e32431c2d50fefe55c93780cd37165e565
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-23 10:38:50 +01:00
Pasi Petäjäjärvi 608cd1ad84 Use taskIdSelf() function instead of taskIdCurrent global variable
The uniprocessor taskIdCurrent global variable (declared in taskLib.h)
does not exist in VxWorks SMP, because of concurrent execution on
multiple CPUs. Any uniprocessor code that reads taskIdCurrent should
make calls to taskIdSelf() instead.

Change-Id: I4e0efef32297f339d6121c7d4bca3820e0fc9294
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-23 10:38:49 +01:00
Pasi Petäjäjärvi baad50e979 VxWorks header only available in DKM mode and not in RTP mode.
Check if _WRS_KERNEL is defined so we are compiling for DKM mode.

Change-Id: I15801b0575d3fe6e543f81a177fd01d015d9085f
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-23 10:38:48 +01:00
Pasi Petäjäjärvi 7e3d5a7207 Use Qt defined gettimeofday for VxWorks and no fallback to X11 version
VxWorks don't have gettimeofday function so we always use the one
implemented in Qt. VxWorks DIAB compiler is not supported building Qt
for VxWorks 6.9.2. Anyone using older VxWorks should also not be
affected so use new defines VXWORKS_DKM and VXWORKS_RTP for VxWorks
version 6.9.2 onward.

Change-Id: I2e9546a101256ea0557b65163b40cd0f28be8519
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-23 10:38:47 +01:00
Thiago Macieira fb5bbea031 Remove debugging messages from QDBusConnection::registerObject
Qt does not print debugging in released versions. We print warnings in
case of error in using the API, but that's not the case here.

Change-Id: I14d54be5d6a1d4e1f147afd091ba850670972cdf
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-01-23 07:54:35 +01:00
Thiago Macieira 57aed703d2 Improve the QDBusConnection node children garbage collection
This replaces the implementation from ac9ab9703f.

If the number of active children drops to zero, we know we can simply
delete the vector of children. We know none that might be there are
active.

If the number is not zero, but is considerably smaller than the vector
size, we can shrink the vector by reordering the elements, skipping the
inactive ones.

We use qMove, which expands to std::move on C++11, but a regular copy on
C++98.

Change-Id: I2e74446081f91fbd698425b08910fbda4746d673
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-01-23 07:54:19 +01:00
Thiago Macieira 3c6bb0ed8b Make the QtDBus object tree keep a count of active children
The new member variable activeChildren shall contain the number of
direct children that are active. This number differs from
children.count() because the vector may contain empty entries that
haven't been garbage-collected yet (obj == NULL and activeChildren ==
0).

When this count drops to zero, we know we can simply erase the vector of
children.

Change-Id: Ia20604d3fac852ea4a6e8862d934fbb936fa5e18
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-01-23 07:54:00 +01:00
Thiago Macieira 18c7ce5994 Rewrite QDBusConnection::unregisterObject to be recursive
The current implementation is a loop. We need it to be recursive so that
we can execute more operations when unwinding. This will be necessary
in the next commit.

Change-Id: Ia3c98fed0719cede0a0d92d3e343cf016ec7baf2
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-01-23 07:53:52 +01:00
Thiago Macieira f8b681deed Don't clear the pointer in QScopedPointer's destructor
It helps in valgrinding applications. It's the difference between:
==17609==  Address 0x38 is not stack'd, malloc'd or (recently) free'd

and
==19789==  Address 0x598f478 is 56 bytes inside a block of size 112 free'd
==19789==    at 0x4A0736C: operator delete(void*) (vg_replace_malloc.c:480)
==19789==    by 0x53A77CD: QObjectPrivate::~QObjectPrivate() (qobject.cpp:239)
==19789==    by 0x53B4EB5: QScopedPointerDeleter<QObjectData>::cleanup(QObjectData*) (qscopedpointer.h:63)
==19789==    by 0x53B3980: QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::~QScopedPointer() (qscopedpointer.h:99)
==19789==    by 0x53A8EEC: QObject::~QObject() (qobject.cpp:750)

Change-Id: If42107c94401a96c05caa511442d6bd010fd4e29
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-01-23 07:53:34 +01:00
Morten Johan Sorvig d5dec5d00d Document QtMacUnifiedToolBar.
Change-Id: I108c12a351fd867a2d44b7fe8957d17100ef2c91
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-01-22 21:20:22 +01:00
Frederik Gladhorn c608ec8254 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/corelib/io/qsavefile_p.h
	src/corelib/tools/qregularexpression.cpp
	src/gui/util/qvalidator.cpp
	src/gui/util/qvalidator.h

Change-Id: I58fdf0358bd86e2fad5d9ad0556f3d3f1f535825
2013-01-22 18:40:13 +01:00
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 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
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
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
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
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
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
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
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 e993df8771 Add class QSaveFile.
This QIODevice uses a temporary file for writing, so that in case of
write errors, the writing operation is canceled, without losing any
existing file. It also avoids having a partially-written file visible
by other processes, at the final destination.

Change-Id: I9482df45751cb890b1b6f1382ec2eea3eb980627
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-17 17:39:11 +01:00
Sergio Martins 64439ed92a QNX: Don't use native file dialogs.
They are not supported anymore.
Use the standard Qt dialogs instead.

Change-Id: I2b6c7688e24e4345a95d3a9a062f9670cb1a845f
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Bernd Weimer <bweimer@rim.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-01-17 15:55:18 +01:00
Frederik Gladhorn e3a10e15ff Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-01-16 23:51:11 +01:00
Allan Sandfeld Jensen cc5b698a95 Check for GLX_ARB_create_context extension before using it.
Mesa has started defining glXCreateContextAttribsARB even when it is not
supported as a feature. To be sure it is safe to use, we need to also check
if it is supported extension.

Change-Id: Ie160dc2b2418a726957b59f47bd290b742562ae3
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-01-16 18:01:38 +01:00
Friedemann Kleint ac864956f8 Fix warnings about calling nativeResource when no handle exists.
Triggered for example by Qt Designer's new form dialog.

Change-Id: I63a1f1e5425e8d5fc60c10418a715143e65443f1
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-01-16 16:07:18 +01:00
Juan Luis Boya García 5d2bb24cc9 Fixed dead keys on MS Windows
Since Qt4, there is a bug which causes Qt to drop dead key modifiers
(like graves and acutes) if the user types enough fast on MS Windows.

This happens because of an extrange behavior of Windows, which drops
dead keys on ToUnicode() calls.

This patch tries to workaround that.

Task-number: QTBUG-8764
Task-number: QTBUG-10032

Change-Id: Ifdde25817743194fd5c0b7533c27f46a7a108ca4
Reviewed-by: Friedemann.Kleint@digia.com
Reviewed-by: oliver.wolff@digia.com
Reviewed-by: marc.mutz@kdab.com
Reviewed-by: bjoern.breitmeyer@kdab.com
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2013-01-16 08:53:58 +01:00
Frederik Gladhorn 7075e29199 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/widgets/styles/qstyleanimation.cpp

Change-Id: Iae570895be6544de80f9c1ec309d1a08c59daff8
2013-01-16 01:22:45 +01:00
Tor Arne Vestbø 1161a8a629 CoreText: Add support for providing scaled glyphs to the glyph-cache
Useful for not having to fall back to QPainterPath drawing when using
the raster engine with a retina screen (which has a 2x scale).

Change-Id: I0a9f754d31b0ecd8e8daf7a01331d19716bab680
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-01-15 22:49:53 +01:00
Friedemann Kleint 3d9a40038f Implement QPlatformWindow::isExposed() on Windows.
Task-number: QTBUG-28439

Change-Id: I4a81a8947056ecd4e1e61ffb0e5d94ee2ad860df
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-01-15 19:47:44 +01:00
Frederik Gladhorn 122ee7a367 Merge "Merge remote-tracking branch 'gerrit/release' into stable" into refs/staging/stable 2013-01-15 19:47:44 +01:00
Frederik Gladhorn 270a51b775 Merge remote-tracking branch 'gerrit/release' into stable
Change-Id: Ieb104d0e390218a063082c93bc9c7e412af2166d
2013-01-15 18:14:13 +01:00
Friedemann Kleint d3dc0f2122 Fix renaming of files that differ only in case.
This currently fails on case-insensitive file
systems since the check for existence then triggered
and indicated "file already exists".

Check on the file id (inode or file id) whether
the target file is really a different file for a
case-changing rename.

Task-number: QTBUG-3570

Change-Id: I1b2d40850692e02142ee23d2c753428de00aedc6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-15 16:36:20 +01:00
David Faure d147285d64 Add Q_COREAPP_STARTUP_FUNCTION macro.
This is necessary for initializing things in a library, which require
a QCoreApplication instance (unlike Q_CONSTRUCTOR_FUNCTION, which runs
before that). Example use cases: KCrash (segv handler), and KCheckAccelerators
(debugging tool triggered by magic key combination).

Change-Id: I5f4c4699dd4d21aea72b007989ba57467e86ed10
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-15 14:58:35 +01:00
J-P Nurmi 3a1f1aecf9 QStyleAnimation: remove obsolete workaround for threaded rendering
This is a partial revert of 7abf623. The desktop components have been
fixed to call QStyle in the main GUI thread.

Change-Id: Ifd8364269b7d2e350f34647c128ff2fbde70afd6
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-01-15 14:58:35 +01:00
Friedemann Kleint cd7ba89a07 Windows: Force toplevel flag in setParent() in both cases.
When re-applying window flags in setParent, force top level on
or off according to state.

Task-number: QTBUG-28872
Change-Id: If931fcb38394f472a6cdf260aa935c1d03779611
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-01-15 13:38:55 +01:00
Friedemann Kleint 71a7ad80c0 Fix warning about missing enumeration value.
Change-Id: If97a325d056282a033cdb4c6e5bdc79eb400c525
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-01-15 13:26:43 +01:00
Frederik Gladhorn 7818eaf2b1 Bump Qt version to 5.1.0
Change-Id: I6d372c933e48eeda921fe781b073bf4e05b31585
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-01-15 12:45:21 +01:00
Kai Koehne d2e64c47ce XCB: Force XSync after creating Window
Make sure that dpy->request == dpy->last_request_read after setting
up a new window. If we don't do this, last_request_read might never
be updated until the difference hits a limit that can lead to hangs
in the application (see e.g. QTCREATORBUG-8373).

Task-number: QTBUG-29106
Change-Id: I390493ca6f966dc105d3ea3a2c48abec01177bc2
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-15 08:58:21 +01:00
Friedemann Kleint 5eab554227 Check for existence of QWindow in QApplication::isBlockedByModal.
Warn if window == 0 is passed in
QApplicationPrivate::isWindowBlocked().

Task-number: QTBUG-28637
Change-Id: I1213ea371813eeb90f962cc39235ddfccc663d45
Reviewed-by: Jing Bai <jing.bai@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-01-15 08:58:17 +01:00
Thiago Macieira 0c4f6c6ea9 Fix compilation of Qt Concurrent with gcc 4.3
GCC 4.3 had support for decltype but not the new function syntax (which
we call "auto function" for short). That meant the code did not compile.

qtconcurrentrun.h:105: error: expected initializer before ‘->’ token

Task-number: QTBUG-28984
Change-Id: I792276ec59c4f6e73f6137c517636e70c71ed849
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-01-15 07:28:49 +01:00
Thiago Macieira 856f209fb6 Change all shmget calls to user-only memory
Drop the read and write permissions for group and other users in the
system.

Change-Id: I8fc753f09126651af3fb82df3049050f0b14e876
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-01-15 04:34:27 +01:00
Thiago Macieira f927efd77a Add support for Linux eventfd(7) in the UNIX event loop
eventfd(7) uses less resources than a pipe, as it only needs to store a
single 64-bit integer, as opposed to a full buffer.

It was introduced first on Linux version 2.6.22 and glibc 2.7. However,
both the configure-time test and the runtime usage require the use of
EFD_CLOEXEC for thread-safety, so this code will be enabled only for
Linux 2.6.27 and up as well as glibc 2.9 and up.

Change-Id: Ic7e10b28d7b1d4ca24be614ed84055c4429a68e4
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-01-15 03:29:29 +01:00
Thiago Macieira dbfa651889 Doc: Update the info on the QSharedPointer internals
Some of it still referred to classes that were cleaned up in Qt 5.0

Change-Id: Ief4ed4b4fce074884f755b0d18a526ac40ad1b0b
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-01-15 03:29:15 +01:00
David Faure 6b9545a980 QUrl: methods for converting QStringList <-> QList<QUrl>
This is a very common thing to do, e.g. in order to send urls via DBus.

Change-Id: I277902460ee1ad6780446e862e86b3c2eb8c5315
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-14 23:44:15 +01:00
David Faure 327b2ba3b7 Add class QDebugStateSaver for writing QDebug operators correctly
Had to move QTextStreamPrivate to a private header, to be able to use
its new internal Params struct from qdebug.cpp

Change-Id: If28e25f27bbd04b1825a5eb3e2ef83ecad72e7b2
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-14 23:44:15 +01:00
David Faure ad265c55be Move QTemporaryFileEngine to private header
This is needed by QSaveFile.

Move QTemporaryFilePrivate to that header too, to avoid any confusion.

Change-Id: I8dce8a4fb853a9823c49ec565867432331e748cd
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-14 23:44:15 +01:00
David Faure ad893943cf Add syncToDisk() to QAbstractFileEngine.
This is needed by QSaveFile.

Change-Id: I07ebdfd832c0be65c26f0aed1bb7852ac33135ca
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-14 23:44:15 +01:00
David Faure 7e7b65c370 Add renameOverwrite() to QAbstractFileEngine.
QFSFileEngine::rename() on Windows doesn't overwrite the existing destination.
Keep that unchanged (it's the desired behavior in QFile::rename), and
provide cross-platform rename-overwrite behavior in the new method.

This is needed by QSaveFile.

Change-Id: I5e753d289d8a53692530a48a1783d62e26169cdc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-14 23:44:15 +01:00
Gatis Paeglis 18c916517f Use backslashes for UNC paths.
ShellExecute fails to open a share folder due to using '/' instead of '\'.

Windows API doesn't support forward slashes for extended-length path.
Extended-length path are path that start with a "\\?\" prefix. For example,
"\\?\c:\very_long_path\foo\bar.txt", or in the case of a UNC path that
would be "\\?\very_long_path\foo\bar.txt". [1]

[1] http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx#maxpath

Task-number: QTBUG-13359

Change-Id: Ibb113abeebd56f106f76520bc23dba797de548fa
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-01-14 23:44:15 +01:00
Ruslan Nigmatullin d4adcfb8cc Added QMessageAuthenticationCode
QMessageAuthenticationCode is HMAC implementation based on
QCryptographicHash abilities. HMAC is often used in OAuth and similar
authentication protocols.

Change-Id: Ifc73947ad06c36a1b770315b7e89ba5c01c5e79e
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-14 23:44:15 +01:00
Friedemann Kleint 273713b81f Fix QVistaHelper::disconnectBackButton().
Restrict disconnect() to the clicked() signal, leaving connections
to destroyed() (as used by QStyleSheetStyle) intact.

Task-number: QTBUG-20292
Change-Id: I7471b4d1262ec0684e4446b5c17513717c502749
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-01-14 21:43:12 +01:00
Jeremy Nicholl 67195dc394 Fix malloc errors from legacy realpath on Mac OSX.
Avoid using realpath(X,0) on Mac OSX at all, since
even on versions of OSX where realpath(X,0) is supported,
we still get the legacy version due to our compiler flags.
If we were to change the -mmacosx-version-min to 10.5 or
higher then this patch would be safe but unnecessary.

Task-number: QTBUG-28282
Change-Id: Iee21003f3e9616482483a05ceee706b476091914
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2013-01-14 18:24:31 +01:00
Weng Xuetian f12cc9c648 set gtk-entry im-module to none in gtkstyle
in qt5, gtkstyle use gtk_widget_send_focus_change, this had a side
effect that will trigger real gtk im module, if qt load the same qt and
gtk im module for same input method, it will cause conflicts for qt im
module. The only gtk widget have im-module property is GtkEntry and
GtkTextView, since only GtkEntry is used here, we only need to override
im-module for GtkEntry.

gtk-im-context-none exists in gtk+ since 2.19.5, and for older version,
it will also harmlessly fallback to gtk-im-context-simple.

Change-Id: I4ffb93453e77c8d5db3349b084342bdca8e4a571
Reviewed-by: Liang Qi <liang.qi@digia.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2013-01-14 16:28:21 +01:00
Orgad Shaneh b6963f109a QMenu: Fix nested popup when keyboard shortcut is used
Task-number: QTBUG-20403

Change-Id: I2a5fe00dd16e9dc1ec0d742a8f48083fc2954996
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com>
2013-01-14 16:28:21 +01:00
Rafael Roquetto 791eb399d2 Split QQNXLocaleData::readPPSLocale()
Because this method creates a QSocketNotifier, it needs
to be split into a part that is run on initialization, namely
QQNXLocaleData::initialize(), and one that is run delayed
through event loop invocation, namely QQNXLocaleData::installSocketNotifier().

Task-number: QTBUG-28701

Change-Id: Ib60000902692bbca4820d3d0bc7719212668dfa9
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-01-14 16:28:21 +01:00
Sergio Martins d525764430 QNX: Make QWidget::hide() work immediately.
Change-Id: I3ea2556769703a8cd4c2931cc2332ab0733fbea6
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
2013-01-14 16:28:21 +01:00
J-P Nurmi aa2da482fe Docs: fix the minimum required GTK+ version
The minimum GTK+ version was bumped from from 2.10 to 2.18 (sep 2009)
in commit 2cce297b58.

Change-Id: I77a48c8a3b0955b00e399f714949d08293abbebd
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-01-14 16:28:21 +01:00
Tor Arne Vestbø e11cf63b0b Fix crash when trying to create paths for color-glyphs (Emoji) on Mac
CoreText segfaults when creating paths for color-glyphs:

  0  0x00007fff8fd41e69 in TFont::FindColourBitmapForGlyph ()
  1  0x00007fff8fd417ac in TFont::CreatePathForGlyph ()
  2  0x000000010567d1af in QCoreTextFontEngine::addGlyphsToPath (...)

So we shortcut the code-path, since we don't support Emoji yet anyways.

Task-number: QTBUG-28615
Change-Id: Ife16ae4959077d9eaaf6ea5cd1f27a4e2e01e7f5
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-01-14 14:07:48 +01:00
Friedemann Kleint 9941bf5118 Fix crash in tst_qtreewidget.
A division by zero occurred since an empty model was used.

Task-number: QTBUG-28611

Change-Id: I1f9e869bda9f76a1c97840dff6ba48ab813bce9a
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-01-14 14:06:16 +01:00
Thiago Macieira dc131e3a53 Make QDBusPendingReply behave like QDBusReply when dealing with errors
QDBusReply allows one to extract a QVariant and the type reply from an
error reply and getting a default-constructed value. This is useful when
a valid reply can never contain the default-constructed value (0, false,
empty strings, empty arrays, etc.), so it simplifies error checking.

More importantly, qdbusxml2cpp was changed a while ago from generating
QDBusReply to generating QDBusPendingReply, so we need to have the same
behavior.

Task-number: QTBUG-29046
Change-Id: Ia873b9fd4311c0d4e94f0ef623ba405c20bc0e8c
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-01-14 13:03:50 +01:00
Peter Hartmann 4c8d8a72ec BlackBerry: change SSL root cert folder
Currently /etc/openssl/certs is symlinked to
/var/certmgr/web/user_trusted, but this will be changed in the future.
/etc/openssl/certs is the folder to be used to read the root certs.

Change-Id: Ic037e5075ec7ee50c132fe08dc69abbe585e32e4
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-01-14 11:35:17 +01:00
Thiago Macieira 008c455a6a Remove the QtSql driver headers from the API
These headers are technically private API, since they include private
headers. They should be _p.h actually, but that change I'll leave for
5.1.

Change-Id: I2dec222854e147da0fc166de311012472954012e
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-01-14 11:35:17 +01:00
Jian Liang b188d9481b Fix QOpenGLContextGroup object leak
Task-number: QTBUG-29056

QOpenGLContextGroup object is designed to be destroyed by deleteLater(),
but this method will not always work due to the fact that in many cases
event loop will exit before the deferred deletion of the
QOpenGLContextGroup object is queued. Think about the following case:

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QGLWidget w;
    w.show();
    return a.exec();
}

In the above program, the event loop will exit before QGLWidget object's
destruction. This will cause the QOpenGLContextGroup object hold by
QGLWidget object never been deleted.

This patch will delete QOpenGLContextGroup object directly with delete
operator if the current thread is the same as the thread which the
QOpenGLContextGroup lives in.

Change-Id: If835d7482474f4a668763fc7c21b293a27f075fd
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-01-14 11:35:17 +01:00
Giuseppe D'Angelo 9110d4f1ed QString::contains overload that returns the match results
This convenience overload allows one to write

    QRegularExpression re1, re2, ...;
    QRegularExpressionMatch match;
    QString subject;

    if (subject.contains(re1, &match)) {
        // ...
    } else if (subject.contains(re2, &match)) {
        // ...
    } // ..

One can then inspect the results of a successful match in each block
(as well as extracting the captured substrings, etc.).

Change-Id: I0fb8be8b577656e8db994198f8105c26c4fe67b0
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-14 10:26:59 +01:00
Giuseppe D'Angelo 65fba49d63 Introduce default ctors for QRegularExpressionMatch(Iterator)
This allows to put them in containers, and to enable subsequent
features for QString.

Change-Id: I3b3fe695ffe6930331ed9f670738376722e0fc36
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-14 10:25:39 +01:00
Giuseppe D'Angelo 0ae529c911 Avoid a QVector allocation in QRegularExpressionMatchPrivate
Explicitely pass the number of capturing groups for which the
offsets should be reserved in the capturedOffsets vector,
instead of relying on it adding 1 (for the implicit capturing
group #0).

In case 0 is passed, don't allocate any space for that vector.
This is being used in case of NoMatch match type or failing
match (invalid regexp, out of bounds offset, etc.).

Change-Id: I0ec7646d5bd53e7a7973177100b163a5e5030307
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-14 10:24:49 +01:00
Andy Shaw ad028c4110 Fix compile when verify is already defined
On Mac if AssertMacros.h has already been included then it defines
verify which conflicts with the verify static function.  Therefore we
just undef this if is already defined.

Task-number: QTBUG-27316
Change-Id: I5960e504c4efa4fc4ff65ba66bbd7decb33ffc62
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-01-14 09:09:03 +01:00
J-P Nurmi 4d2eb3dd01 QStyleAnimation: use QAbstractAnimation::DeleteWhenStopped
This ensures that unexpectedly stopped (for example, when minimizing
a window) style animations are removed from QCommonStyle.

Task-number: QTBUG-28978
Change-Id: I1403502d85e0614d8644892a2231938c29a8c9c2
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-01-12 09:46:29 +01:00
Oswald Buddenhagen 7c9c791f79 set pkg-config host_bins directly to install dir
qmake tries to replace all occurrences of the install prefix with a
literal ${prefix}. of course this would mess up build paths which happen
to live under the prefix (this is untypical, but still), which would
break the sed magic in the subsequent install step.
as qmake itself has no use for the .pc files, it's ok to target them
directly for the install dir. we do the same with the include and lib
dirs already.

Task-number: QTBUG-28807
Change-Id: I53d7f0f3b357f67f30bea07554794f60160376cd
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-01-11 21:32:03 +01:00
Peter Hartmann 1df2b9ee23 QNetworkAccessManager: return default configuration if without session
... instead of a zero configuration. That is documented already for
QNetworkAccessManager::setConfiguration().

Task-number: QTBUG-28973
Change-Id: Idba5be990745069667a50c85286cf530580d4efe
Reviewed-by: Lorn Potter <lorn.potter@jollamobile.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2013-01-11 21:24:23 +01:00
José Millán Soto 08bc730b41 Implement QAccessibleActionInterface in QAccessibleTableCell
Implemented QAccessibleActionInterface in QAccessibleTableCell to allow
selecting and unselecting table cells, as there was no way of selecting
or deselecting a simple cell using accessible tools.

tst_qaccessibility.cpp was modified to test the new methods.

Change-Id: I7bdfe0b363a9813d4a7c62e96b6c924b163f2121
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-01-11 21:24:23 +01:00
Michael Brasser f156e578d7 Ensure raster pixmap cache key is the same as that of pixmap.toImage()
This is done to support texture uploads in an image provider. It ensures
we can load the texture using QImage in the image provider, and when
it is later painted as a pixmap, the cacheKey will be identical
(assuming no format conversion was required).

Change-Id: I54229511ed91ce5430cc478af5aff0d96685a2da
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-01-11 21:24:23 +01:00
Gabriel de Dietrich 9fa5191b6e QPA, Cocoa: Add platform popup menus
Also, allow to set menu-wide font (instead of per menu item),
and minimum width.

Change-Id: I5f83f260602f55b9409ad69abf670afb59b2d33a
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-01-11 21:24:23 +01:00
Jian Liang d41fbea2ba Fix memory leak in windows vista style
Introduce a function named deleteClonedAnimationStyleOption() in
qwindowsvistastyle.cpp to delete style option cloned by
clonedAnimationStyleOption() to prevent object leak which is hold by the
actual style option object.

Change-Id: I1afd95ddab237059ce3460ac0b52a65de102eaa5
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-01-11 21:04:09 +01:00
Eskil Abrahamsen Blomfeldt 527a87eda8 Fix regression in perspective-transformed text
Change 8927084d0a made a mistake in
reversing the boolean logic of the type >= TxProject logic,
causing us to try to use the font engine for perspective
transformations instead of falling back to QPainterPath.

Change-Id: Ideb59751ace23ab83f8ebd4f02dbe6c1724644a5
Reviewed-by: aavit <eirik.aavitsland@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-01-11 17:52:00 +01:00
Martin Smith c72cbfc37f qdoc: Fix problem of missing inherited members
This was another bug resulting from modularization.
qdoc is now run twice for each module in Qt 5.
First, qdoc is run with the -prepare flag for each
module. The only thing qdoc generates is the .index
file for each module. Then qdoc is run with the
-generate flag for each module. Here, for each
module, qdoc first reads the .index files for the
modules on which the current module depends. Then
qdoc generates the docs for the module.

qdoc was not reading the index files for the
prerequisite modules, when it was run in the
-prepare phase. This has now been corrected.
qdoc now reads the prerequisite .index files
in both the -prepare phase and the -generate
phase.

Note that this requires that the order qdoc
runs in the -prepare phase must be the same
as the order of building modules when building
Qt 5.

This change also tells qdoc to ignore nodes,
when traversing its main data structure to
output docs, if the nodes came from reading
a .index file, because the docs for these
nodes are generated in the -generate phase
for their respective modules.

Task-number: QTBUG-28508
Change-Id: Id73652ae1c4022e4c9e4f199caab12a854e5f9b4
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-01-11 12:02:21 +01:00
Nico Vertriest d208c8b247 Doc: corrected typo "the the"
Task-number: QTBUG-28756

Spurious repetition of the definite article
Trailing space issue corrected.

Change-Id: I3a051f5dc291e546d8d67d6775e84b388bdc0363
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
2013-01-11 12:02:21 +01:00
Shawn Rutledge 3295378325 Minimized, maximized and fullscreen are mutually exclusive.
Only if minimized does QWidgetWindow need to remember the previous
state.  Maybe it's OK to restore from fullscreen to maximized though.

Task-number: QTBUG-29030
Change-Id: I1e2724c8811366c9536a3e372ce281e8d473a4ac
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-11 10:16:44 +01:00
Pekka Vuorela 866a035f6e Fix accidental obsolation of Qt::InputMethodQuery
\obsolete for one value was marking the whole enum obsolete.

Change-Id: If022b4af8365e3448556ca11a538203ab5c63c78
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-01-11 09:40:24 +01:00
Friedemann Kleint c95b0982d5 Clear backingstore for windows with alpha channel.
Fixes painting artifacts in translucent windows.

Task-number: QTBUG-28531

Change-Id: I00a7a86f88a40d356fa3e37bd497a288b2118469
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-11 09:03:59 +01:00
Konrad Rosenbaum ffd912a51d fix linuxfb crash on program start
the KDGETMODE ioctl should use a pointer to int as param,
not a pointer to pointer to int, otherwise it may crash

Change-Id: Ie255d240f3b6ca1ff5398f972308116135374ae3
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2013-01-10 21:51:29 +01:00
Shane Kearns d3c4296198 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>
2013-01-10 17:58:13 +01:00
Jędrzej Nowacki 1327ded747 Fix QVariant in a static build.
The patch cases registration of QVariant handler for widgets.

Task-number: QTBUG-28528
Change-Id: I645e8054bb96db0b92edf5df36f206ec1965ad40
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-01-10 17:58:13 +01:00
Jędrzej Nowacki 0421769e36 Ignore WasDeclaredAsMetaType flag during binary check.
Nobody should break ODR, but we were living with apps breaking it
for at least 8 years. Sure it is an undefined behavior but in many
cases it works. I do not think that Qt should enforce usage of
a proper C++, it is role of a tool chain. Qt can only indicate that
something is going terribly wrong.

Make message a bit more verbose. Sometimes the ODR violation is not
that easy to fix, therefore a hint is a nice addition.

Update documentation of qRegisterMetaType.

Change-Id: I61dcccc840eec80a4ed5b8a212a912807d239d8c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-10 17:58:13 +01:00
Leena Miettinen 700363c98c Doc: cleanPath also normalizes separators
Change-Id: I0e5c1cd45ad90fceaed931b7014b4542e8aaa9d7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-01-10 17:58:13 +01:00
Jędrzej Nowacki 3b0ed62435 Protect Q_UNREACHABLE and Q_ASSUME by Q_ASSERT.
Both Q_UNREACHABLE and Q_ASSUME with an invalid condition can produce
really weird side effects and crashes.

Change-Id: I4d808c705ae98388ef5853e6539b70bd5e5ad34b
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-10 17:58:13 +01:00
Tor Arne Vestbø 8927084d0a Refactor paint/font-engine shouldDrawCachedGlyphs and supportsTransformations
Some cruft had built up over time, and this is an attempt at cleaning up
the naming and use of these functions, and should not have any behavioral
effects.

The function supportsTransformations() has been renamed in QPaintEngineEx
to reflect its use, which is to decide if QPainter needs to pre-transform
the coordinates of the static text before asking the paint-engine to draw
it. The new name is requiresPretransformedGlyphPositions().

The OpenGL and CoreGraphics (Mac) paint engines keep their behavior of
not needing pre-transformed text, while the raster engine needs this
when using cached glyphs. The base-class implementation assumes that
all transforms that include a projection will need pre-transform,
which is also the case for the raster engine.

All decisions in the paint engines about whether or not to use the
glyph cache when drawing text are now deferred to the function
shouldDrawCachedGlyphs(), which has been refactored for the GL paint
engine(s) to share more logic. All implementations call the base
class implementation, which ensures that large font sizes will not
be cached. The raster engine will in addition ask the font engine
whether or not it can produce glyphs for the glyph-cache with the
given transform.

This is the only remaining instance of the supportsTransformations()
function, and will for all font engines except the CoreText engine
support affine transformations. The CoreText engine on the other hand
only supports translations (for now).

Change-Id: I8fb5e43e3de3ef62a526a79a6dfeda7f9546771d
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-01-10 15:45:49 +01:00
Tor Arne Vestbø aeefa4897f Don't assume QSurfaceFormat's stencil buffer size is >= 0
The value -1 is used to indicate no stencil buffer, so we have to check
for sizes <= 0 when deciding whether or not to triangulate the path in
QOpenGL2PaintEngineExPrivate::fill().

This fixes an issue where filling a path would end up filling the whole
outline of the path, which was very visible with fonts over a certain
size (when we go from using the glyph cache to drawing filled paths
for each glyph).

Change-Id: Iafa96124481936db1e5109bba6166a6038c7ca83
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-01-10 15:38:13 +01:00
Sergio Ahumada ef838063b1 qdoc: Fix some old links and references to Nokia
Change-Id: I06535a7e301c3986fb104b7092934e8925bacd39
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: hjk <qthjk@ovi.com>
2013-01-10 14:53:04 +01:00
Andy Shaw c40a1f6b2f Use pos() if the widget is a child of a native window
If the widget is embedded in a native window then pos() should be used
instead of mapToGlobal() so that the right position is used. This was
reproduced with the qtwinmigrate solution as the dialogs were not
centered correctly.

Change-Id: I2ce7771f8c1a73aa74ab11faf4f9c57b922eefab
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-01-10 07:09:56 +01:00
Friedemann Kleint 5fb6331a17 Fix title bar height of Aero wizard on Windows 8.
Windows 8 no longer allows for negative values to WM_NCCALCSIZE
to shrink the title bar.

Task-number: QTBUG-28435
Change-Id: I2e2e5e6aea9cc6781be4e9b06c9547e1e5ec86cb
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-01-09 20:53:57 +01:00
Friedemann Kleint f5fd534603 Fix frame of Aero-Style wizards.
Add custom frames which are added to the system frame to
the platform plugin. Make them settable when creating a platform
window using dynamic properties and per window properties
of the platform native interface.

Use this in favor of the native event handling changing the frame
in wizard_win.cpp since that caused the frame/backing store sizes
of the QWindow to be wrong.

Task-number: QTBUG-28099

Change-Id: Idd6416cf1b0eb629f56663088b0ce17162e1739d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-01-09 20:53:57 +01:00
Friedemann Kleint fd372f3866 Update translucency correctly in QtWidgets.
Fixes breakage introduced by cdc436ebe6 .

Top level widgets with translucent backgrounds were invisible since
opacity was set to 0.

Task-number: QTBUG-28531
Change-Id: I97058ac1b971422f3bda3a5ffed479ec55bfe5d4
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-01-09 17:23:03 +01:00
Morten Johan Sørvig 90e4bc5fdf Compile in 32-bit mode.
CGRect == NSRect only in 64-bit mode.

Change-Id: I069b5b050ccf02654a65375c3ab0f58f7d5cc659
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-01-09 13:35:34 +01:00
Tor Arne Vestbø be93c6aeb3 Don't scale 0-region or region without rects
Change-Id: Ieb523dadc5d726e26645b3a90652be95c2707ea8
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-01-09 13:34:18 +01:00
Morten Johan Sorvig 4d670c5747 More explicit QCocoaAccessibleElement memory mngmt
Don't autorelease in the elementWithInterface function,
rename it to createElementWithInterface. The element
can then be released immediately or autoreleased ("delete
later").

Change-Id: I155a85404c34d756c1752eb7c24a7fb0f3cf2e77
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-01-09 13:09:42 +01:00
Sergio Ahumada 63f24f6ba8 Merge branch 'stable' into dev
Change-Id: I7f0dab6bdb1f3cc1d3e6c30166ff6db9dfae37e9
2013-01-09 11:49:47 +01:00
Thiago Macieira 05659223bf Rename qt_mips_asm_dsp.h to a "_p.h" header
It mustn't be installed and it mustn't be available in the master
include. It's an assembler header anyway.

Also, take the opportunity to add the "We mean it".

Change-Id: Id4233e5bda458714a0d329549afe499d861acc56
Reviewed-by: Adrian Perez de Castro <aperez@igalia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2013-01-09 00:01:57 +01:00
Thiago Macieira 932034b3df Define Q_COMPILER_AUTO_FUNCTION for MVSC
This definition was missing. It's clear MSVC supports this feature
because it has been in use in qtconcurrentrun.h under an #ifdef
Q_COMPILER_DECLTYPE, which is defined for MSVC.

Change-Id: Id76198b2be8bba13fd00c65d6d4f73d3ef601449
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-01-08 21:46:34 +01:00
Andy Shaw f6841d2583 Fix compile when QT_EVAL is defined
Change-Id: Id1acae0c5941e5409ca540017c0c0139e1cc4d2f
Reviewed-by: Samuli Piippo <samuli.piippo@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
2013-01-08 19:07:23 +01:00
Rafael Roquetto 0a977e36e0 Fix QNX QPA plugin clipboard impl
QQnxCliboard::setMimeData was not cleaning the system clipboard aproppriately
when m_mimeData != 0 but m_mimeData->userMimeData == 0, as it would return
early before the empty_clipboard() statement.
Also, we need to emit the dataChanged() signal after the clipboard has been
cleared as well.

Change-Id: Ie06609e6e3a0a0135f1cdb6cf4c90b490ef2fc28
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-01-08 19:05:24 +01:00
Debao Zhang 39795b1411 Replace macro qdoc with Q_QDOC
Both qdoc and Q_QDOC are used in source code, which looks not good.

Change-Id: I4f3a71670278b0758d92bfa5db086a07e1b1acfd
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-01-08 10:48:33 +01:00
Sergio Martins 742f0c6e0b Fix DnD when using QSimpleDrag.
qApp->topLevelAt() returns the QShapedPixmapWindow that the DnD
operation created, but what we want is the QWidgetWindow.

QWidgetWindow has the code to handle QDragMove events.

In Qt4, QShapedPixmapWidget had a parent, so was never returned
by qApp->topLevelWidgets().

In Qt5 we must filter it out. Bug is visible in the QNX plugin,
which is the only user of QSimpleDrag.

Change-Id: I920da86f3a1a92ce8e087f5948292fa4c68d4d81
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-01-07 21:57:33 +01:00
J-P Nurmi 25ae390461 QWindowsVistaStyle: fix frame rendering
A regression caused by 79a389 - it should only draw a styled frame for
text input widgets.

Task-number: QTBUG-28876
Change-Id: I5cda920b7db55f35e0ab6cee460c0e27951d29b9
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-01-07 21:57:33 +01:00
J-P Nurmi 2c241d0604 Add QStyleHelper:isInstanceOf()
Task-number: QTBUG-28876
Change-Id: I343dff1c47c52e0431c09b6097da09f34e626f54
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-01-07 21:57:33 +01:00
Jędrzej Nowacki ae2359d49e Merge "Merge branch 'stable' into dev" into refs/staging/dev 2013-01-07 18:07:29 +01:00
Friedemann Kleint 64dab1c771 Fix warning about cast from ASCII.
Change-Id: I5434ece3b1bd0c56ca4481a68dd67e914715bc28
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-01-07 16:53:39 +01:00
Giuseppe D'Angelo 998899cf3a Introduce QRegularExpression::NoMatch match type
This match type doesn't do any match at all; it's only necessary to
properly introduce default constructors for QRegularExpressionMatch
and QRegularExpressionMatchIterator (since they return the match type
that created them).

Change-Id: Ibfe92459c7fdd23129cf3afe073cd443c461ddeb
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-01-07 16:11:19 +01:00
Friedemann Kleint bc5a2336ab Provide operators for QMargins.
Provide addition/subtraction for QMargins as well as
multiplication and division for int/qreal similar
to QPoint. Add unary minus.

Change-Id: If4eb831cfd610b34b5ca361619b1636031811d0a
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
2013-01-07 16:11:19 +01:00
Friedemann Kleint 6ecc3e76e8 Add API dealing with QMargins to QRect.
- Addition of a QMargin to a QRect.
- Removal of a QMargin from a QRect.
- Remove implementation from Windows platform plugin.

Change-Id: Iae54bc13e94a7ece48853b1d3f3de2bfc154d2dd
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
2013-01-07 16:11:19 +01:00
Giuseppe D'Angelo 59eb393cf5 Rename QRegularExpression-related feature defs to QT_NO_REGULAREXPRESSION
QRegExp and QRegularExpression are totally independent, therefore
using two different defines is the right thing to do.

Also, document the new define in qfeatures.{txt,h}.

Change-Id: Ice4826ea543f4b22f1cc27bf31ed6e043d0c43b0
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-01-07 16:11:19 +01:00
Frederik Gladhorn cdf13ce286 Merge branch 'stable' into dev
Conflicts:
	tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp

Change-Id: I6b8d505fc22f052c307ca27f58f7d16f98965f47
2013-01-07 15:18:16 +01:00
Konstantin Ritt 79f0a29abf Get rid of pre-QPA leftovers
Change-Id: I61a393baa387f2f90dc652d6a9df1c41c3730611
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-01-07 13:59:55 +01:00
Thiago Macieira fa77402089 Fix warnings about unused functions
The operator<= and operator>= overloads for QPoint are used only with
Q_ASSERT. Clang was correct that they are not used.

Even though they are inline, Clang reports the functions as unused
because they were inside an anonymous namespace. So take the off the
namespace. They are correct for external use, should they be exported
by accident (which they aren't now).

painting/qpathsimplifier.cpp:76:13: error: unused function 'operator<='
      [-Werror,-Wunused-function]
inline bool operator <= (const QPoint &a, const QPoint &b)

Change-Id: I67415621e777fd0d59cbdede26c34d8bb13f7346
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-01-07 13:39:08 +01:00
Stephen Kelly 21d607c81a Automatically register method types in QSignalSpy.
Change-Id: I3655291dca6dbd3d8d09ee835b85983caa911b64
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-01-07 12:06:00 +01:00
Stephen Kelly 6769e0783a Fix the \since version for QSharedPointer::create().
It is not relevant that it has been part of the class since Qt 4.6. It has
always been internal until now. The release where it became public API (5.1)
is what is relevant.

Change-Id: Ib740f3ed6df190884a94fb2c11dd74cd7edb7b1a
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-01-07 12:05:51 +01:00
Giuseppe D'Angelo 2d8910cbed Introduce QRegularExpressionValidator
QRegularExpression counterpart for QRegExpValidator.

Change-Id: Ib391e73dd49e32aeb9b48e6f2217b67a17a83a11
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-01-07 12:04:53 +01:00
Rafael Roquetto 91a55c7e7d Disable Q_COMPILER_RVALUE_REFS on QNX
std::forward and std::move are not yet supported by the NDK.

Change-Id: I1df1b5e88717c0d27a280862b98eb68262927f2b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-04 20:43:51 +01:00
Joerg Bornemann fbd3cd8679 remove unused member from QSystemLocalePrivate
This is a refactoring leftover from commit
bb86e77cc437b92d49692bb7026c57626d77079f in qt/qt.git.

Change-Id: I04993faca44ad0ffca2ae163049770c29d232a47
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Reviewed-by: Denis Dzyubenko <denis@ddenis.info>
2013-01-04 18:43:40 +01:00
Rafael Roquetto faaaa68db4 Remove redundant Q_OS_BLACKBERRY define check.
Q_OS_QNX is always implied by Q_OS_BLACKBERRY

Change-Id: Ic07a967ab9a45b3c6c088aa8399bab823b9a413e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-04 18:43:19 +01:00
Thiago Macieira a094bf5a89 Don't increase the reference count if dynamic_cast failed
If the dynamic_cast failed in QSharedPointer::dynamicCast or
qSharedPointerDynamicCast, we should avoid creating the QSharedPointer
that shares the weak and strong reference counts. In Qt 5, this does
not imply a leak since the original pointer is stored internally for
deletion. In Qt 4 it implies a leak under certain circumstances, which
this change fixes.

Task-number: QTBUG-28924
Change-Id: Id2de140de4cf676461e14b201ad250c53666b79d
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-01-04 17:30:19 +01:00
Peter Hartmann bf5e7fb265 SSL certificates: blacklist mis-issued Turktrust certificates
Those certificates have erroneously set the CA attribute to true,
meaning everybody in possesion of their keys can issue certificates on
their own.

Task-number: QTBUG-28937

Change-Id: Iff351e590ad3e6ab802e6fa1d65a9a9a9f7683de
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2013-01-04 15:19:17 +01:00
Jan Arve Saether 89f862ab10 Do not send QAccessible::Focus when current index is changed.
This had the unfortunate side-effect that focus was reported to change
(but it didn't) just because the qtabbar was shown.
Found by clicking the different categories on the left-hand side of the
options dialog in Qt Creator.
So, what happened was that clicking "Text Editor" would move the
accessibility focus (that the AT client saw) to the "Font & Colors" tab)

Change-Id: I19a508f6a32a77696079d24c3c6408cb6c3d9fd5
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-01-04 15:18:56 +01:00
Samuel Rødal bd04a3d136 Fixed wrong emits of x/y/width/height changed signals in QWindow
We should only emit these when the corresponding property value changes.
Since these are changed asynchronously in the case of a platform window,
we should not emit them in the setter, as they are already properly
emitted in QGuiApplicationPrivate::processGeometryChangeEvent().

Change-Id: I5ac00601ddb4e7a8ff02376e5f5135d427913119
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-01-04 13:20:06 +01:00
Jon Severinsson cf2a75e41b Fix QGuiApplication::keyboardModifiers() and QGuiApplication::mouseButtons()
Previous commit b2363a935c fixed keyboardModifiers() after QPA event
processing, but broke QTestLib, which expects spontaneous input events
sent to qApp->notify() to update keyboardModifiers() and mouseButtons().
The commit also did not fix mouseButtons() after QPA event processing,
and missed keyboardModifiers() after QPA Tablet event processing.

This commit fixes all these shortcommings in b2363a935c.

Includes test case by David Faure <faure@kde.org>

Task-Number: QTBUG-26887
Change-Id: I8518b06c4ce86ea7b35120e3353a45ea2a81d356
Reviewed-by: David Faure (KDE) <faure@kde.org>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-01-04 13:20:06 +01:00
Gabriel de Dietrich f415d86d1e Cocoa: Fix zombie NSScreen crash
While the Cocoa documentation says we should not cache [NSScreen screens],
it seems that we should not cache its referenced objects either. This
caused a crash in desktop components when using Dial because, given
the way it is being rendered, we need to know the screen pixel ratio.

Task-number: QTCOMPONENTS-1279
Change-Id: If5c3c6f14d04925215b9dca011143a2056a68846
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-01-04 13:20:06 +01:00
Jonathan Liu d75b217901 Windows: Add fallback for UpdateLayeredWindowIndirect
The UpdateLayeredWindowIndirect function is only available on Windows
Vista and later. If UpdateLayeredWindowIndirect is not available
(e.g. on Windows XP), use UpdateLayeredWindow instead.

Change-Id: I8af23c051560f7e54eda390dae7553543c00a94b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-01-04 13:20:06 +01:00
aavit 4250fa2cf6 Revert "Enable module build with QT_NO_ACCESSIBILITY"
This reverts commit b7f63c6bf7.
It made compilation fail in qstylehelper_p.h if QT_NO_ACCESSIBILITY
was defined - which it is by default on linux without dbus.

Change-Id: I313f5138460d28c44dad128d175df0e53a99287d
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-01-04 13:20:06 +01:00
Frederik Gladhorn ca2f44680c Merge branch 'stable' into dev
Conflicts:
	examples/widgets/painting/shared/shared.pri
	src/corelib/tools/qharfbuzz_p.h
	src/corelib/tools/qunicodetools.cpp
	src/plugins/platforms/windows/accessible/qwindowsaccessibility.cpp
	src/plugins/platforms/windows/qwindowsfontdatabase.cpp

Change-Id: Ibc9860abf570e5ce8b052fb88feb73ec35e64bd3
2013-01-04 11:12:05 +01:00
Bernd Weimer 9cfce43f19 BlackBerry: Reevaluation of timer list in event dispatcher
In the event dispatcher the timer list has to be reevaluated after
each call to filterEvent, because timers could be started in event
filters.

Change-Id: I1a275845fb74c63441f2301555f3459f8295af27
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-01-04 10:27:09 +01:00
J-P Nurmi 24d8bcf93a QGtkStyle: exclude Xlib calls on Mac
Task-number: QTBUG-28769
Change-Id: I3f83b6011acf43e5136a762d0f8841b3a910cecb
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-01-03 22:17:11 +01:00
Jan Arve Saether 25c6908c80 Do not crash in the bridge because of inconsistent hierarchy
Change-Id: I732b624b9918ff4ab59ef46322fd42167b438a8d
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-01-03 20:18:06 +01:00
Mitch Curtis 1b47059c88 Clarify how two digit years are parsed by QDateTime::fromString().
It's currently not obvious that two digit years will always be in the
20th century (1900's).

Task-number: QTBUG-28797
Change-Id: I7dee9a46e0cb803a8f097debc5443d1789c2f16c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
2013-01-03 18:19:28 +01:00
Sergio Martins 00b0dff93f QNX: Don't crash because the window hasn't been initialized yet.
Don't call window->handle() inside the backingstore ctor, because
we might still have the window ctor in the call stack
( ex: a QWindow sub-class that creates a backingstore inside it's
ctor).

Crash can be reproduced by running examples/gui/analogclock.

Change-Id: I4622ceaeb05696c5ae0181a528f58e5d102dcb22
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-01-03 18:19:28 +01:00
Andreas Holzammer 0cac0796a0 WINCE: Follow new library naming schema
Change-Id: Iad85e64bf504053e21cad809d2435c1ca239201b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-01-03 16:15:37 +01:00
Stephen Kelly 4184892665 Fix copy-pasto in QMetaObject::methodCount docs.
Copy-pasto'ed from the propertyCount docs.

Change-Id: Iddb4ce9c9559ca274a80deb0785424df108af762
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-01-03 16:15:37 +01:00
Eskil Abrahamsen Blomfeldt 248ccb2889 Fix possible crash in QTextDocument
With trailing spaces in some cases, we would not get the
"no justification at end of paragraph" special case, and continue
in the code, getting the unexpected case where line_length becomes
< 0 which would lead to memory corruption because we were writing
outside our buffers. I added an assert to catch this type of bug
earlier, and I added the trailing spaces to the test for the end
of the paragraph.

The test case added is one example which would crash.

Task-number: QTBUG-27354
Change-Id: Id720a6fa55dbc709ce04dd5321e55687bf960d75
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-01-03 16:15:37 +01:00
Stephen Kelly 4319f698c8 Remove metatype registration of built-in types.
As they are built-in, they are effectively registered at compile-time
already.

Change-Id: I7ae6ba16088eab5d19213fa7b07c2a7760988a86
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-01-03 16:15:37 +01:00
Thiago Macieira 0fd0f8dfa0 Declare the QMetaType::WasDeclaredAsMetaType enum as private
Omit its value in the documentation.

Change-Id: I474faefde23b0e2e0a77a9e6391fd556a6523128
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-01-03 14:18:08 +01:00
Thiago Macieira 77924a0276 Remove some dead code from qtriangulator.cpp
The CompareEdges functor class is never used anywhere. Clang saw it
through to the static function that never got used:

qtriangulator.cpp:227:12: error: unused function 'comparePoints'
      [-Werror,-Wunused-function]
static int comparePoints(const QPodPoint &u, const QPodPoint &v)
           ^

Change-Id: I67d821e454daf82bd8107bf20f787aff9496e878
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-03 14:18:06 +01:00
Thiago Macieira ddf8ebb014 Fix warnings found by GCC 4.7 in the XCB platform plugin
qxcbnativeinterface.cpp:246:8: error: unused parameter 'context' [-Werror=unused-parameter]
qxcbcursor.cpp:550:85: error: 'root' may be used uninitialized in this function [-Werror=maybe-uninitialized]

Change-Id: I5fa4e717c86d0e8198e501e6c799e0ceb9264708
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-03 14:18:03 +01:00
Stephen Kelly 1342f5da38 Move the Q_DECLARE_METATYPE for QList<QSslError> to qsslerror.h
Otherwise it is possible to assert if

 qRegisterMetaType<QList<QSslError> >("QList<QSslError>")

is called in a TU which does not include the Q_DECLARE_METATYPE
invocation.

Change-Id: Ice1ffbb0f8d0a745d2bffc8b4e13ca31621e8ca4
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-01-03 11:32:05 +01:00
Thiago Macieira 2f365ae7ec Fix GCC warning about parentheses in QtPlatformSupport
atspiadaptor.cpp:2140:12: error: suggest explicit braces to avoid ambiguous 'else' [-Werror=parentheses]

Change-Id: Ib21308f9c1b3bf813fed803228d8adbcc3ce7e9f
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-01-02 17:34:44 +01:00
Thiago Macieira ebcc41ed72 Make qtestaccessible.h compile with QT_NO_KEYWORDS
Change-Id: I2065be84d69db62cdae1ad6ac66a09fc5f3454eb
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-01-02 17:33:49 +01:00
Thorbjørn Lund Martsum 28a21d98ef QAbstractItemView - allow deselect in single selection mode.
This patch allows single selection to be cleared with the normal
control modifier. This affects e.g QTreeView and QListView.

Task-number: QTBUG-8836
Change-Id: I7fd50b987acc3552b36657409568192763257536
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-01-02 16:09:14 +01:00
Thiago Macieira 0f014fcde8 Mark several template functions as static.
There is no reason those function shouldn't be static. This produces
no change in code, except that the functions may be better optimised.

Change-Id: Ia60b81d4e29a36190a453e8c7c8102c8f547e1a9
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-02 13:58:39 +01:00
Jon Severinsson e2fb3f94e8 qdbusxml2cpp: Check string length before checking for \r\n.
Change-Id: I5370bae258933536ecf9785da95a9006fafc1a62
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-02 13:53:15 +01:00
Konstantin Ritt 1b9fdb9b31 Skip FcCharSetHasChar() call
...if writing system is already known to be supported

Change-Id: Id7ea11e92507a283b2fba2ad944dd0a9772e484d
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-01-02 10:27:22 +01:00
Konstantin Ritt cc378774b8 Move ForceIntegerMetrics testing out of the loop
Change-Id: I5732999dee63568eb83e5186cf5bf8c63709724e
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-01-02 10:21:51 +01:00
Thiago Macieira afa57146cb Fix warning about unused variable
qeglfshooks.h:77:21: error: 'hooks' defined but not used [-Werror=unused-variable]

Defining a static variable in a header file is a terrible idea. But if
I remove it, other code breaks and I don't have the time to fix them
all.

Change-Id: I4f94cbc7f0790df91853662749701e8fb11c2347
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-02 08:04:32 +01:00
Sean Harmer aa90f78a34 Fix bug in multisampling handling when converting from surface format
Task-number: QTBUG-28875

Change-Id: If72ce0669de8f344603d2da53eeb5644bd5c4f82
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-02 08:02:33 +01:00
Morten Johan Sorvig db25efe78b Make QImage::mirrored() propagate devicePixelRatio
Change-Id: I2dfeacc941cb411a7ec6752f745fed9d6345ed8a
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-01-02 07:49:05 +01:00
Morten Johan Sorvig 818c544d6b Cache accessibility plugins.
Profiling shows that the cost of QAcccessible::
queryAccessibleInterface is dominated by plugin loading.
(json parsing etc.)

Cache QAccessiblePlugin per class. Also cache the fact
that no plugin is found for a certain class. This speeds
up the average queryAccessibleInterface call by a factor
of 10X

Change-Id: Iab6d052dec499a2203d1dcc4672a8a543b279239
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-01-02 07:47:46 +01:00
Thiago Macieira 2119c8f291 Make these headers includable directly, on all systems
For qwineventnotifier.h, just wrap the code around #ifdef Q_OS_WIN. This
has the added benefit of fixing the current qt_no_master_include problem
(that is, even if you #include <QtCore> on Windows, you wouldn't get
it).

For qtypetraits.h, it requires qglobal.h first.

Change-Id: If1ba09a0a29de429a5b87e9878c8ac6a62a443c4
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-01-01 23:50:00 +01:00
Stephen Kelly 3f374afaae Get the default flags from the direct-base, not the indirect.
QStringListModel inherits QAbstractListModel.

Change-Id: I942321b2e5949f54041e11089f4131a646618b9e
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-01-01 18:11:28 +01:00
Thiago Macieira d443953e6a Fix warning found by clang:
kernel/qwidgetsfunctions_wince.h:61:34: error: no newline at end of file [-Werror,-Wnewline-eof]

Change-Id: Icbc35227946652db53fc8454d1d42043aa7c15b9
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-12-31 13:04:23 +01:00
hjk 03a666760c Speed up and fix QByteArray::setNum()
Going through QLocale and QString is not really needed.

This also makes the result of the conversion of negative numbers
in bases other than 10 independent of the architecture and
implements the documented behavior of treating them as
unsigned types.

Change-Id: Ibc231dc5241deb5cbadd9796484a8b5f79c29410
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-30 10:44:44 +01:00
Thiago Macieira 8094c8fe18 Remove unused function _q_qgraphicsItemSetFlag
Clang reports:
graphicsview/qgraphicsitem.cpp:1779:13: error: function '_q_qgraphicsItemSetFlag' is not needed and will not be emitted [-Werror,-Wunneeded-internal-declaration]
static void _q_qgraphicsItemSetFlag(QGraphicsItem *item, QGraphicsItem::GraphicsItemFlag flag,
            ^

According to the public Git history, in Qt 4.5.1 this function was
already unused. The only reason it wasn't caught so far is that it is
recursive: it calls itself. So it is used... by itself.

Change-Id: I6fc6b33cb314b845525dc9315d0ad742e113d5cd
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-29 22:38:48 +01:00
Thiago Macieira fbfe420aeb Fix warnings reported by Clang in QtWidget
qwizard.cpp:919:24: error: equality comparison with extraneous parentheses [-Werror,-Wparentheses-equality]
    if ((info.wizStyle == QWizard::AeroStyle)
         ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~

Change-Id: I477cc4e331633682b79df3cb0113558e9019280c
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-29 22:38:46 +01:00
Thiago Macieira b5de3baa6f Add qtest_widget.h to the list of testlib headers
It was missing.

Change-Id: I356f6ccddf4fc56e76858fdeaa8ef116e3b680af
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2012-12-28 23:29:11 +01:00
Thiago Macieira 19d8a77040 Fix warnings in the SQL drivers found by GCC 4.7
qsql_psql.cpp:774:12: error: enumeration value 'CancelQuery' not handled in switch [-Werror=switch]
qsql_mysql.cpp:1163:12: error: enumeration value 'CancelQuery' not handled in switch [-Werror=switch]
qsql_sqlite.cpp:527:12: error: enumeration value 'CancelQuery' not handled in switch [-Werror=switch]
qsql_odbc.cpp:88:97: error: format '%d' expects argument of type 'int', but argument 3 has type 'long unsigned int' [-Werror=format]
qsql_odbc.cpp:706:76: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]

Change-Id: I79965283057e92a44a0c8375530cfb30107c891c
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2012-12-28 23:28:31 +01:00
Thiago Macieira a891ef6920 Don't use MPProcessorsScheduled on Mac OS X
It's deprecated and it's not available on iOS anyway. The recommended
way of getting the number of processors online is via sysctl or
sysconf (both of which are just slightly below).

qthread_unix.cpp:397:13: error: 'MPProcessorsScheduled' is deprecated: first deprecated in Mac OS X 10.7 [-Werror,-Wdeprecated-declarations]

Change-Id: I4bf60985fbde155b78b840f3de3ff0a142b78b19
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2012-12-28 23:28:05 +01:00
Thiago Macieira 7b54571ec2 Suppress warning in valgrind headers: variable set but not used
qbenchmarkvalgrind.cpp:229:5: error: variable '_qzz_res' set but not used [-Werror=unused-but-set-variable]

Change-Id: I3c5896659105650d6d824b10ff3beffbdf494e24
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2012-12-28 23:27:58 +01:00
Thorbjørn Lindeijer a1cdc17be9 Removed an unnecessary forward declaration
qstringlist.h is already being included.

Change-Id: I1790cd560b934b6697702bd11f78f39cddc3389f
Reviewed-by: Thorbjørn Lindeijer <bjorn@lindeijer.nl>
2012-12-28 13:23:48 +01:00
Thorbjørn Lindeijer 1d09c5623b Fixed typo 'collasping' in QTreeView documentation
Change-Id: Ib49c3500c4b3a40a7eaf17404cecc2c38de90530
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-12-28 11:24:27 +01:00
Gabriel de Dietrich 3262ba8de6 Cocoa: Re-enable per class palette on QPA plugin
Task-number: QTBUG-28443
Change-Id: If66604e8d002be6cf4c308378199c96be7422e06
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-12-24 12:44:34 +01:00
Gabriel de Dietrich f59163e79b Mac: Bring back proper layout in QMessageBox
Resolved by s/Q_WS_MAC/Q_OS_MAC where appropriate.

Task-number: QTBUG-28738
Change-Id: I8f1239839bffb092387d527af78e9dbe1628ef67
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-12-24 09:37:03 +01:00
Thiago Macieira 3adbcb58d5 Fix QMutex::tryLock with negative values
The Linux futex implementation had a Q_ASSERT for positive values, but
the documentation says that negative values should be interpreted as
infinite (equal to lock()).

Test that too.

Change-Id: I2f96a502d672732781e88e49797756ca9a809121
Reviewed-by: David Faure (KDE) <faure@kde.org>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-23 20:34:46 +01:00
Thiago Macieira 96d06124a1 Fix standalone header compilation
qtconcurrentfunctionwrappers.h:277:22: error: 'QStringList' was not declared in this scope

Change-Id: I54c48386d90146c872679672a1d8cc3675d49c39
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-23 17:53:57 +01:00
Thiago Macieira 9ea5754291 Fix Clang warning about memcpy a class with vtables
Change-Id: I7966014a49cdf4c6c82f012d8b1d16ba8ddc3fcc
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-23 17:53:40 +01:00
Thiago Macieira 96b48ee0cb Fix warning about unused variable in qdoc
codeparser.cpp:245:18: error: unused variable ‘dn’ [-Werror=unused-variable]

Change-Id: Id271b3829ba3278e80d4e79746db7aabfabd751a
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-23 17:53:07 +01:00
Thiago Macieira 7ee9551b62 Add support for multiple arguments to QSharedPointer::create()
Requires C++11 rvalue references and variadic templates so we can
implement perfect forwarding.

Change-Id: I62e47d1ffd0c61e8386f9f246aa79031b7430b46
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-23 17:51:45 +01:00
David Faure 8b2728ec38 QUrl::fromUserInput: fix for urls without a host.
QUrl::fromUserInput("http://") was invalid, which doesn't make sense
since QUrl("http://") is valid. Same for "smb:" which is actually
even more a valid URL from a user's point of view.

Change-Id: I371ac393d61b49499edf5adbbc2a90b426fe9e5d
Reviewed-by: Marco Martin <mart@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-12-23 10:50:28 +01:00
Thiago Macieira 2ebb714686 Fix warning about unused variable in QtPlatformSupport
GCC was complaining:
qevdevtouch.cpp:475:13: error: 'maxId' may be used uninitialized in this function [-Werror=maybe-uninitialized]

Which got me scratching my head: maxId was unconditionally initialised. How
could GCC be complaining about it being uninitialised? Well, turns out that
bestId could be uninitialised and the code does:

            if (bestId > maxId)
                maxId = bestId;

Of course, if bestId was uninitialised, the warning should have been in the
"if" line first.

Change-Id: I5e174ab2957d76ad040c14fa6ef8535129b6dce3
Reviewed-by: Laszlo Agocs <lagocs83@gmail.com>
2012-12-22 09:55:51 +01:00
Sergio Ahumada 7426102c73 Bump Qt version to 5.0.1
Change-Id: Ie8f437b8dfe8a67c7b34321439dd988a02612437
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-12-21 22:49:02 +01:00
Thiago Macieira a2f63dfd7a Use the new QUrlPrivate::validateComponent validator in the main parser
The code was copied from the main parser there, so remove the
duplication.

Change-Id: I85748f6f76b3097ff22958d9de67cfa27061a72b
Reviewed-by: David Faure (KDE) <faure@kde.org>
2012-12-21 20:54:51 +01:00
Thiago Macieira e1a1e80d46 Make sure that the strict parser is also operating on setXxx
These cases weren't handled before.

The validateComponent function is copied from QUrlPrivate::parse, with
the added modification that it now needs to check the gen-delims for
the userinfo.

Change-Id: I055167b977199fa86b56a3a7259a7445585129c6
Reviewed-by: David Faure (KDE) <faure@kde.org>
2012-12-21 20:54:51 +01:00
Thiago Macieira f4b4b4414e Add QDBusArgument template overloads for QPair
Change-Id: Ic7c199b20f9b3f34ae8a16b6062b3a3d8722f063
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-12-21 19:36:49 +01:00
Oswald Buddenhagen 586adeabe4 add and use qtHaveModule() function
this is much more elegant than the so far propagated !isEmpty(QT.foo.name).
also replace feature-specific tests (no-gui and no-widgets) and the
obsolete contains(QT_CONFIG, foo) syntax.

Change-Id: Ia4b3c8febcabf9eeca67b1f9173a523820b1038b
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: Tasuku Suzuki <stasuku@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-21 19:05:02 +01:00
Sergio Ahumada 7706c31eaa Fix some typos
Change-Id: I4e8d9bd8ea66ec810e4f1fbfd8ddbf25c4b3d980
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
2012-12-21 19:05:02 +01:00
Konstantin Ritt 9b0fab6b62 Update Qt internals to use QChar::Script
...and remove the outdated QUnicodeTables::Script enum.
QFontEngineData now has one extra slot that never used
(engines[QChar::Script_Inherited]). engines[QChar::Script_Unknown],
if accessed, would be set with a Box engine instance, and could be used
as a minor optimization some time later.

In order to preserve the existing behavior, we map all scripts up to Latin to Common.

Change-Id: Ide4182a0f8447b4bf25713ecc3fe8097b8fed040
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2012-12-21 19:01:35 +01:00
Oswald Buddenhagen 21e809a486 fix linker command line
gcc is apparently tolerant against this abuse. icc is not.

Task-number: QTBUG-28775
Change-Id: I872d32177562f076ca8aecd263bc4bb3c7e8edc0
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2012-12-21 17:11:46 +01:00
Eskil Abrahamsen Blomfeldt dde09c429a Make distance fields rendering work with Opentype CFF fonts
If the font has a CFF table, GDI will not label it as
TMPF_TRUETYPE, however, we can still use GetFontData to get
the SFNT tables. This is required to get the maxp table which
contains the glyph count, which is required to use the font
with the distance-field renderer.

Task-number: QTBUG-28746
Change-Id: I3ca1e3d96ea53c453e6fa422b33d1f1f5050a82c
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2012-12-21 16:57:26 +01:00
Mitch Curtis b8623461d1 Fix typo in QWidget::setLayout() documentation.
Change-Id: I4882f01b980d7b89e54be2eeacc3a83fd014d0fe
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2012-12-21 13:16:38 +01:00
Oswald Buddenhagen 022a0f0fb3 Merge "Merge 'release' into stable" into refs/staging/stable 2012-12-21 10:38:41 +01:00
Richard Moore 543e2d5e01 Fix typo in docs.
Change-Id: I37ccb10d40d2a848b7c251286d29aeb85411e912
Reviewed-by: hjk <qthjk@ovi.com>
2012-12-21 01:12:30 +01:00
J-P Nurmi 9f962612da Mac: fix transient QScrollBar flashing
Task-number: QTBUG-28669
Change-Id: I9825584f15c34709f7897533220911b6bf3ea21d
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-12-20 23:15:54 +01:00
Friedemann Kleint 96ff3fbb66 QMessageBox: Add property 'textInteractionFlags'.
Change-Id: Ia7a4801599f18a1202aa89f54e48066e3d271bfb
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-12-20 21:38:19 +01:00
David Faure a42a1db6e1 QAbstractProxyModel: Document setSourceModel a bit more
Especially so that subclasses remember to emit reset.

Change-Id: Iadcae3fc5fe72584465d4134f385ed0a1d77bfcd
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-12-20 19:21:47 +01:00
Venugopal Shivashankar 84dbdc8db6 Doc: Removed the \relates instances
QDoc supports \relates in the context of a function that
relates to an existing class or a namespace, but not in the context
of a class. We can use \sa to list the related classes or namespaces
for a class instead.

This change ensures that QDoc generates documentation for QMessageLogger
and QMessageLogContext classes.

Task-number: QTBUG-28468

Change-Id: I2242ab730fe5e3acf54b6fa65774e751d2daa7a4
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2012-12-20 16:48:36 +01:00
J-P Nurmi 12775b817f Style animations: fix QCommonStylePrivate::stopAnimation()
Explicitly delete animations, and remove the check for stopped state
as that is already done by QAbstractAnimation::stop() and we want to
delete the animation regardless of the current state.

Task-number: QTBUG-28506
Change-Id: I3e34316e5077a8627ff5e6d3babd1873bbbaa774
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-12-20 16:48:36 +01:00
Konstantin Ritt f7639c0a6d Add QChar::Script enum
...where the values are not aliased to Common script.

The old QUnicodeTables::Script enum was retained for compatibility reasons
until Qt internals are updated to use QChar::script().
Using QChar::Script instead of QUnicodeTables::Script would improve both
the text analysis (itemization, boundary finding) and the text shaping quality.
This also a required step for switching to Hurfbuzz-NG.

/* This adds 6668 more .rodata bytes */

Change-Id: I5aa3d12c550528d0052542436990f8d0779ea8e5
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-12-20 14:48:32 +01:00
Jonathan Liu b2c44985e7 Fix linking ANGLE on MinGW-w64 64-bit
The MinGW-w64 32-bit .def files shouldn't be used with MinGW-w64 64-bit.
Rename .def files from <library>_mingw.def to <library>_mingw32.def and
only use them if QT_ARCH is i386.

Change-Id: I5dc2a87f7d2ed59bf954faf2983d0787ed9e00e9
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Patrick von Reth <vonreth@kde.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-12-20 14:23:57 +01:00
Miikka Heikkinen 889e991773 Generalize the check for gui in static plugin import generation
Generalize the check for gui by checking for needs_qpa_plugin
CONFIG value instead, which gui adds to MODULE_CONFIG.

Task-number: QTBUG-28215
Change-Id: I5834a3f81e5c3868ee1a3fa405ebc6410db1f900
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-20 13:59:46 +01:00
Tasuku Suzuki b7f63c6bf7 Enable module build with QT_NO_ACCESSIBILITY
Change-Id: I330c3ddd70232d94eae5543cb0282b962e67eae5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-12-20 13:39:50 +01:00
Andy Shaw bc71836fc4 Use PG_VERSION if PG_MAJORVERSION is not defined
When only PG_VERSION was available for getting the client driver version
for PostgreSQL it meant that it would not detect the client version and
subsequently would not set the connection up correctly as a result.

This fixes the blob test already in tst_qsqlquery.

Change-Id: Ie2176a43b6be9c0e835498fca5aea129f0cc8fc6
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2012-12-20 13:33:07 +01:00
Stephen Kelly 40474ceb11 Fix the computation of the location of mkspecs.
The location of the mkspecs directory comes from the archdatadir, which
distros will all set.

Change-Id: I20dbdce76db13dbd37eec065009e215f98985907
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-12-20 13:22:02 +01:00
Andy Shaw 9f28f8bcbb Prevent a crash if the pixmap passed in is null
If the pixmap passed in is null then we should not try to create a
NSImage for it, so we just return 0 instead.

Change-Id: Idae7ba304c97878e0aa8ae1eead5f4bb644a73de
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-12-20 06:30:07 +01:00
Friedemann Kleint 85557694df DBUS: Fix linker errors on Windows.
QDBusMarshaller symbols were duplicated.

Initial-patch-by: vonreth@kde.org

Change-Id: Ic66681696aaf2a440119c06fce8d1dbd99c8396a
Reviewed-by: Patrick von Reth <vonreth@kde.org>
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-12-20 01:42:05 +01:00
Michele Caini 6e5938311f Review of documentation.
Terms fixing. Changes apply to Qt5 as well as Qt4.

Change-Id: Ibb31ab0d68c62f3feb63722dd967932c2543fa37
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-12-20 01:42:05 +01:00
Lorn Potter 2efccfeeef Update connman bearer plugin for changed connman API.
This should also remain working for previous connman

Change-Id: I5f0a1947f11948b202391ba0c256067faa01ce6d
Reviewed-by: Lorn Potter <lorn.potter@jollamobile.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-12-20 01:42:05 +01:00
Thiago Macieira d7df8e39f3 Make qtestaccessible.h compile on its own.
It needs the QTest namespace and QTest::qWait to be declared.

Change-Id: I1c72a13231603a61221cf1b7ad9234aa4cba6d60
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-12-19 23:43:21 +01:00
Thiago Macieira 22ce26234e Similarly to the 797f3c0a01, fix qbasicatomic.h inclusion
qatomic.h includes qbasicatomic.h, so break the cyclic inclusion
problem.

Change-Id: If72bacbcfa36993336786f31e8980fbd43df8bdc
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-19 23:43:17 +01:00
Gabriel de Dietrich 56dc245a2b Mac: Ignore ScrollBarAlwaysOn policy for transient scrollbars
Change-Id: I8a542263df64a21cad6b8cddc5ab1d8a93e153d5
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-12-19 23:42:49 +01:00
Gabriel de Dietrich 4e38747d8d Mac: New rendering for disclose triangle, get proper color when selected
Change-Id: I2be0a28df3f5dd2fdfae13be6ec98763a04187c1
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-12-19 23:42:49 +01:00
Andy Shaw 7fcf1cf674 Check for gtk_adjustment_configure as this is not always implemented
Some implementations seem to not have the gtk_adjustment_configure
function implemented so we check for this so that there is no problem
when it tries to use it.

Task-number: QTBUG-23569
             QTBUG-25760

Change-Id: I777ce09268f86907f3da3cede408c9a41be566cf
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Karim Pinter <karim.pinter@digia.com>
2012-12-19 21:24:23 +01:00
Oswald Buddenhagen d4a29a53eb Merge 'release' into stable
Change-Id: I57aaa6747c1bfacc7dee036cd69d91a8c0d9ae7a
2012-12-19 19:34:53 +01:00
Andy Shaw e307d60749 Remove usage of qt_mac_get_scaleFactor() as it is no longer needed
qt_mac_get_scaleFactor() uses a deprecated function, but as this
function is no longer needed internally anyway, just remove it.

Task-number: QTBUG-28574
Change-Id: I4e3cd2383ecc56aa6f9e3931a1806c62b1cedeb5
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-12-19 15:18:39 +01:00
Frederik Gladhorn 234163adb3 QDoc: Fix warning - unused variable
Change-Id: Id4068e1a1fcfad8fb3cc9174f995cb2b73b6e194
Reviewed-by: Martin Smith <martin.smith@digia.com>
2012-12-19 13:44:27 +01:00
Jonathan Liu 854e5c473b Fix linking ANGLE on MinGW-w64 32-bit
MinGW-w64 32-bit requires the functions exported in the .def file
to be decorated.

Change-Id: I174a92829706a9fb6b0007b2c057300bd69e6d9e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2012-12-19 10:30:53 +01:00
Sergio Ahumada 5efcd5a6c3 Change ftp.qt.nokia.com -> ftp.qt-project.org
Task-number: QTBUG-28156
Change-Id: I0060144f0336791933205355b125251ccba73b3e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-12-18 23:13:35 +01:00
Christiaan Janssen 0843067838 Qt Gui Examples: Fixed QDoc files
Change-Id: I160d8d186a1078f20f2b779bfbdae90459c27641
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-18 19:33:09 +01:00
Frederik Gladhorn 01f1ef1185 Accessibility indexes are no longer 1-based.
The updates for focus/selection in QTreeView
were still adding +1 as it was required in Qt 4.

Task-number: QTBUG-28174

Change-Id: Ib9fea7e20d431a0ef0db18494e7bdda06a0646b0
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-12-18 19:31:53 +01:00
Jonathan Liu dc2bfb6f89 ANGLE: Fix typedefs for Win64
The long int type is incorrect for Windows 64-bit as LLP64 is used
there.

Change-Id: If4ccf49d6bb0cd7ba4ff2997cebfdbe5e7e9711c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-12-18 16:22:13 +01:00
Lars Knoll 3bf50a7db9 Fix font sizes when X11 has a forced dpi setting
On X11, the X resource system can override the physical DPI of
the screen for resolving font sizes etc. Correctly load the
setting and adjust the logicalDpi() accordingly.

Change-Id: Id60d03d1d214fb99e9de17a65976abd170bb7cca
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-12-18 14:19:38 +01:00
José Millán Soto 4b7be05058 Change behaviour of selectRow, selectColumn, unselectRow, unselectColumn
According to the comments of selectRow and selectColumn, the expected
behaviour of this method was to select a row or a column and unselect
any cell that were previously selected. However the actual behavior
was to select only one cell and not deselect any cell.

Moreover, according to the specification there's no simple way of
selecting multiple rows or columns as when one of the methods is
called for selecting one row or column the others should be
unselected.

The specification was changed not to require the rest of the cells
to be deselected, although they might be deselected if the
selectionMode requires that in order for the new row/column to be
selected.

The implementation of these methods was changed in QAccessibleTable
and QAccessibleTree to select the whole row/column and take into
acount selectionMode and selectionBehavior.

tst_qaccessibility.cpp was modified to test the new behaviour of
the methods.

Change-Id: I29635d014792169302435e81704e02c16f951238
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-12-18 14:06:23 +01:00
Frederik Gladhorn 51cf4215dc Accessibility Linux: Prevent access to invalid interfaces
Especially with the newer QML accessibility we
can end up with events for objects that cannot
instantiate a QAccessibleInterface.
Let's not crash in that case.

Change-Id: Ie5d38315f32d30540eb4adcb74a7b3bfa667f03f
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-12-18 12:50:58 +01:00
Miikka Heikkinen daef188711 Do not build dlldata.c in static builds
Symbols in dlldata.c conflict with symbols defined in ActiveQt
when linking Windows platform plugin statically into same binary.
Fixed by not building dlldata.c when building static library.

Task-number: QTBUG-28645
Change-Id: Ibc5928124ad6e1fde2a1fa761ada4f345eb65a20
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-12-18 10:06:59 +01:00
Thiago Macieira e14dd5a65d Fix direct compilation of qtypeinfo.h and others
qtypeinfo.h is included by qglobal.h, so it needs to include that before
the #ifdef. Otherwise, we get a circular dependency problem with
qflags.h:

./QtCore/../../src/corelib/global/qflags.h:60:27: error: "Q_PRIMITIVE_TYPE" has not been declared

Also, take the opportunity to fix the other headers that are included
from qglobal.h to avoid similar problems in the future.

Change-Id: I99a56f42775c24bdcc796995b06509c1ca0cb849
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
(cherry picked from commit 797f3c0a01)
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2012-12-18 07:21:39 +01:00
Andy Shaw 3a75e2f227 Initalize the printinfo on Mac if it requests and it needs initalizing
When the print panel was closed then it would clean up the printinfo
and if it was requested for the same QPrinter then it would not be
recreated in time. Therefore we check if it is initalized and if not
we re-initalize it.

Task-number: QTBUG-28657
Change-Id: I7dc9011b80e03cfa3eae8fee2fcf6cc8021a8566
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
(cherry picked from commit dde9569d38)
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2012-12-18 07:21:19 +01:00
Jerome Pasion bb454255a3 Doc: Correcting qhp link to Qt SQL's C++ Classes.
Task-number: QTBUG-28579
Change-Id: I0faae04ab125236554cb39659169780e2ab64629
Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
(cherry picked from commit 7d685afe5d)
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2012-12-18 07:21:15 +01:00
Jerome Pasion fbcc5217e5 Doc: Correcting qhp link to Qt GUI C++ API.
Task-number: QTBUG-28579
Change-Id: I224d55adc1be77138237da4efcac01641964c06b
Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
(cherry picked from commit 771e29178d)
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2012-12-18 07:21:09 +01:00
Venugopal Shivashankar 85338a9c63 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>
(cherry picked from commit 69e6029411)
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2012-12-18 07:20:56 +01:00
Thiago Macieira 797f3c0a01 Fix direct compilation of qtypeinfo.h and others
qtypeinfo.h is included by qglobal.h, so it needs to include that before
the #ifdef. Otherwise, we get a circular dependency problem with
qflags.h:

./QtCore/../../src/corelib/global/qflags.h:60:27: error: "Q_PRIMITIVE_TYPE" has not been declared

Also, take the opportunity to fix the other headers that are included
from qglobal.h to avoid similar problems in the future.

Change-Id: I99a56f42775c24bdcc796995b06509c1ca0cb849
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-18 05:22:47 +01:00
Sergio Martins 019f9158e6 Blackberry: Reset virtual keyboard when shown.
The keyboard mode is shared between applications.

You can reproduce this bug by clicking on a spin box,
it will open a number only keyboard, then close the application
and run an application that shows a text edit: a number only
keyboard will appear.

PPS keyboard already does this.

Change-Id: Ia22e96ce13ad0cec1fd3b43fcdf4d03abfc25134
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-12-17 23:09:15 +01:00
Andy Shaw dde9569d38 Initalize the printinfo on Mac if it requests and it needs initalizing
When the print panel was closed then it would clean up the printinfo
and if it was requested for the same QPrinter then it would not be
recreated in time. Therefore we check if it is initalized and if not
we re-initalize it.

Task-number: QTBUG-28657
Change-Id: I7dc9011b80e03cfa3eae8fee2fcf6cc8021a8566
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-12-17 22:50:16 +01:00
Giuseppe D'Angelo cc89509f83 Delete the QSlotObject when disconnect()ing
When disconnect()ing through a QMetaObject::Connection,  if the
QObjectPrivate::Connection contains a slot object, deref it, so
that it will be destroyed before the next run of cleanConnectionList.

Previously, a copy of the functor passed to connect() was kept until
QObjectPrivate::cleanConnectionLists was called (by adding a new signal,
or the sender was destroyed), even after a successful call to
disconnect(). That is, we were keeping that copy allocated without
any good reason.

Change-Id: Ie6074ea797df1611cb995dec07c5b5a742360833
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-17 19:50:33 +01:00
Giuseppe D'Angelo c4f433d581 Reset the QMetaObject::Connection dptr when disconnect()ing
The QObjectPrivate::Connection refcount was not decreased
when disconnect()ing, therefore it was kept alive by the
owning QMetaObject::Connection object.

This removes a leak in case the QMetaObject::Connection
survives the sender object, after a successful disconnect().

Change-Id: Ie2ea59b269a0e589ae23c1457df7533be77c0797
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-17 19:50:31 +01:00
Andreas Aardal Hanssen 533105cadf Deactivating an inactive panel no longer causes unwanted deactivation.
QGraphicsItem::setActive() is by design not guarded against calls that
do not change the current activation state of the item (e.g., calling
setActive(true) on an active item or calling setActive(false) on an
inactive item). This is to ensure that it's possible to set explicit
activation state on items, either before they are added to a scene, or
while the scene itself is inactive.

Before this fix, calling setActive(false) on a panel item that is not
currently active would by accident clear activation from any other
panel that might have focus. After this fix, activation is only cleared
if the item setActive() was called on itself is the active panel, or
is the panel that will regain activation once the scene is reactivated.

Task-number: QTBUG-28544
Change-Id: Ic4752f1e4400f9a0660bc968834747610212bb52
Reviewed-by: Bjørn Erik Nilsen <post@bjoernen.com>
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2012-12-17 19:37:34 +01:00
Andreas Aardal Hanssen af8a6cdd87 Add new signal: QGraphicsScene::focusItemChanged().
This signal is emitted by QGraphicsScene whenever focus changes in the
scene (i.e., when an item gains or loses input focus, or when focus
passes from one item to another). You can connect to this signal if you
need to keep track of when other items gain input focus. It is
particularily useful for implementing virtual keyboards, input methods,
and cursor items.

Task-number: QTBUG-10570
Change-Id: I9cbbd9a2d15d6f568e1597c2c33ec049eb70f793
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2012-12-17 19:37:16 +01:00
Jerome Pasion 7d685afe5d Doc: Correcting qhp link to Qt SQL's C++ Classes.
Task-number: QTBUG-28579
Change-Id: I0faae04ab125236554cb39659169780e2ab64629
Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
2012-12-17 17:02:23 +01:00
Jerome Pasion 771e29178d Doc: Correcting qhp link to Qt GUI C++ API.
Task-number: QTBUG-28579
Change-Id: I224d55adc1be77138237da4efcac01641964c06b
Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
2012-12-17 17:02:14 +01:00
Oswald Buddenhagen 25a18283d0 remove more symbian vestiges
Change-Id: Ib875202b77193c474bbbd411a7bd0065b26996e9
Reviewed-by: Liang Qi <liang.qi@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-12-17 14:08:17 +01:00
Oswald Buddenhagen 599a58170d remove obsolete DEPENDPATH assignments
qmake now add CONFIG+=depend_includepath by default, making manual
DEPENDPATH setup unnecessary.

Change-Id: Ie57cf05c369e21b5b9e099b6ce9be4f75da1508f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-12-17 14:08:17 +01:00
Oswald Buddenhagen 09331062bb remove some unnecessary CONFIG additions
qt is already added by spec_pre.prf, warn_on and depend_includepath by
default_pre.prf.

Change-Id: Ic00e0ba496d698ed9659c476f2ca99fc0f86a093
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-12-17 14:08:17 +01:00
mfekari dcfa8926ff Add a Q_ENUMS for MeasurementSystem
Change-Id: Ib60de407f7ec8df907884ad2cf2fbf8e7b2c02f4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-17 14:08:17 +01:00
Miikka Heikkinen 826c4f60b6 Rename conflicting symbol QVariantToVARIANT
It appears this method has been copied from ActiveQt. When building
Qt statically, linking Windows platform plugin into any application
that also uses ActiveQt will cause error about duplicate symbol.

Renamed QVariantToVARIANT to QVariant2VARIANT to avoid conflicts.
Renaming is done here rather than ActiveQt, as that symbol is in
exported header in ActiveQt.

Task-number: QTBUG-28645
Change-Id: Id0d7fc51d4455b463515e7c6178798ad61217c35
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-12-17 14:08:17 +01:00
Jonathan Liu acbb6f1897 Windows: Remove warning when creating QWindow
Change-Id: I63c76710ab84c88ba8b4b6f24e6161ae2db77a5f
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-12-17 11:57:02 +01:00
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
Andreas Aardal Hanssen d6f2d8dcb6 Make sure panels always gain focus when activated or tab is pressed.
This changes behavior, but I would argue it's a good change. If you
create a panel and activate it (e.g., by simply showing it or reparenting
it onto an already-visible item), you expect the panel to gain focus /
which is sort of the whole point of activating it. Prior to this change,
you had to have explicitly called setFocus() on one of the panel's
children, which would give that item subfocus, for that item to auto-
gain focus when the panel was activated. This change makes it more
automatic. If the panel itself or any of the widgets in its focus chain
can gain focus, they will gain focus when the panel is activated.

So the new logic is - if the panel already has a focus item, so if
someone explicitly set subfocus on an item before the panel is shown,
that item gets focus. Otherwise, if the panel itself can gain focus
(e.g., someone makes a line edit / text edit panel), it gains focus
when activated. Otherwise, we search the focus chain until we find
the first item that can gain focus. This last case is the file dialog
case, where the dialog itself can't gain focus but typically the
first item in the focus chain is the primary focus widget, such as
the search field or the directory list view.

The change also fixes this for the first Tab. If you clear focus on
a panel, the user expects to be able to press Tab to regain focus.
Prior to this change that didn't happen. Now, the panel or the first
in the focus chain that can get focus gets focus on first tab.

Task-number: QTBUG-28194
Change-Id: Id7ec1741d0d5eb4ea845469909c8d684e14017f1
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-12-17 08:58:04 +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
Leonard Lee 4cf112b641 Elaborate shortDayName(), etc using default locale.
QDate::toString() should explain QDate::shortDayName() and
QDate::shortMonthName() will be localized name using the
default locale from the system.

Task-number: QTBUG-28522
Change-Id: I027a72773b5772bf00344f14a4b522e41c9e63db
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-12-14 23:29:42 +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 133bbf6ea9 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>
(cherry picked from commit fa7661d8b2)
2012-12-14 12:22:19 +01:00
Liang Qi 22929c5dfc 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>
(cherry picked from commit 3c09f6bc9a)
2012-12-14 12:22:15 +01:00
J-P Nurmi e62ab75237 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>
(cherry picked from commit 0b0b74a563)
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2012-12-14 12:21:41 +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
Jan Arve Saether 51ae17d33d No reason to dynamically resolve NotifyWinEvent anymore
It has been available in user32.dll since
Windows2000/Windows Server 2003

Change-Id: Icbfc63e944bc9e8098e3b01fd57dc7aa45bcd345
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-12-13 14:40:04 +01:00
Rafael Roquetto 290ed7f8fa QNX: QQnxCursor implementation.
Implementation of QQnxCursor, a QPlatformCursor subclass. Due to the lack of a
proper cursor API from the underlying OS, this class only caches the current
cursor position to make sure that the QCursor class works properly.

Change-Id: I55031184a009f3b26ad4af36b1975204e8fa80dc
Reviewed-by: Sérgio Martins <sergio.martins.qnx@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
2012-12-13 13:50:21 +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
Vitaliy Kharin 49ba35b990 QSpanData: use isAffine() instead of rolling your own test
QSpanData did not properly check that whether the matrix is an affine
transformation or not. Therefore, qt paint engine chose the wrong
algorithm for drawing in case of a perpective matrix.

Change-Id: If0523bd45e86679a08874713da3fbe33a9852551
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2012-12-12 10:47:48 +01:00
Gunnar Sletta 508db17de3 Some fixes to the OpenGL docs in GUI
Change-Id: I6415ff16b1765a5814d50a4cd39db00495d43073
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-12-12 10:47:48 +01:00
Alejandro Exojo 2efaee43f7 Add directory to xcb-static.pro's INCLUDEPATH
In src/3rdparty/xcb/xcb-util-image/xcb_image.c, the includes require all
this directories, or otherwise compiliation fails when -qt-xcb is used
in the configure step.

Change-Id: I8566bea662eced144cb9a2b1ce1dbfdb65654dea
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-12-12 10:47:48 +01:00
Florian Hänel f65c85c004 FreeType bitmaps interpreted in wrong format
We ask grayscale or mono bitmaps from FreeType but in some cases treat
the output as ARGB without conversion. This surfaces using QGLWidget as
a viewport to QDeclarative content. The offending glyphs are then
generated through QTextureGlyphCache::textureMapForGlyph. This adds a
fix for converting to the expected ARGB32 data.

Change-Id: Ia219582ebd76b7e4e9379111a42312b4d97718de
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-12-12 10:47:48 +01:00
Morten Johan Sorvig 968b117375 Improve Cocoa platform plugin loading.
Loading both the debug and release version of the cocoa
plugins causes the objective-c runtime to print "duplicate
class definitions" warnings.

Fix this by directing the plugin loader to only load
one of the cocoa plugins if both are available. Implement
this as a special case directly in QFactoryLoader.

Define QT_NO_DEBUG_PLUGIN_CHECK to allow mixing
debug and release builds.

Task-number: QTBUG-28155

Change-Id: Ie1927b219cc501a821f91b7e4b56f0589e0acbf5
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-12-12 01:26:23 +01:00
Thiago Macieira 4955cd8539 Document the new load / store methods in QAtomic{Int,Pointer}
Task-number: QTBUG-24627

Change-Id: Iaa2573aa8f0f36cac81efa73020c2f365bfcba53
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-12 01:17:27 +01:00
Thiago Macieira 817bec7a23 Doc: Remove the mention of non-atomic convenience operators in QAtomic
For two reasons: 1) those operators are gone and 2) the ones that remain
are atomic.

Task-number: QTBUG-28532
Task-number: QTBUG-24627
Change-Id: I1e9d1b076d923546c1ee3d45f312066590f97416
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-12 01:17:19 +01:00
Morten Johan Sorvig 4afc88b381 Partially revert e84e86dc.
Make tst_qquickview::resizemodeitem pass.

Returning on equal geometry breaks for non-top-level
windows.


Change-Id: I3b361655e25b6cf2d5e29410dc1f3567ab8f54d9
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-12-11 18:34:19 +01:00
Jan Arve Saether ced154500d a11y: Do not refer to destructed QObject in Windows bridge
The crash could happen if a QWidget in the UI got deleted, and
the AT client later tried to access the widget through the cache
(qAccessibleRecentSentEvents()).

Solution: Use a QPointer as a guard.

Task-number: QTBUG-26187

Change-Id: I1aa716766626cf171757e76ba255a6d5ae4fd854
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-12-11 18:34:19 +01:00
J-P Nurmi 05f5f194f5 Mac: disable transient scrollbar animations for non-QScrollBars
Task-number: QTBUG-28389
Task-number: QTBUG-28380
Change-Id: I91edd9c8aba60118d722bbf9ad5b85f994398823
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-12-11 18:34:19 +01:00
J-P Nurmi e481ea595e QApplication docs: restore console mode -snippet
Change-Id: I1f8ce949ae660a209a2092a2863d5c25e2908004
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-11 18:34:19 +01:00
J-P Nurmi a31dd2e995 QScrollBar::initStyleOption(): fix QStyle::State_On handling
QWindowsStyle considers QStyle::State_On as pressed, whereas
QMacStyle uses the same state for transient scrollbars. Thus,
to indicate transient scrollbars, QScrollBar::initStyleOption()
must set QStyle::State_On only when the current style actually
supports transient scrollbars.

Task-number: QTBUG-28523
Change-Id: I94d207b1e8c5c4bd6f4b99e8b4f1661197fbe9dd
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-12-11 18:34:19 +01:00
Kai Koehne cf728e60a7 Fix compilation with (all versions of) MinGW
Commit 320b16110f changed the arguments
of swprintf to be compliant with latest MinGW-w64 headers: The headers now
excludes the non-standard swprintf(wchar*t,wchar_t*,...) version for C++11.

However, the swprintf(wchar_t*,size_t,wchar_t*,...) version is actually
not supported by e.g. stock Mingw-32 from mingw.org.

Instead, use _snwprintf(wchar_t*,size_t,wchar_t*,...), which both
MSVC, and all MinGW versions should support.

Task-number: QTBUG-28520
Change-Id: Icadd11773a25143e46a72c898adfd1c324f9c468
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-12-11 16:32:39 +01:00
Miikka Heikkinen d4d2e4b39d Automatically import plugins in all applications with static Qt
Since all gui applications already need some QPA plugin added,
we might as well add the default plugin and generate the code
to import the plugins automatically.

User can opt out from the automation by removing relevant
items from CONFIG variable: link_qpa_plugin or import_plugins.

Task-number: QTBUG-28131
Change-Id: Ic171c363464c099143374d3e39bcc28f6edf73d2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-11 16:08:10 +01:00
Andy Shaw 6797413db2 Remove some dead code from QLabel::paintEvent()
The code removed was in a if (d->control) block and therefore d->control
was always going to be true thus rendering the nested if invalid. The
case that this would account for is already handled in the else for the
parent if so this code is in effect not needed.

Change-Id: I799383e238560a8a8e3d7dc073d3b1ee74269f90
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-12-11 15:57:12 +01:00
Nico Vertriest 1433523960 Hardcoded url for RFC 1929 QTBUG-28500
Entered hardcoded url for RFC 1928 QTBUG-28500

Corrected in qtnetworkproxy.cpp

Change-Id: Idad0e2294e610095990a65ffc7d5c9c881b09329
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-11 13:37:57 +01:00
Thorbjørn Lund Martsum 9cf56b3e09 QGraphicsView - fix rubberband to expand on wheel event
In SHA 51914375b6 the rubberband
selection was fixed, so it followed the scene-point on mousemove.

However wheelEvent could move the view - but avoid update of the
rubberband (that would not be updated until next mouse-move).

This patch fixes that (and generally improves rubberband behavior)
since QGraphicsViewPrivate::mouseMoveEventHandler is called by
replayLastMouseEvent, which is called from various places,
where we need to update the rubberband (e.g scrollContentsBy).

Change-Id: I1b78c27edaaecea797a2319086d7a11d437d2bd3
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-12-11 13:37:57 +01:00
Samuel Rødal d0a6d6a215 Remove incorrect and confusing documentation from qplatformwindow.cpp
Change-Id: If3fd383bf7ff08a04df2e11c727c11aeef05a6de
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2012-12-11 13:37:57 +01:00
Samuel Rødal 2bf14740a7 Consistently prefix all platform plugin libraries with "q".
This means the xcb plugin library will be named libqxcb.so instead of
libxcb.so, which doesn't clash with the system's libxcb.so. We need to
consistently apply this on all platforms for static linking to work.

Change-Id: I1640a7cae7b9846bbe62b19ab1c2c5bad7d02b4c
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-12-11 13:37:57 +01:00
Thorbjørn Lund Martsum c57f60ffa9 QGraphicsView - move rubberband-handling into a private function
This patch moves the rubberband-handling from QGraphicsView::mouseMoveEvent
to QGraphicsViewPrivate::updateRubberBand. This function is then
called from QGraphicsView::mouseMoveEvent.

I have removed some d-> and added some q-> but beside that
nothing is changed in the code.

Change-Id: Iab70c55635c43733e0e02bb70e2bb03b90bf62f0
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-12-11 13:37:57 +01:00
Robert Loehning 9914aa333a Fixed leading tab
Change-Id: I357bf802cde3d842a7af0c13845cfda55b9c7b59
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2012-12-11 13:37:57 +01:00
Stephen Kelly 1278b3cb8a Remove QT_DLL and QT_NODLL defines.
Task-number: QTBUG-28044

Change-Id: Ib8c4e1e8e52703aa6590875c34f05b6bc71db808
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-11 13:37:57 +01:00
Thorbjørn Lund Martsum 3e7e61f856 QGraphicsView - add const to a not modified local variable
The QPointF ep is not modified. There is no reason it shouldn't
be const.

Change-Id: I41fb8f9ae5296a7a40f7eb8be13fc14d56915e3f
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-12-11 13:37:57 +01:00
Thorbjørn Lund Martsum 7a7d9628f3 QGraphicsView - remove reference to avoid weird code.
Even though the code before theoretic is ok, we really shouldn't
have a reference since mapFromScene returns a QPointF and not a
const QPointF&.

Change-Id: I5ea8fd238bdbdd21fb1e3b6b5f280d45e3bc43ef
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-12-11 13:37:57 +01:00
Nico Vertriest be0ef46b1d Inserted hardcoded urls for State Charts and S. C. XML
Corrected in qstatemachine
QTBUG-28500

Change-Id: I45b2ffea983ee5754b080b8a6faa18d4d163e578
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-11 13:37:57 +01:00
Friedemann Kleint a380c108a6 qdoc: Fix warnings about unused variables.
Change-Id: Ic75518aaea3a080aee656637335f358304191b94
Reviewed-by: Martin Smith <martin.smith@digia.com>
2012-12-11 12:09:07 +01:00
Marc Mutz 98b77f9faa QMetaType: remember whether a type was registered with Q_DECLARE_METATYPE
There are two ways to register a type: using Q_DECLARE_METATYPE(T) and
using qRegisterMetaType<T>("T"). Doing one thing in one translation
unit and another thing in another TU constitutes an ODR violation,
because the value of QMetaTypeId<T>::Defined will differ in the two
TUs.

By adding the information whether a type was declared with
Q_DECLARE_METATYPE to the typeFlags(), such a use will trigger
the existing binary-incompatibility failure that checks for
equality of the incoming type flags with the stored ones (if any).

I had to encode the type as a defaulted function argument in order
to avoid the linker merging instantiations of the function templates
and therefore rendering the detection moot.

Change-Id: I82017caf300458b411cc8ac2f6653536fac64117
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-12-11 11:12:08 +01:00
Topi Reinio 90c3340356 QDoc: Fix generated anchors for c++ class signals
Add a missing 's' for plural form for signals. This fixes the linking
to Signals topic in class references.

Task-number: QTBUG-28450
Change-Id: Ic666e608b4b5b40b1f886ea581e54227e1a94678
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-11 11:02:13 +01:00
Nico Vertriest de8b1ff884 Added url for SVG Color Keyword Names QTBUG-28500
Change-Id: I7aaf2cbd9b4bf4e6ff35fa39c5340e3dbc4225ff
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-11 10:51:49 +01:00
Nico Vertriest c27b33ada0 Added hardcoded url QTBUG-28500
Change-Id: Ida2bcd8e470cc336db69dcec6130ad942e14d3a0
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-11 10:51:39 +01:00
Nico Vertriest 7334cae9a5 Hardcoded url for Mac Os X Aqua QTBUG-28500
Change-Id: I83d87d155b7ca502098a53e955fdde3c908e3300
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-11 10:51:33 +01:00
Nico Vertriest 4d1d30d90d Hardcoded url Item View Classes QTBUG-28500
Removed link to Item View Classes in Qt4

Change-Id: Ic3c38a33edc88faf072b8fe7e3accfe1ee75ac78
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-11 10:51:23 +01:00
Nico Vertriest 207b990ae1 Workaround with hardcoded url QT-BUG 28500
Change-Id: I385c14401ced85b12ce65446b224de6910bf3b37
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-11 10:51:15 +01:00
Nico Vertriest 6fbc9c9a24 Qdoc: workaround, put hardcoded url QTBUG 28500
Change-Id: Iab38307459eff8c20a66f8f41240075aaff1b086
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-11 10:51:06 +01:00
Nico Vertriest d46198e74d Qdoc: put hardcoded url as workaround QTBUG-28500
Change-Id: Ic9d0805897278d6caaf4cd763352d2d2d98d65f6
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-11 10:50:54 +01:00
Nico Vertriest 5aa01643f8 Entered hardcoded urls QTBUG-28500
Hardcoded urls for rfc 2109 and 2965
Corrected in qnetworkcookie.cpp

Change-Id: Id3668fec24c3c658437f22a977ea9e631a423aed
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-11 10:50:16 +01:00
Kevin Ottens 5b3e7c8dfa Generate the introspection string during parsing
Commit 0696071316 moved away from QDom but
also lost the ability to fill the introspection field of the created
QDBusIntrospection::Interface instances. This commit now generate the
string again as we proceed with the QXmlStreamReader based parsing.

Task-number: QTBUG-26668
Change-Id: I8f406e1f4e9d3e667a8557db69da36cac369ba4f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-12-11 07:41:49 +01:00
Caroline Chao a5bca21096 SQL: Change in QSqlResultPrivate::positionalToNamedBinding()
With the change cff46983a, prepared queries can now store a
named paramater to be used more than once.

When using ?, thus positional binding, there is no named
parameter, thus there is no need to store it.

When prepare is called from a query with ?, it currently
causes an error when the feature QSqlDriver::NamedPlaceholders
is true. Because holders values are called while holders is
actually empty.

QSqlDriver::NamedPlaceholders is true for QOCI plugin only
but the problem is independant of the plugin used.

Adding a test case with a test driver to make the test runnable
without Oracle installed.

Change-Id: I6d7491f7e09a7b62d2d4d216b40fedd67e927e27
Reviewed-by: Matt Newell <newellm@blur.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2012-12-10 21:23:35 +01:00
Konstantin Ritt 159713de3b QLocale: Report RTL text direction for pa_Arab and uz_Arab
Change-Id: I97c785c9cbf550ef1ab330a4905ff7ae97ee6a30
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-12-10 20:50:34 +01:00
Shane Kearns eb2688c4c4 Fix binary incompatibility between openssl versions
OpenSSL changed the layout of X509_STORE_CTX between 0.9 and 1.0
So we have to consider this struct as private implementation, and use
the access functions instead.

This bug would cause certificate verification problems if a different
version of openssl is loaded at runtime to the headers Qt was compiled
against.

Task-number: QTBUG-28343
Change-Id: I47fc24336f7d9c80f08f9c8ba6debc51a5591258
Reviewed-by: Richard J. Moore <rich@kde.org>
2012-12-10 20:48:10 +01:00
Miikka Heikkinen 903fa2e4aa Add QT_DEFAULT_QPA_PLUGIN to generated qconfig.pri
Configure will now generate QT_DEFAULT_QPA_PLUGIN qmake variable
to specify the default QPA plugin.

"CONFIG += qpa_default_plugin" statement in application .pro file
will add the default QPA plugin into QTPLUGINS.

"CONFIG += qpa_minimal_plugin" statement in application .pro file
will add the minimal QPA plugin into QTPLUGINS.

Task-number: QTBUG-28131
Change-Id: I12a241005f30b37467d783b50f0369b47e605e68
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-10 15:33:54 +01:00
Miikka Heikkinen c9d40ef2c1 Add PLUGIN_CLASS_NAME to qtbase plugins
Needed for automating static plugin loading.

Task-number: QTBUG-28131
Change-Id: Icd993c0fc8335f29aeec30e853a408d888069399
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-10 15:32:33 +01:00
Sergio Martins 1eabbc0908 Blackberry: Fix crash when opening file dialog without parent.
If parent is null, we now use qqnxintegration->primaryScreen()

This simplifies ctors of QQnxTheme and QQnxFileDialogHelper which now
receive a QQnxIntegration pointer instead of receiving a font database
and a bps event filter.

Change-Id: I3b1ed4d99f738b980a4f19a98618341a14e0c222
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
2012-12-10 13:23:51 +01:00
David Schulz aa3a75ce14 QtBase: Doc: Fix Links to designer manual.
Change-Id: I87f68fb70aa773c44b90b58bd56fc5585a7e4107
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2012-12-10 10:38:28 +01:00
Morten Johan Sorvig b9321a1a5f Implement Cocoa KeyMapper.
Port Qt 4 implementation. Shortcuts such as shift-5
should now work.

Change-Id: I1d8c4c6c4a903142361996b558ee31c8549fcef6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-12-07 17:02:41 +01:00
Nico Vertriest 035c3b5781 Doc: removed control code+minor rephrasing
QTBUG-28382

Change-Id: Ic166fcb283d3339853c68a71be9aebd6cfed0523
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-07 14:49:08 +01:00
Morten Johan Sorvig 13fcd1c342 Set CGImage format when converting from QImage.
Set the CGImage format based on QImage::format().
Handle8-bit per component (A)RGB.

Change-Id: I041b0ee53d3943a0aaf9e813eb0a235c4de619dd
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2012-12-07 12:06:05 +01:00
Morten Johan Sorvig 2e14214357 Use the "copy" blend mode for backingstore drawing
The default is a "source over", but we want to
completely replace the destination pixels. (Which
is slightly faster).

Change-Id: I4916765258a2236f70f58a8e20b06f80739183c1
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2012-12-07 12:05:08 +01:00
Morten Johan Sorvig 9650a5aa25 Avoid backing store color space conversions.
We want the Qt backing store to be in the device color
space by default. This will avoid colour space conversions
when blitting it to screen, at the cost of a potential 
loss in color accuracy.

As it turns out, CGColorSpaceCreateDeviceRGB no longer
crates a device color space but rather a generic color
space. (Since 10.4). Create the color space with a system
profile instead.

Accurate color representation needs to be supported
at some point, but this fast path should be the
default.

Change-Id: I7ebb77b36f81f66119d8c2ef464723401ec1d1e8
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2012-12-07 12:04:48 +01:00
Nico Vertriest 2f6e967eb7 Deleted wrong statement about nr Qt JSON classes
Change-Id: I58d8ab73d3018d9712ec9485e0b8e52a5a75da5e
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-07 12:03:15 +01:00
Morten Johan Sorvig e84e86dc8c Update QNSView geometry on window resize.
Ideally this should not be required since NSWindow
should resize the content view automatically. However,
in the case of modal QDialogs this does not happen.

Add call to updateGeometry in windowDidResize as a
workaround, and remove code which called QNSView::setFrameSize
with the current size.

This will cause duplicate handleGeometryChange calls
in the non-qdialog case, add a test to see if the geometry
really has changed to prevent that.

Change-Id: I29bea23b2ab72f923aeadf8db8cb9131ae177a28
Reviewed-by: Liang Qi <liang.qi@digia.com>
2012-12-07 09:15:00 +01:00
Andreas Aardal Hanssen 4a9c3b2433 Repair QGraphicsWidget focus chain when used with ItemIsPanel.
Add handling of the focus chain to QGraphicsItem::setFlags(), so that
the focus chain is repaired (panels pop out of the chain and non-panels
merge back in) when the ItemIsPanel flag is toggled. Add handling focus
chain to QGraphicsWidgetPrivate::fixFocusChainBeforeReparenting for
panels.

Before this fix, you must enable the ItemIsPanel flag before adding
the item as a child to a parent panel, and you lose focus when using
the tab key to focus around a panel after it has been reparented into
another panel.

Task-number: QTBUG-28187
Change-Id: I1d0d81a90697eaf715a8a337c8bf6c2159329e68
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-07 09:11:59 +01:00
Volker Krause 0c5e232828 Compile with QT_NO_CURSOR.
Mostly straightforward, the a11y changes might look a bit drastic, but the
base class QAccessibleTextWidget was already disabled in this case, so we
have to obviously take out its sub-classes as well.

Change-Id: I682ace20d6938688ddb1da23c3463f3c025fab8e
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Tasuku Suzuki <stasuku@gmail.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
2012-12-07 08:46:15 +01:00
Laszlo Papp 425367f892 Make the documentation more explicit an talkative
Change-Id: Ifa4b7c3c5f8ec384addbb80a9436d55b32d8bc51
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-12-07 08:45:29 +01:00
David Gil cd03f2a772 Fix typos and style in QToolBar documentation
Change-Id: Ic4b4e18746382bae1b6dae009e1e5663c7a21a84
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-12-07 08:45:12 +01:00
Sergio Ahumada fc7d2f60ff doc: Remove documentation for removed TRUE and FALSE macros
These macros were removed by 158f39ec78

Change-Id: I2aabef1dd2c9cb3949040c167a4e5cf1a9390ba6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-06 23:53:16 +01:00
Samuel Rødal 7da7bbcd87 Removed requestOrientation() API from QWindow.
There are no proper implementations of this API, and as it stands it
only acts to confuse anyone who stumbles across it. It will be better to
revisit the full cross platform orientation API story for 5.1.

Change-Id: Iff7054a32c6e5e4ad0cc0493a5e4ecc35a6ec4f3
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2012-12-06 20:37:13 +01:00
David Faure ce556dfcbc Warn when XDG_RUNTIME_DIR isn't set, as per XDG Base Dir Spec
http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
says: "If $XDG_RUNTIME_DIR is not set applications should fall back to a
replacement directory with similar capabilities and print a warning message."

Better warn that not all the guarantees of XDG_RUNTIME_DIR are available,
and push unixes who haven't done so yet, to set things up correctly.

Change-Id: Ie3998e8c1d14e4fdf8d58dfb2932f0ad708fba50
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-12-06 18:40:29 +01:00
Kai Koehne 320b16110f QProcess: Fix compilation with MinGW
newer mingw-w64 headers do not support swprintf(wchar_t*,wchar_t*, ..)
any more.

Change-Id: I2fc1fb51ba8d5237149697f77a91abd6469ebb09
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-12-06 16:45:52 +01:00
Gabriel de Dietrich c7dddf2ae5 Mac: Missing update when hovering from one scrollbar to another
Change-Id: I9837bb72935cb4e3680e4bd23b5535f654b5fde6
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2012-12-06 16:45:52 +01:00
Gabriel de Dietrich fb4ad0d1a9 Mac: Transient scrollbars should overlap in the corner on 10.8
Change-Id: Ied239d5e3cb05bed6b892607f0344e6daa028918
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2012-12-06 16:45:52 +01:00
Eskil Abrahamsen Blomfeldt f3bbf55cbe doc: Add changes to dnd docs from qtdoc repository
Change da54c5e7c9bf7647664a3529a6db487dee94d331 in the qdoc
repository was made to the wrong version of this documentation.
This change just adds them in qtbase and fixes some of the snippets
which were still broken.

Change-Id: Ie9ba57b5a2d20a629aa5f0a492daa207d35b2053
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-12-06 16:45:52 +01:00
Gabriel de Dietrich 6f7791f871 Mac: Animated expanding scrollbars on 10.8
Change-Id: Ib57d0347a7828ac7582b0fa95adf8d437694cd41
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2012-12-06 16:45:52 +01:00
Gabriel de Dietrich c35e12e876 Mac: Cleaner transient scrollbar rendering
Change-Id: I617588012aa5166775c3c6301ee70043b22553a3
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2012-12-06 16:45:52 +01:00
Christian Stenger ae6389a086 Docs: Fix some warnings
Change-Id: I3898c89e54aa671ff8cb1b25c49cfe3835ab9384
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-06 16:45:52 +01:00
Christian Stenger 5b57d93dcd Doc: Remove obsolete statement
Change-Id: Ic7f14dae391684a4870e030ab4549b3a59f1ea5f
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-06 16:45:52 +01:00
Christian Stenger 8bb6ba0e2f Doc: Fix some enums
Change-Id: I58f2906e9605e8ab09cad29880006ed60cc23e80
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-06 16:45:52 +01:00
J-P Nurmi 61fac3c5f9 Docs: fix QStyle related warnings
Change-Id: I4e67e34ecc0fc8050938a681b2c393b8442fce2e
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-06 14:46:13 +01:00
J-P Nurmi 1fc05fc192 QtWidgets docs: use WinVista screenshots instead of obsolescent WinXP
Change-Id: Ic7fd291d4ce4468ae12cf5dd102fbcc45387dd87
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-06 14:46:13 +01:00
hjk 1edf28839f Adjust qttestlib.qdocconf to create qttestlib/examples-manifest.xml
Change-Id: I6c4c8d9b69f135229bd0bd28e8e57738742f6bd8
Reviewed-by: David Schulz <david.schulz@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-06 14:46:13 +01:00
Eskil Abrahamsen Blomfeldt 937e179727 doc: Avoid duplicate widget example entries
The link to widget examples in QtCore was added
in 4519d810d1, which made
widget examples pop up twice in generated lists
(once for qtcore and once for qtwidgets documentation).

I'm not sure why it was originally added to that module, but
the snippets in the fridgemagnets example (which was the
example fixed in the commit) has been verified to still work.

Change-Id: I1b349f08349b5499929315d426224ba8638adc8e
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-12-06 14:46:13 +01:00
David Schulz ad0f3c4edb QtBase: Doc: Fix links to STL-style iterators
Change-Id: I2822c2a7e9bfc1949c20ff81e08961f641e961fb
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-06 14:46:13 +01:00
Oswald Buddenhagen 787373d376 export only 'host_bins' to pkg-config, rather than a random selection of tools
the "export location" of the linguist tools was just bogus, and lconvert
was missing anyway. the two dbus tools and qdoc were missing, too.
generally, it seems useless to report the paths of some random tools -
instead, just report the install location of the host binaries and let
users figure out the complete paths themselves - this should be ok, as
we decided that distributors are not supposed to do tool renaming any
more.

for the binary path just use the final location, as the files won't be
used before installation anyway. this allows us removing the scary
generic prefix replace from the pc file installs.

and as a side effect this also fixes debug_and_release builds of core
and widgets by not loading various prf files prematurely and thereby
messing up the dir replacement magic.

Task-number: QTBUG-28286
Change-Id: I99de419301fc07fb923959db4bd5cab9072d1c31
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-12-06 12:49:02 +01:00
David Faure 158f39ec78 Remove the TRUE and FALSE macros
They are completely unused in Qt, and are a potential source of
compilation errors in application code.

Change-Id: I6dfe2891f3b2365a30048f99c31e8e3a2425e62b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-06 12:49:02 +01:00
Eskil Abrahamsen Blomfeldt ae8533e4ae doc: Fix Graphics View example docs
Make the same layout of the new graphics view example documentation
as we had before (except by using annotatedlist instead of hardcoding
the links). I've also moved four examples from qtdoc to qtbase so
that they can be included in this documentation.

Change-Id: Ic2202ade119cadd98d036f1bd77e91dae49b5677
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-12-06 12:49:02 +01:00
aavit 0fc1b9d06e Fix: Do not require GL library if configured with -no-opengl
qt_lib_gui.pri would add an unneeded -lGL, causing the build to fail
on systems with no GL libraries.

Change-Id: I3a49418e1393642e9d97999b79741cc2144a99af
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-06 12:49:02 +01:00
Martin Smith e77eec1cf7 qdoc: Make extraimages behave like styles and scripts
This configuration variable now assumes its values,
if relative, are relative to the config file that
contains the extraimages variable.

Task-number: QTBUG-28307
Change-Id: I9b34d1f456b31e36ac77401b957b68cd10590376
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-05 19:31:10 +01:00
Richard Moe Gustavsen fd4106e2d1 Cocoa: fix unresponsive dialogs causes application to hang
The reason for this bug seems to be related to how we wait for
more events in the event dispatcher. We use the nextEventMatchingMask
function, which already in Qt4 showed to have problems when telling
it to not dequeue the event. The solution back then was to
tell it to dequeue the event, and instead repost in front again.
Why this was changed in Qt5 is uncertain (other than it being tempting)
but moving the same code back in will solve the bug.

Note that this bug might also stem from the fact that the run loop
sources we add in the event dispatcher fires before the application
is really ready to show modal dialogs. E.g refusing to execute a
modal dialog before NSAppDelegate applicationWillFinishLaunching
is called will also fix the problem. But this code change is to big
atm, and can easily introduce other unforeseen regressions.

Task-number: QTBUG-28283
Change-Id: I07cd109568c2b9c782cf5120a9eb2ac71128cada
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-12-05 17:29:46 +01:00
Martin Smith fd1f65a9b8 qdoc: Don't include inherited members in the class ref
Once upon a time, the inherited functions, signals,
slots, etc were not listed on the class reference
page, but they were counted and a link to the base
class was provided for them, eg:

2 public functions inherited from QAbstractListModel
39 public functions inherited from QAbstractItemModel
31 public functions inherited from QObject

Somehow, this got broken, so that all these inherited
things were listed on the class reference page as if
they were members of the class. But they liunked to
the documentation in the base class.

This now works correctly again. It simnplifies the
class reference pages a lot.

Task-number: QTBUG-27496
Change-Id: If493da8cbf81634f1344b12094d9a06f8528e8e5
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-12-05 17:29:46 +01:00
Tasuku Suzuki 6a98976791 Make qtbase compile with QT_NO_IMAGEFORMATPLUGIN
Change-Id: I1fef96481fa902cfd9de63fa814f70412eee4d15
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: aavit <eirik.aavitsland@digia.com>
2012-12-05 15:30:07 +01:00
Christian Stenger 4519d810d1 Doc: Fix some more links
Change-Id: I94c853532cd3ed9bf18e6d471f99560e04131fdf
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-12-05 15:30:07 +01:00
Tasuku Suzuki 18033c075c Enable network build with QT_NO_NETWORKPROXY
Change-Id: Id26f0b45959ab3ee2390ea2d3e0d4ec321029e5c
Reviewed-by: Johan Thelin <johan.thelin@pelagicore.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-05 13:27:27 +01:00
Montel Laurent 4d178743e4 compile with QT_NO_TOOLTIP
Change-Id: I9e769a343a9dd74dc80cffebfe9ad97981596036
Reviewed-by: David Faure <david.faure@kdab.com>
2012-12-05 11:35:16 +01:00
David Schulz 2568f8ab24 QtBase: Doc: Replacing link with snippet in QTranslator.
Because the linguist examples are moved to qttools module, a link
to the hellotr example broke.

Change-Id: I2aeefc143578618396f5be38ed1d52afdd1f7436
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2012-12-05 11:35:16 +01:00
Samuel Rødal d7afbdc2d2 Fixed crash in tst_qguiapplication with QT_QPA_PLATFORM=minimal
The tst_qguiapplication creates and destroys multiple instances of
QGuiApplication. Since the minimal platform plugin doesn't report any
theme names, the platform_theme never gets set to 0 in init_platform,
and we end up trying to use or at least delete an already deleted
QPlatformTheme.

Change-Id: I1a41d55b0705c5531c019e60a7a96dac144bacb7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-12-05 11:35:16 +01:00
Tasuku Suzuki 85e36faa2c Remove QUUID_STRING from qfeatures.{h,txt}
It is too specific and relatively small

Change-Id: I55ec15ecaac0692741996a5c15a111db696490cf
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2012-12-05 11:35:16 +01:00
David Gil 7396915541 Fix typos and style in QSplitter documentation
Change-Id: Ieacbfd06067ae1ca687030204125814bd9e48bd8
Reviewed-by: Johan Thelin <johan.thelin@pelagicore.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-12-05 09:24:38 +01:00
Sergio Ahumada 688e8beeb5 Change copyrights from Nokia to Digia
Change-Id: I841f4e6a6ee90cb3df1ff8f60c55ac84f6dd4125
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-12-05 06:33:43 +01:00
David Schulz cc1bbb149c QtBase: Added qtlinguist as a dependencie to the doc.
Change-Id: I2df1cee84b250b75dc8436c8cff5df50cbeb0e01
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2012-12-04 20:49:46 +01:00
Pierre Rossi 3b5537765e QWindowsFontDatabase: provide better fallbackFamilies.
Borrowed some code from QWindowsFontDatabase::createEngine that will
help ensure our fallback options are thorough enough to display say
chinese glyphs when using the QRawFont + QTextLayout combination that
QtWebKit relies on.

Task-number: QTWEBKIT-383
Change-Id: Ie4c1d5ef7d58588afaa436c89a9575ffd646c314
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2012-12-04 20:49:46 +01:00
David Faure 418890e074 QPluginLoader: fix loading of plugins with a relative file name
This makes QT_PLUGIN_PATH / QCoreApplication::libraryPaths() actually work,
as a search path for plugins, when apps look for a specific plugin by name.

To make it possible to write portable code (unlike the current QPluginLoader
unittest), let QPluginLoader figure out the extension, too.

Change-Id: I895d597d7cb05ded268734bc5f313f32d8d12cb9
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-12-04 18:38:41 +01:00
Andy Shaw f6cc1f3aea Ensure ctrl + click sends a right mouse button press in Cocoa
Since Mac's typically just have one button for their mice then pressing
Control then clicking the button should end it as a right mouse button
event.

Task-number: QTBUG-28350
Change-Id: Iabcac5b315c36cb8cd062c27d7b1506bc066f5bb
Reviewed-by: Liang Qi <liang.qi@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-12-04 15:31:55 +01:00
Eskil Abrahamsen Blomfeldt 0f8b7deef1 Move Network Examples from qtdoc to qtbase
Move the main example overview and use the \group tag convention
to make the list update automatically.

Change-Id: Ib2cc8cf7def9a7f3dce6b7ed6d4958771cbdf5cd
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-12-04 14:40:38 +01:00
Oswald Buddenhagen 8b5c0e8cbc remove pointless directory references
Change-Id: Ice43a3d3eeab5ada35e1439e055eb7b709d66c83
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-12-04 13:57:58 +01:00
Oswald Buddenhagen 5ea41a2efa properly syncqt-ize harfbuzz headers
we were already installing them into QtCore/private, so turn them into
proper private headers to start with. this cleans up our project files.

Change-Id: I0795f79e03b60b5854de9e4dc339e9b5a5e6fd87
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-12-04 13:57:55 +01:00
Friedemann Kleint 81f3b354df Fix warning about cast from ASCII.
Change-Id: Icc251a8d26db022077c84ff2d0911868b56c9fd6
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-12-04 13:44:39 +01:00
Shawn Rutledge 7cccb7b924 duplicate URL example image for the dbus index doc
Change-Id: Icd25711e4ede9fd3292d087103402f25a755d102
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-12-04 13:32:49 +01:00
Eskil Abrahamsen Blomfeldt 16e8787794 doc: Fix snippets in threading docs
The examples have been put under examples/widgets which is probably
not correct, since they don't even have gui. The correct fix would
probably be to move them into threads/, but that would risk a lot of
breakage, so the conservative work-around is just to use the correct
relative paths instead.

Change-Id: I36c3aa45056c8825d1991f345ad7d7799e2fa5fc
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-12-04 13:32:49 +01:00
Gunnar Sletta a800228fda Moved the mainwindow examples from qtdoc
Change-Id: I5a11933e86c6c71f68a55e45c7bcfdfc702bf4e6
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-12-04 10:28:22 +01:00
Rafael Roquetto 2dc2f1a28e QNX: Fix plugin compilation
Fix the plugin compilation after cd34da5426
renamed the QWindow API.

Change-Id: I3ec4ce9ae2df9a66f6bf24a18277bc59c05d2e8e
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
2012-12-04 10:28:22 +01:00
Christian Stenger 36d12783c9 Fix linking of itemviews and graphicsview examples
Change-Id: I6905cc6945e2eb396108f9fb16da042e576e3afb
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2012-12-04 08:14:33 +01:00
Andrew den Exter ab97a44b6a Clear focus of GraphicsItem focus scopes and their children.
A focus scope has effective focus if one of its children is the focus item,
clearFocus() should remove effective focus from an item and its children
not just from the focus item.

Task-number: QTBUG-28328
Change-Id: I62a292eff000151e50b2f5221e22f326a380fc3a
Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
2012-12-04 01:50:02 +01:00
Volker Krause 5ede8ee80d Compile with QT_NO_GESTURES.
Change-Id: I9f8f7c586ccb5de227ec42af44159af90b39d1dd
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-12-03 22:17:17 +01:00
Liang Qi edb4e66f5f Mac: fix regression to make dialog resizable
Task-number: QTBUG-28254

Change-Id: I8623a68d589bec17042935ad308f85ddc953540d
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-12-03 22:15:01 +01:00
Jerome Pasion f3b8b12306 Qt D-Bus: Editing QCH titles.
Task-number: QTBUG-28341
Change-Id: Icf0f87e8c108bc12575512b7e4ecac46779fc362
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2012-12-03 22:14:57 +01:00
Oswald Buddenhagen 23153fb8c5 Merge branch 'master' into stable
Change-Id: I5c0c9a131cca64fea3bc784339d14d84076edc1a
2012-12-03 21:58:14 +01:00
Jerome Pasion 16aef5baa8 Doc: Edited Qt OpenGL configuration to output correct QCH titles.
Task-number: QTBUG-28341
Change-Id: I7d990c66a9efe42719165564007fb3bdff2e1279
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2012-12-03 16:28:44 +01:00
Gunnar Sletta b2cc13d95a Tag dialog examples and create dialog examples group
Change-Id: I0049b841dd5aee806e8aed36af069b0507e3c9f1
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-12-03 16:26:37 +01:00
Shawn Rutledge 5021c1d977 xcb: notify when the logical DPI changes; add Q_MM_PER_INCH constant
Change-Id: I15696bf45ae99cc5b0fd95dab4884fc85cbfc6da
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-12-03 14:29:37 +01:00
Shawn Rutledge 168f32f3f4 Removed temporary backwards-compat properties and accessors in QWindow
Change-Id: I718b877e3b6c0b1191a932d934599d5c2f5aa958
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-12-03 14:29:27 +01:00
Volker Krause babc6ec143 Compile with QT_NO_COLORDIALOG.
Change-Id: I37e3fed497f3595942662efb22114de57ea4c9db
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-12-03 13:29:59 +01:00
Andreas Holzammer 72388121aa WINCE: Fix missing cosf
cosf seems to be defined in the cmath header
for Windows CE, so include it to fix the
issue of not finding the symbol cosf.

Change-Id: I7317668838912325d45be0d4087ae3055940d3cd
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-12-03 09:22:13 +01:00
Sergio Ahumada 0df026de86 Stop using the name "Trolltech" in QSettings
Also change Trolltech for QtProject in other places

Task-number: QTBUG-23269
Change-Id: Ie4e344f23cab77c575562d18b481b3369ce30491
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-12-03 03:47:08 +01:00
Marc Mutz 716d33d2a7 [QTBUG-27420] Make Q{Box,Grid,Form}Layout::takeAt() unparent a nested layout
QStackedLayout doesn't have support for QLayout, only QWidget, so
the issue doesn't arise there.

Reported-by: Johannes Schaub
Task-number: QTBUG-27420

Change-Id: I71f8d10a036918c16d8f8c9197a2ec61cd76cf01
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-12-02 00:23:14 +01:00
Peter Kümmel 62fc970568 Fix wrong error message count in QDBusError
Don't pass the pointer errorMessages_string - 1 to strcmp().

-1 marks the end should not be used for the pointer arithmetic
in get(const char *name)

Change-Id: I5ec239c63f074d104d441511294554f21fd6eccd
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-12-01 17:13:43 +01:00
Teemu Katajisto 179a480941 Cocoa: create dialogs as NSPanels
NSPanels have builtin support to work with modal sessions.

Task-number: QTBUG-28111

Change-Id: Ifeb6de03129e77aad744b3989931964c375cdbc7
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-12-01 10:31:20 +01:00
Marc Mutz 80ae1d2078 QSignalSpy: assorted improvements
- Add const
- Add explicit (only effect under C++11;
  C++98 knows no multi-arg implicit conversions)
- Add Q_DECL_OVERRIDE to qt_metacall reimplementation
- Add reserve() calls on containers
- Change 'args' from QList to QVector for a 2x
  memory reduction on 64bit platforms

Change-Id: If6c779dac0499d4ab64e5191d37596edf7341f76
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-12-01 10:31:20 +01:00
Shawn Rutledge b32d7bc96d Move gestures overview from qtdoc to qtbase; mention Qt Quick
On the one hand this doc reads like an overview, but didn't mention
Qt Quick; on the other, the gestures framework is questionable,
and in any case is solidly in the widgets module, not reusable for
Qt Quick.  So, just added some comments at the end to make it clear
that Qt Quick takes a different approach.  Also changed the relevant
links because the title has changed.

Change-Id: I66a0c0c106f496de26fb8947e90826ef39ccfddd
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2012-12-01 10:31:20 +01:00
Zeno Albisser f1cc2aaea9 Properly release pixel format and context in QCocoaGLContext.
Change-Id: Idd13924dccc8d7798f463484eeb3c3074f7b51f1
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-12-01 08:34:19 +01:00
Morten Johan Sørvig 5e61bbe586 Basic high-dpi "retina" support for Qt 5.
Bring Qt 5 on par with Qt 4, prepare for more comprehensive
support later on.

Introduce device independent pixels (dips), device pixels,
and devicePixelRatio. Add high-dpi support to QPainter,
QGLWidget, the cocoa platform plugin, mac and fusion styles.

Dips are similar to CSS pixels, Apple points and
Android density-independent pixels. Device pixels
are pixels in the backing store/physical pixels on screen.
devicePixelRatio is the ratio between them, which is
1.0 on standard displays and 2.0 on "retina" displays.

New API:
QImage::devicePixelRatio() and setDevicePixelRatio()
QPixmap::devicePixelRatio() and setDevicePixelRatio()
QWindow::devicePixelRatio()
QScreen::devicePixelRatio()
QGuiApplicaiton::devicePixelRatio()

Change-Id: If98c3ca9bfdf0e1bdbcf7574cd5b912c9ff63856
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2012-12-01 08:33:20 +01:00
Shawn Rutledge c8dc41bacd QWidget windows have fullscreen button by default; manual test for it
It's again possible for QWindows and widget windows to go into
fullscreen mode on the Mac.

Change-Id: I7b304a135838394ef0392f89be4f225f2949fad3
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-12-01 08:32:26 +01:00
Morten Johan Sørvig 134f5e0cce Cocoa: Disable accessibility.
The accessibility implementation is unstable and
causes application crashes. Disable until it has
been stabilized.

Change-Id: Ic34361a0ad599c6f92df722499d274fe0655646b
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-12-01 08:32:12 +01:00
Oliver Wolff 43169abdf8 Docs: Fixed enum and parameter links for network
Change-Id: Ie04e09d91e9b0781dc3bcbfe271c851fbe486849
Reviewed-by: David Schulz <david.schulz@digia.com>
2012-12-01 08:31:46 +01:00
Shawn Rutledge 93fe107b3a Renamed the keyboard-focus doc to make clear it's about Widgets
Also link from the widgets index page.

Change-Id: I49cd415b09d7458d89d75931ecfaafe29c226c6f
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-12-01 08:31:19 +01:00
Gabriel de Dietrich bc0cbdb981 Mac: Fix small button metrics, menu indicator alignment
Task-number: QTBUG-28275
Change-Id: I08de3cc7fee3af725c66ed081072277b2ca32601
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-12-01 08:30:49 +01:00
Friedemann Kleint 95a05904b9 ANGLE: Fix debug-and-release builds
Add a 'd' to debug builds to allow both release and debug builds
to be used.

- Add .def-files for Debug
- Build all libraries debug/release
- Add description to README.qt
- Differentiate debug/release in qmake.conf.

Task-number: QTBUG-28196

Change-Id: Ib3081004a6ed2ad71d353244154684d2e0ebbc86
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2012-12-01 08:30:38 +01:00
Friedemann Kleint f229db5d57 Angle: Use dynamic runtime library of MSVC.
It is also used in Qt, mixing both is not recommended.
Add to default variables instead of overwriting them.

Change-Id: I895d44d5ea17f98dde9979eea6ff10b98180cc08
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2012-12-01 08:30:16 +01:00
Teemu Katajisto 5dbcd9dfea Cocoa: fix modal native dialogs with ongoing modal sessions
Commit 26db7de13d introduced the
modal session cleanup for Cocoa print dialog before running the
modal event loop for the dialog. Add the same cleanup for Cocoa
file, font and color dialog helpers.

Task-number: QTBUG-28146

Change-Id: Ifeb7c82566db35f0c6654be7762e9aaffbafb900
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-12-01 08:29:33 +01:00
Sean Harmer a7c9d5ca9c OpenGL: Remove bogus error in textures example on ES 2 platforms
The call to glGetBooleanv(GL_FRAMEBUFFER_SRGB_CAPABLE_EXT) in
QGLExtensions::currentContextExtensions() was resulting in an invalid
enum on ES 2 systems. This was not being cleared and subsequentally
being interpreted as a failed texture upload in the textures example.

This enum doesn't exist on ES 2 so don't query it.

Change-Id: I84f9c4b0aa8b11b6036eeed1f9378d110d9ea69d
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-12-01 08:29:14 +01:00
Andreas Holzammer 5573a44f68 WINCE: Fix renameing of resource files
The standard resource files where renamed,
so fix the include for qmenu in Windows CE.

Change-Id: Id29dd8e1028cf438f4d483126a74994fc1e310d7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-12-01 08:28:58 +01:00
Thorbjørn Lund Martsum 51914375b6 QGraphicsView - fix rubberband to stay right on scroll
We should consider the scene-position when we are expanding
moving a rubberband. If the user does some auto-scroll
(Qt should support that itself, but that is another matter)
then the rubberband should not keep the (old) local position
to calculate the rubberband extension, but instead use the
scene-position that was actually clicked.

Change-Id: I04a2df6a1edae8b3587e1ac2104c7fe4ccfb7762
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-12-01 08:28:43 +01:00
Rafael Roquetto 1b95d3331c QNX: Move buffer count check to appropriate location
The buffer count check should take place right after buffers are created. For
some reason, the buffer count value inside libscreen may become incosistent during
the course of the program.

Change-Id: Icbbaf4734eac5b0c5c95bdd93771899f9fcdb7db
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
2012-12-01 08:28:25 +01:00
Montel Laurent 9bf17c7cb6 Fix compile with -DQT_NO_WIZARD
Change-Id: I6f7be895b8c4a1a65de43ee35d1fab25a30a25c6
Reviewed-by: David Faure <david.faure@kdab.com>
2012-12-01 01:49:46 +01:00
Montel Laurent ce68ca86f2 Fix compile when we use QT_NO_ACCESSIBILITY
Change-Id: I2d304fa6d91d86130eeb4a4aa07b43173d240312
Reviewed-by: David Faure <david.faure@kdab.com>
2012-12-01 01:49:46 +01:00
Montel Laurent 5f03e89b74 Fix compile with QT_NO_SHORTCUT
Change-Id: Ib11f2e01fecb0c231211c92e4590cbaddc76246f
Reviewed-by: David Faure <david.faure@kdab.com>
2012-12-01 01:49:46 +01:00
David Faure 14fcddc336 QMimeType: don't document the constructor that takes a Private class
Change-Id: I238e1eca6938deb728085a5416220230d9e751c7
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-30 23:57:56 +01:00
Zeno Albisser 26bb73c2ab ANGLE: Do not reset the share handle when resetting the swap chain.
This change only affects the ANGLE_surface_d3d_texture_2d_share_handle
extension. The patch is necessary to have WebGL running in Qt/WebKit2.

If the share handle is reset, we are loosing the reference to the
EGLSurface and cannot actually reuse it in a different context anymore.

Change-Id: I0138432dd8ff60ea57e7e591cfa2f8db1d324f53
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2012-11-30 23:57:37 +01:00
Zeno Albisser 656d8a6772 ANGLE Patch file: Do not reset the share handle when resetting the swap chain.
Change-Id: I7ddc0f31b342ba40d4e14a99afdf237cb37d7ace
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2012-11-30 23:57:22 +01:00
Paul Olav Tvete e62198967c Fix links for threading examples
Change-Id: I498936e91e3bbf5658ea9f3f0eb33cff271a1d62
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-11-30 23:56:53 +01:00
Jerome Pasion 62c9be5b2f Doc: Changing HTML output to qttestlib-index.html
-matches the index file and output directory name

Change-Id: I9205a41355fcb3818a93035208c8e25c1c13dcff
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2012-11-30 23:56:37 +01:00
Gunnar Sletta be7ebe2d57 Fix example documentation for OpenGL module and (widget) Tools.
Change-Id: Id9dc39752bcae915f618e1a5696115a5e6923251
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-11-30 23:56:33 +01:00
hjk 4902d381bd Replace two \returns markers by "The function returns"
Change-Id: I101310f6bd9bddf0ee9d06a81b9fef805313a015
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-30 23:56:06 +01:00
Shawn Rutledge 1164c6f6ca Mention the QT_STYLE_OVERRIDE env variable.
IMO we need to have a list of all the environment variables somewhere,
but this one is especially useful and wasn't documented at all.

Change-Id: I2de09194c5904a9a27066604840ec4be66574fb7
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-11-30 23:56:02 +01:00
Montel Laurent 45ce4740ae Not necessary to assign bool to false for changing just 2 lines after
Change-Id: I4ed9a07e3dc2cac9d82b3070a2dd22cca2d80f3d
Reviewed-by: David Faure <david.faure@kdab.com>
2012-11-30 23:56:02 +01:00
Giuseppe D'Angelo 930207fc1f Add more qtbase implictly-shared classes to the list
QText*Format and QDns* ones are still missing.

Change-Id: I8e87fba596e87289ca935717e0a90bfc0b0a26c0
Reviewed-by: hjk <qthjk@ovi.com>
2012-11-30 21:57:49 +01:00
Giuseppe D'Angelo 139d342f9b Add QText*Format classes to the list of the implicitly shared ones
Change-Id: Iee0ecb1cf02fdf9dbdf8328bbe60b1dc7ca21894
Reviewed-by: hjk <qthjk@ovi.com>
2012-11-30 21:57:49 +01:00
Giuseppe D'Angelo 63e1750db2 Add QDns* classes to the list of the implicitly shared ones
Change-Id: I29dd678a51dc693285c389f235d748120ca58fe1
Reviewed-by: Jeremy Lainé <jeremy.laine@m4x.org>
Reviewed-by: hjk <qthjk@ovi.com>
2012-11-30 21:57:49 +01:00
Holger Ihrig dcccf32095 Fixed compatibility problem with Exceptionhandling
When QtBase is compiled with Exeptions it was incompatible
with the other modules compiled with QT_NO_EXCEPTIONS.
This resulted in a linker error with
ExceptionStore::throwPossibleExceptions, one time returning a const value
and the other time without it

Change-Id: I0e0dff61aceeec3cfde119b00ed15f3aa9f12659
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-30 21:57:49 +01:00
Oswald Buddenhagen 76af113867 fix harfbuzz header install location
Change-Id: I2e02f6c80ed7b1df00ad74a3e301997ba3bbd566
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2012-11-30 21:57:49 +01:00
J-P Nurmi a03d3fd4d3 Docs: revise QApplication snippets
Change-Id: Ibbd31736154af6dd009d331578f9addc4de76e89
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-11-30 21:57:49 +01:00
Gunnar Sletta 06678fd0b5 Fix broken links in the QtWidgets examples.
I remove the widgets examples from the gui docs as they will
introduce broken duplicates (under doc/qtgui/...).

Change-Id: I54255ceaf4187477da3e82f6809be41fb98378a2
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-11-30 19:40:47 +01:00
Gunnar Sletta 9ea48de5f0 Fix linking in painting, richtext and desktop examples
Change-Id: If08b2c3366610f74201ab6736f216f1a7d29b3c7
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-11-30 19:40:19 +01:00
J-P Nurmi d8fcfbc3c3 QGV: set QStyleOption::styleObject for graphics items & widgets
Certain QStyle code paths expect the style object to be set. This will
avoid problems when QGraphicsItems/Widgets utilize QStyle for drawing.
Even if things will not necessarily animate properly, such legacy code
won't cause a crash at least.

Change-Id: Ic77cb4ee9820d6c4ec92c7278fd87cb866f5a780
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-11-30 19:32:35 +01:00
J-P Nurmi 39058bfe8e Docs: clarify availability & platform theme usage in widget galleries
Change-Id: Id3c1e278d6a6ce6c67b7f73c3a9490cf83eb0466
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-30 19:32:02 +01:00
J-P Nurmi cd31c06590 Made QWindowsStyle internal
We will take this opportunity to remove various QStyle specializations
from the public API in Qt5. This gives us much more freedom, for
example changing the inheritance hierarchy, pluginizing etc. without
worrying about BC.

=> Use QStyleFactory and/or QProxyStyle instead of creating an instance
or inheriting QWindowsStyle directly.

Change-Id: Ic17c7e425535bc5bb3a08620e9059bb0aea5185e
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2012-11-30 19:31:29 +01:00
Kevin Krammer c107b6d817 Docs: fix code snippet paths in xml-processing.qdoc
Configuration file's exampledirs variable already contains the
xml sub directory, snippet paths are relative to that

Change-Id: I627aebade224afdb7bd38f2b1a089a747e49fabf
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-11-30 18:43:28 +01:00
Kevin Krammer 50f8cc54c9 Fix path in qtxml.qdoconf
../../../examples/xml/src
doesn't exist, it is
../../../examples/xml/doc/src

Change-Id: I08f0d6d91b2cea7bf313cbcdd50632835e21ae24
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-11-30 18:42:56 +01:00
Tasuku Suzuki eed1e548bb make minimalegl plugin compile without QtWidgets
Change-Id: I060ea584dd78e5f389010ab007567aed11793c23
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-11-30 18:38:32 +01:00
hjk 9799743ca1 Remove reference to Qt 3 documentation from example qdoc code.
Change-Id: I0999b24f12ee4c878fc2a95b171474eea7a55ba5
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-30 18:37:43 +01:00
Richard Moe Gustavsen 1cce35472a QPA: update backingstore also when moving QWindows
When moving QMdiSubWindows that contains native widgets (e.g QGLWidget)
inside a QMdiArea, garbage is drawn to the screen. The reason is
that since we use native QWindow backed widgets, QPA will assume
that it does not need to update/scroll the backingstore. But since the
backingstore can be shared among several windows, we need to do this to
ensure that exposed areas behind the moved QWindow will be updated.

Change-Id: I35f4d4069a73ab6cd6d610e25c176c752789a927
Task-number: QTBUG-26162
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-11-30 18:28:14 +01:00
Jocelyn Turcotte 27a945dccd Restore the visibility of a moved QWindow in QWindow::screenDestroyed
QWindow::screenDestroyed triggers an move of the window to the primary
screen. This causes the screen to be destroyed and shown again on the
new QScreen.

The issue is that QWindow::destroy() hides the window but create()
doesn't set it visible, and this ultimately causes any QWindow to be
automatically hidden when their QScreen is destroyed.

As stated in the comment, it could be the intended behavior that
windows aren't shown automatically on a remaining screen like when
using two screens not logically part of the same desktop. Once the
platform plugins have access to an API allowing them to adjust the
screens of their QWindow, this patch shouldn't be needed anymore.

Change-Id: I7628377c969f79f9eebb3deabaf0470542d68a9c
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2012-11-30 18:28:10 +01:00
Samuel Rødal 6385a182f0 Added explicit threading API to QtOpenGL.
Since QtOpenGL/QGLContext is implemented in terms of
QtGui/QOpenGLContext which has stricter requirements about how it's
supposed to be used, we need to apply these requirements to QGLContext
as well.

This change adds QGLContext::moveToThread(QThread *) and documents it as
a necessity for making a context current on another thread.

Also introduces QGLPixelbuffer::context() to access the QGLContext of a
pixelbuffer, and made QGLWidget::context() return a non-const
QGLContext, since there's no good reason why it shouldn't, and it leads
to less const_cast clutter.

We could have introduced a backdoor in QOpenGLContext instead, making it
loosen its requirements, but that would have made it harder / impossible
to fully support threaded OpenGL in all the platforms.

Task-number: QTBUG-22560
Change-Id: Ibb6f65f342e7c963e80cc42ab5664c5f1cab30b0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2012-11-30 18:28:04 +01:00
Miikka Heikkinen 3ee48926e6 Fix crash when requesting QGuiApplication::platformNativeInterface()
If QGuiApplication has not been instantiated, this function would
crash. Change it to return NULL pointer instead.

Change-Id: Ia3d27019daa436d5243c9cce757a132d96aae112
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-11-30 08:23:11 +01:00
Olivier Goffart d8e6be1603 Fix connecting to a functor with 3 arguments
Task-number: QTBUG-28285

Change-Id: I07bd870c093482035728aa783d0ecbc8aa8670d2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-11-30 01:23:48 +01:00
J-P Nurmi f52177829a Revise QMacStyle scrollbar animation handling
Skip animations whether styleObject is not set.

Task-number: QTBUG-27895
Change-Id: I1d2e4655b735627b672bc85f773605adcd375418
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-11-30 00:52:21 +01:00
Paul Olav Tvete 2ffb9b489a Remove Qt 3 reference from resource system documentation.
Change-Id: I2610cf1d3cda09c84d9b36afa0eab1e20be43410
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-11-30 00:51:06 +01:00
Sergio Ahumada 33a8455042 More changes from Nokia to Digia
Change-Id: I8f2edd238e64c01d3ccb7c012b389d61435d7135
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-30 00:50:47 +01:00
David Schulz e2be953386 QtBase: Documentation: Replaced deprecated \o
... with \li in documentation lLists.

Change-Id: I51f5f4f848ec1b5a379647b32772668c24ff5992
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2012-11-30 00:50:18 +01:00
Christian Strømme 1970552e72 Fix missing code snippet in QTest doc.
Change-Id: I6fb1167634b0acddfa61b92d104d98ba8a1a15cb
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-11-30 00:50:12 +01:00
Jan Arve Saether d835ebf39c Add a nice description of Qt Widgets module
Since Qt Widgets was moved from Addons to Essensials, take the
old description for the Qt Widgets addon and put it in the module.

Change-Id: If955747999d48fe09fff00a9c78e38ccbcf9a493
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-11-30 00:50:07 +01:00
Lars Knoll 17a33db399 Fix Qt Xml docs and generate correct module and index pages
Change-Id: I95988798997edeb2d656d265e3172fa0d78db55a
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-30 00:49:34 +01:00
Lars Knoll c85ca8d1cf Fix Qt OpenGL overview.
Change-Id: Ib95638a8eb306e5ababa47cc61e1b5db4ae6cb31
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-11-30 00:49:21 +01:00
Lars Knoll f810c9fc33 Fixes to Qt D-Bus docs
Change-Id: Ib13dc69edce9b989915e4eb75421e775b173095b
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-11-30 00:48:59 +01:00
Lars Knoll afaec998c4 Fix print support docs
Make sure qdoc generates a correct overview for the module.

Change-Id: I6ea95638459201a0bb09f2e645173ade3a36f0e0
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-30 00:48:50 +01:00
Lars Knoll 753a478925 Fixup concurrent docs
qdoc now finds an overview and the concurrent namespace.

Change-Id: I2cd15bc19091f53bd2bb98919e685d49d473dbec
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-30 00:48:37 +01:00
Martin Smith d2d210044f qdoc: Don't include internal items in annotated lists
Now things that are marked internal oe whose parent
is marked internal won't appear in annotated lists.

Task-number: QTBUG-28274
Change-Id: I14ea96e223640cad45e7e4249a3e1fc0642bd9c3
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2012-11-29 20:20:01 +01:00
J-P Nurmi 14cb07864e uic: remove internal QStyle subclasses from qclass_lib_map.h
Change-Id: I10f0b2198d60f882cd59a03f33b2cc1afb0ffcf5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-11-29 20:19:50 +01:00
Robert Loehning 26a9fc4e52 Remove trailing white spaces
Change-Id: I4ff016476e73870405377f76b13fb2e74749a047
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-29 17:42:07 +01:00
Eskil Abrahamsen Blomfeldt 0b37ed0262 doc: Remove references to Qt 4 in QMainWindow introduction
Also make it read less as a porting guide from Qt 3.

Change-Id: I78f93c643d236e13ba4ef76eeea1a98be4573def
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-29 17:42:07 +01:00
Morten Johan Sørvig a4c7340b73 Make Mac style not crash on null styleObject.
We generally expect styleObject to be set during style
draw calls but this isn't always done, especially
legacy code outside Qt (for example in Qt creator).

Create a temporary stand-in QObject. This will disable
scroll bar animations.

Change-Id: I781967fe28f68f5952b368cd56be980b9e270ecd
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2012-11-29 13:51:52 +01:00
Richard Moe Gustavsen bb38d1b1d5 Cocoa: update OpenGL viewport when nsview moves
NSOpenGLContext expexts an -update call whenever the
physical position of the view it draws to changes
on screen. Since we don't get geometry callbacks for such
views when the parent view moves, we need to
register a special notification for that case, and
tell Qt that we need to repaint the QWindow that the
view is backing.

This case does not hit very often, but is evident in
MDI applications where the subwindows are OpenGL
backed QGraphicsView widgets. Dragging the subwindows
around produces garbage inside the windows.

Change-Id: I1b162470b03cca6ed722c6c54080459f2c5e91d9
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-11-28 21:09:42 +01:00
Gunnar Sletta d8eeae5b83 Mention that the Qt book only covers widgets
Change-Id: Ieb20f410570496286d670cab48e80f7bf7772338
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-28 20:49:20 +01:00
Gunnar Sletta a4dec60207 Remove legacy classes from "Painting in 3D" list.
Change-Id: I099dd940145629a67266d02bde7217ea9fbc9372
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-11-28 20:44:41 +01:00
Andy Shaw 5e12f9e7b3 Fix build when SSE2 is not available.
Although SSE2 support is detected at runtime it still may not be
available at build time, so we have to ensure it only uses SSE2
when it is available at build time too.

Change-Id: I86c45a6466ab4cec79aa0f62b0d5230a78ad825a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-11-28 20:41:44 +01:00
J-P Nurmi 27748e588a QtWidgets docs: use Fusion screenshots
The Plastique style no longer exists in QtBase. All the references have
been updated to Fusion, and the obsolete screenshots have been removed.

Change-Id: I771a9ecf23b82965c7b3c41a40945cf051cb5f3a
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-28 20:26:27 +01:00
Sergio Martins 779ef8bb7e QNX: Fix window focus problems when using QNX 6.5.0.
In blackberry, activation events come through the navigator,
but we might not have a navigator.

Change-Id: I0d9e1a08336aa403035fdf00be46d839a83f4b58
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-11-28 16:21:57 +01:00
Jan Arve Saether 7cba8a052f Make the animation framework docs more framework-agnostic
* (i.e. do not mention Kinetic)
* Add some relevant references to Qt Quick
* Refer to QMetaType::Type instead of the obsolete QVariant::Type

Change-Id: I82b69250c933c7e54dc0c268fa6ce4379726fb0d
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-11-28 16:21:57 +01:00
aavit ca35995c1b Provide the bundled zlib headers for external access
(Currently, the Qt5 windows packages lack the tiff and mng plugins
from qtimageformats because of this issue.)

If Qt is configured to use its bundled zlib, it is compiled into
QtCore, and the public symbols are exported so that it can be used
by other Qt libraries. However, after modularization, this did not
work for libraries outside qtbase, since they did not have access
to the headers of the bundled zlib.
This commit fixes that.

Ref. also 1f461ac45b

Change-Id: Ie986f47e00fd0c16f2ba04d27f4258a20d61b260
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-28 16:21:57 +01:00
Martin Smith 793ed1bf88 qdoc: Listing QML group members across modules
This is a second update, which fixes the
"All QML APIs by Module" page, I think.
I expect there will be more insifious places
where this problem will pop up. qdoc must be
dragged, kicking and screaming into the
modular age.

Task-number: QTBUG-28036
Change-Id: I8dd4733a2b0aac9bab3cb2066b6dbf139a8e98a6
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-28 16:21:57 +01:00
mfekari 5e59215ac6 Qnx: Check if QCoreApplication::instance() exists before using QSocketNotifier
Change-Id: I9f00314ea1ef73b87bc56ca1f8fcf859c9cd1824
Reviewed-by: Bernd Weimer <bweimer@rim.com>
Reviewed-by: Peter Hartmann <phartmann@rim.com>
2012-11-28 16:21:57 +01:00
Paul Olav Tvete bf9691d9b7 Remove Qt 3 references from model/view documentation.
Also, don't pretend that Qt 4 is new.

Change-Id: Ib8f719310059093b31181e3c98cf5c028c3018dc
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-28 16:21:57 +01:00
David Faure eca4936ea2 Move session management code from QApplication to QGuiApplication.
QSessionManager was already in QtGui, but not usable since the only API
to get to it was still in QtWidgets. Session management isn't related
to widgets, it also applies to QML apps on the desktop.

The virtual commitData and saveState methods have been removed,
given the two signals which exist since 4.2, and an additional
isSessionSaving() method was added instead.

Change-Id: I8099e70df133303e74456706827da21f013fcc6a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-28 16:21:57 +01:00
J-P Nurmi b9c8cf2527 Docs: cleaned up remaining cleanlooks references and screenshots
Change-Id: I671cec2a84eabe14bef788499dbfa7d7e9c27670
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-28 16:21:57 +01:00
J-P Nurmi 3e5b031607 Docs: add Fusion Style Widget Gallery
Change-Id: I1eb6548a8842fc141b1506d6070f6b74bda5c893
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-28 16:21:57 +01:00
Mitch Curtis e2364e3df6 Document how to name threads.
Change-Id: If7a7bf4f54509ebb86ce394d8bb5a7748ef419d5
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-28 16:21:57 +01:00
Samuel Rødal 76b492050f Fixed QTestLib tutorial docs (link + outdated mention of Qt Labs).
Change-Id: I76d45780b052b40b079fb0c8e0d38db88aa17814
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-11-28 16:21:57 +01:00
J-P Nurmi cefc0551df Choose better screenshots for "The Widget Classes" docs
Remove references to the obsolete CDE and Plastique styles, choose
screenshots from more modern styles, and revise the table so that
screenshots in the same column are from the same style.

Change-Id: I20d5944ab62d8a6965fb49339dede90624c520b3
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-28 13:13:46 +01:00
J-P Nurmi ea104efa34 Style docs & snippets: remove references to QWindowsStyle
QWindowsStyle is being made internal. Use either QProxyStyle for
customizing existing styles or QCommonStyle to implement full custom
styles.

Change-Id: Ic81696abc61a3c012a3775efc0b4fba2e1dab4bb
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-28 13:13:35 +01:00
Rafael Roquetto f4b80c1210 Remove invalid assert from QGraphicsScene
This assert has become invalid since commit 40fef403. After that commit, the
'origin' mentioned by the assert is not necessarily the first item of
cachedItemsUnderMouse, since it origin can be reassigned at line 5735.

Change-Id: Ibc0739b9fe31be3cc74110225940e9e173f585e0
Reviewed-by: Bernd Weimer <bweimer@rim.com>
Reviewed-by: Denis Dzyubenko <denis@ddenis.info>
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
2012-11-28 13:07:28 +01:00
J-P Nurmi d378912d23 Docs: removed Motif widget gallery
The Motif style no longer lives in QtBase.

Change-Id: I7a0d31603a3898c1e5ab558b6e14aac4ec1315bc
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-28 12:49:14 +01:00
J-P Nurmi 19fb351cfc Docs: removed CDE widget gallery
The CDE style no longer lives in QtBase.

Change-Id: Idfb35e8333b30939a4929418ecf2ce6ccfc437cd
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-28 12:49:06 +01:00
hjk d95d29d709 Doc: rename qttest.qdocconf to qttestlib.qdocconf
The name of the .qhp files seems to be generated from the name
of the .qdocconf, not the value it has in qhp.QtTest.file

Change-Id: I12645cb254991006c920234ec966e2fa220cb595
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-28 12:40:40 +01:00
Stephen Kelly 2e05a15784 QtCore: Make more signals private.
Change-Id: Ida190e8b9c1ff47a6f54a5bf68673ab50a2f1bfe
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-11-28 08:49:38 +01:00
Stephen Kelly 5a9de4c676 Always use QAIM to get the default flags.
Change-Id: I801f5c8023e3e3672fde28139a7f34f640e650f5
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-28 08:43:31 +01:00
Thiago Macieira 5dcc36b15c Add a -libexecdir option to the configures
User applications are those that users run directly, whether it be for
development or not. The executable binaries that the user does not
usually run but is still required for proper functioning are called
"program executables" in Autoconf and they are placed in libexec.

This commit adds support for "program executables" in Qt by adding the
-libexecdir option to the configures, the qmake variable
QT_INSTALL_LIBEXECS (note the plural, to match all other properties),
and QLibraryInfo::LibraryExecutables.

At the time of this commit, the only expected "program executable" is
the QtWebProcess, the WebKit2 helper process from QtWebKit.

Change-Id: I66c3a3e0cf7f9d93b5f88f55f18e957faff608fc
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-28 08:39:07 +01:00
Nils Jeisecke 24539dc3d8 Enhanced QSharedDataPointer documentation with container performance section
Added a section motivating the use of Q_DECLARE_TYPEINFO to mark
shared data classes as movable types.

Change-Id: I26664500aef7d83d779d90f97f3f2b0043966480
Reviewed-by: Casper van Donderen <casper.vandonderen@gmail.com>
2012-11-28 08:22:59 +01:00
Jan Arve Saether bad43f1e3d Make "API Reference" section \section1
This is consistent with QtCore and QtSql landing pages.

Change-Id: Ibea45678a6952b39d24483bad1ee44f562699d1f
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-28 00:56:34 +01:00
Andy Shaw 3d66b86cb7 Build fix when building libGLESv2 on Windows with MSVC 2010
Although SSE2 is not used, texture.cpp does not protect calls to these
functions, support for SSE2 is checked at runtime so the code needs to
be compiled in.

Change-Id: Ie14d0ff6b75448e480236d5d30254f107735b77f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-11-28 00:56:34 +01:00
Rafael Roquetto 226f245c71 QNX: fix QProcess fd inheritance
Under QNX, QProcess was not inheriting the parent's file descriptors. This
patch fills in the fd_map array, containing the file descriptors to be
inherited, which is passed to spawn(), accordingly.

Change-Id: Ia160abda88c1ffede877301aeae93a97c2b35320
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Sérgio Martins <sergio.martins.qnx@kdab.com>
2012-11-27 19:31:21 +01:00
Samuel Rødal 171938ce1a Commented confusing QWriteLocker use in QGLTextureCache::getTexture().
Task-number: QTBUG-22560
Change-Id: Idd3948455e8415473a407f66b628418c0d87898d
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-11-27 19:31:21 +01:00
Friedemann Kleint 30eb0b7281 Fix typo in SSL error message.
Change-Id: If72d80979e1d2ea909227785cd691be39d75c8ab
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-11-27 19:31:21 +01:00
J-P Nurmi 027168168c QGuiApplication docs: clarify that QWidget needs QApplication
Task-number: QTBUG-28076
Change-Id: I2ebbedd1916f472b9517b509f3b5499d93c71d45
Reviewed-by: Jing Bai <jing.bai@digia.com>
2012-11-27 19:31:21 +01:00
Eike Ziller ab0b8f3fce Fix filesToOpen in example manifests.
Task-number: QTBUG-27801
Change-Id: Ibfe1f3f2f3ba9d00698d3465fb0950e77a63bd4e
Reviewed-by: Martin Smith <martin.smith@digia.com>
2012-11-27 17:10:24 +01:00
Oliver Wolff e9a8b026f5 Fix touch event handling for Windows
Filtering touch events depending on Qt::WA_AcceptTouchEvents
is not trivial. I thought about doing so in
QWidgetWindow::handleTouchEvent but the target widget (not
window), which has to be checked, has to be obtained using
the primary touch event's position etc.
Thus that is not part of this commit and will be done in a
followup.

Change-Id: I876ee72acd7fdfbe46da61c6eb3c5891ea319cd8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-11-27 16:18:19 +01:00
Konstantin Ritt 729ca17b39 Fix possible assertion when using stringToCMap() for a multi engine
If (*nglyphs < len), stringToCMap() sets *nglyphs to len and returns
false immediately; the caller then must resize the buffer and re-try.
However, QFontEngineMulti::stringToCMap() doesn't update the nglyphs value
and thus the second call would fail, too. This is quite unexpected.

Change-Id: Id2cce7b9faf7706c382fccf023e1b7affa9a10be
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-11-27 16:06:05 +01:00
Martin Smith 3e33d29a86 qdoc: Listing group members across modules
This is a first attempt at fixing the problem, but
it probably is not the entire solution. The problem
requires adding attributes to the index files and
then reusing them when the index files are read.
The same problem will be affecting the module
lists themselves, but that is not fixed in this
update.

Task-number: QTBUG-28036
Change-Id: I8593d5b9446e51a5204b6c71f8c4f2b63f445972
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-27 15:54:45 +01:00
Samuel Rødal 11a38b63bd Properly deprecated QGLFramebufferObject and QGLFramebufferObjectFormat
Change-Id: I9affdcce0988e3538c8a7a696999a7cf8c3448aa
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-27 15:41:45 +01:00
Jan Arve Saether 96cded6667 Improve OpenGL docs
* Mark all Open GL classes with \inmodule QtOpenGL. Otherwise, they
  weren't listed in the list of classes.
* Remove a reference to Motif

Change-Id: I75680712b212cf46b869014d3678b56d022c6323
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-27 15:25:55 +01:00
Samuel Rødal 7a7102ad07 Fixed abbreviations in QWindow::framePos() and QWindow::setFramePos().
As 672e7c875e did changing pos() to
position() and setPos() to setPosition().

Luckily there's not much code that uses these.

Change-Id: I1e1982f00412a22bd376e667a5e8c30b6149f9b5
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-11-27 15:24:31 +01:00
Tasuku Suzuki fe3fa346fd remove dependency of fusion style on windows
Fusion does not depend on Windows
qfeatures.h regenerated from qfeatures.txt
(QT_NO_LIBRARY and QT_NO_STYLE_FUSION were missing)

Change-Id: I5e650a826abb788c7ffb1f0f28d9bbb2d357b7a8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-27 15:09:43 +01:00
hjk 62b13a48ba Doc: write qttestlib.qch, not qttest.qch
This is an enabler for https://codereview.qt-project.org/#change,40381

Change-Id: I2c2fdefab041dc9332816aefbe85ff66c275ca63
Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-27 13:09:08 +01:00
Liang Qi 99ff142fcf Mac: Fix wheel event handling on 10.6
Change "else" case to support compiling on 10.7+
and deploying on 10.6

Task-number: QTBUG-28060
Change-Id: Iaaeaaefe98083863ed750c7cb320db02e16543af
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-11-27 07:46:01 +01:00
Lars Knoll f149b8879a Fix overview documentation.
Change-Id: I8a3427be51673d071bcf467ea7d6d12472b6f841
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-11-26 23:13:46 +01:00
Andreas Aardal Hanssen bfb569b6e7 Ensure subfocus is not reset to 0 when hiding a panel.
When hiding any widget that is not a panel, it is correct to clear
subfocus. In case clearFocus() has been called, the result is that
focusItem() / focusWidget() points to 0, which is correct. Upon
reactivation, nothing gains input focus. When changing focus, the
following setSubFocus() call will ensure subfocus points to the new
widget.

When hiding a panel, however, it's essential that subfocus within
that panel is not cleared, otherwise, when re-showing the panel,
nothing will have focus, whereas the expected behavior is that focus
is restored to the last item that had focus, i.e., the focusItem()
a.k.a. subfocus widget.

Task-number: QTBUG-22256
Change-Id: I84d849a505764e074e1369fef923cef1ad5c0b1e
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-11-26 21:23:15 +01:00
Friedemann Kleint 85cf6cd5f2 tr()-Fix: Do not add up translateable strings.
Placeholders might go to a different position in translated
strings.

Change-Id: Id6a84ea931dc0487bd72eb8d01669369a3dce9c6
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2012-11-26 21:23:15 +01:00
Aurélien Gâteau fea68274b8 Allow qmljsdebugger argument and value to be separated by a space
This change makes it possible to use the QML JS debugger with KDE
applications.

Change-Id: Id5838fa34dcb8b54127abc6da6fe7c2e9a5a1c2e
Reviewed-by: David Faure (KDE) <faure@kde.org>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-11-26 21:23:15 +01:00
J-P Nurmi a1dfccf954 QMacStyle: cleanup unused includes
Change-Id: I8fbc33f86fac5abed4553d35fac2973f47a445e9
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-11-26 19:29:35 +01:00
Samuel Rødal 6633dbbac4 Fixed crash in tst_qglthreads.
QGLTextureCache has a read write locker to protect texture lookups.
However, even calling QCache::object() might modify the cache, causing
race conditions, since it modifies the priority order of the objects in
the cache. Therefore, we need to protect it with a QWriteLocker instead
of a QReadLocker.

Task-number: QTBUG-22560
Change-Id: I46fffc624ace27e25fb100f865e1df0a19b9093d
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-11-26 17:33:37 +01:00
Eike Ziller 8534bb3dd6 Fix example paths in example manifests that are used by Qt Creator.
Task-number: QTBUG-27801
Change-Id: I345c009fc0e4e1c1eabb43ad142e3b474e7a6fee
Reviewed-by: hjk <qthjk@ovi.com>
2012-11-26 17:33:37 +01:00
Friedemann Kleint e0a6af1d3c tr()-Fix: Shorten QFtp error message.
Change-Id: Id2a901c31eafb35bdbbc187f1e5edb74212c361a
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-11-26 17:33:37 +01:00
Gabriel de Dietrich ef1da34c6d Mac: Reworking flat QGroupBox look
The line has been removed, giving a globally cleaner appearance. Also,
the label font size has been increased to normal size.

Change-Id: I3ef9d59ca54755c6fa158e943e4a6ce94eb05065
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-11-26 17:33:37 +01:00
Sean Harmer d6c38bf60a Remove last usages of qSin and friends from QQuaternion
Change-Id: I93fe1d22313da4cfa671603ccdbe9ac8f02cd73b
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-26 17:33:37 +01:00
Thomas Hartmann 7c3fa5a292 Moving code for PE_IndicatorArrow* from windows to common style
If QCommonStyle is taking the place of a common base style,
it should support PE_IndicatorArrow*.

Change-Id: Iec08a37bf3a501bcca61751b11e907999f538e34
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2012-11-26 17:33:37 +01:00
Michael Brüning 3279ed584e Only allow caching for HTTP GET and HEAD requests.
Added a method to QNetworkReplyHttpImplPrivate to check whether the
HTTP operation used in the current request allows for caching. This
should only be the case if the operation is GET or HEAD. The response
to all other request are not really cacheable and should be disallowed
from caching.

Change-Id: I7c31bae42814d157a800d43565e5cb9adfb879f7
Task-number: QTBUG-28035
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Reviewed-by: Peter Hartmann <phartmann@rim.com>
2012-11-26 17:33:37 +01:00
Tasuku Suzuki 1c818c34ea Fix build error with QT_NO_FILESYSTEMITERATOR
Change-Id: If39f1077ab1cb126632ea77d998fc279aabbcd5c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-26 17:33:37 +01:00
Sergio Ahumada 0475f8538c Change contact-us from Nokia to Digia
Change-Id: I0d94b66d802c3899009dde1e570f195aadd861dc
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-26 17:33:37 +01:00
Sergio Ahumada c80b33a62f Change license header from Nokia to Digia
Change-Id: I2be215284d7670f60f8b5838fce1e6832dde2270
Reviewed-by: Martin Smith <martin.smith@digia.com>
2012-11-26 17:33:37 +01:00
Friedemann Kleint 141d718ce2 Move isBuiltinType() to namespace QtPrivate and export it.
There is currently a symbol clash with a duplicated
isBuiltinType() in ActiveQt's dumpcpp-tool, which breaks static
building. Reuse the function.

Task-number: QTBUG-28131
Change-Id: I4985e8405924754aa613311ca3f06d6ba29758b8
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2012-11-26 15:12:31 +01:00
Eike Ziller 274407f347 Allow qdocconf to specify where the examples are located in install.
We have qdoc configurations for the different qtbase libraries and
modules now, which specify e.g. "../../../examples/opengl" for the
exampledirs. That means that qdoc finds examples like
"2dpainting/2dpainting.pro" which is then installed into
"[QT_INSTALL_EXAMPLES]/opengl/2dpainting/2dpainting.pro". (At the moment
even into "[QT_INSTALL_EXAMPLES]/qtbase/opengl/...", which will be
changed to match the structure in source.)

In order for Qt Creator to find the examples, qdoc must write the path
behind [QT_INSTALL_EXAMPLES] into the example manifest file. This patch
introduces "examplesinstallpath" that allows qdoc configs to specify the
missing part, e.g. the opengl qdocconf can add

examplesinstallpath = opengl

to tell qdoc that the examples will be installed into
"[QT_INSTALL_EXAMPLES]/opengl/"

Task-number: QTBUG-27801
Change-Id: Idf518e16d3ca0f9522b084e92f34725b93e9d11f
Reviewed-by: Martin Smith <martin.smith@digia.com>
2012-11-26 15:01:12 +01:00
J-P Nurmi a2ab156872 Cleanup QCoreApplication::Type letfover docs
The enum was removed in 553e21.

Change-Id: I29bf049010b0424af3ca00095d8a36d53a7538e4
Reviewed-by: Sérgio Martins <sergio.martins.qnx@kdab.com>
Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
2012-11-26 14:46:13 +01:00
J-P Nurmi 6c50c3556f docs: mark QMacStyle internal
QMacStyle was made internal in 27aa41, but was accidentally
left public in the docs.

Change-Id: Id7841718af3a21bbbda3102858d1a11bccb8179b
Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
2012-11-26 14:46:03 +01:00
Lars Knoll a376e0e772 Delete codecs page
Unused and empty. QTextCodec and the Unicode overview
contains all relevant information.

Change-Id: I779ba4dea69a88802e34541e4ba44215b5d69c2a
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-11-26 14:16:44 +01:00
Friedemann Kleint eefec0e0be Fix keyboard grab in QWidgetWindow.
Task-number: QTBUG-28070
Change-Id: I6f55a2dd906ee896071137a5d47fb97c9a571b5f
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
2012-11-26 11:00:07 +01:00
Peter Kümmel 9a33cdd8f0 fix wrong comment about #ifdef's end
Change-Id: I8a627c01ced1163e3ea72e9e2b1b55da04ca91b2
Reviewed-by: Tasuku Suzuki <stasuku@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-26 11:00:07 +01:00
Tasuku Suzuki a33d3a7136 Enable module build with QT_NO_CODECS
Change-Id: I27239384a7676a81495a9d3f7484975d2f277e8c
Reviewed-by: Peter Kümmel <syntheticpp@gmx.net>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-26 11:00:07 +01:00
Andy Shaw c7c9daa161 Change QTextLayout::textOption() to return a const reference instead
By changing textOption() to return a const reference we will get a
performance increase when accessing this function internally.

Task-number: QTBUG-28193
Change-Id: I65b594d844ebaee6d72f4a95d11bd2c5e801fab4
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-11-26 09:05:39 +01:00
Konstantin Ritt 6d1acac613 moc: Fix assertion in QVector::first()
introduced in aea68c93ae

Change-Id: I05c1dfa16c42019ee0a0b44ffc50ad2c2c0d209b
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-25 20:58:17 +01:00
Jens Bache-Wiig 3aa55d5a25 Fix color issue with sliders on Fusion style
We should not directly use the palette as it looks
weird on mac.

Change-Id: I2062bd43a8b28875330d9f8cc0eaa4069f3a43f6
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2012-11-25 18:08:07 +01:00
Jerome Pasion 50badb1bd6 Doc: Removed annotated list in Qt Core's group pages.
The annotatedlist commands are not needed as QDoc automatically
generates the group members.

Change-Id: I462bb65bd5f29c1761799d3d60acab0bd4886075
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2012-11-25 11:04:19 +01:00
Thorbjørn Lund Martsum 8d4544f00d QHeaderView: - avoid cursor move on setDefaultSectionSize
If we are reacting on the sectionResized signal and we call
setDefaultSectionSize we should ensure that we are not moving
the mouse-cursor.

This is an improvement of f8f6acb05c

Change-Id: I1adee7821bc8fcc9633f692bfd515f2c458b12c8
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-11-25 08:29:39 +01:00
Jens Bache-Wiig dfc0fbabe1 Improved tri-state checkbox in Fusion style
This changes the tristate checkbox to look more distinct from the
disabled checkbox.

Task-number: QTBUG-27661

Change-Id: If0921c91d27b62552cbcf86563eed1b75e800478
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-11-25 06:01:43 +01:00
Konstantin Ritt 9b85b81bc8 QLocale: Fix matchingLocales() behavior if script or country is not Any*
Since the documentation doesn't mention the search should be done by language only,
consider the current behavior incorrect.
As of now, it is possible to get a list of locales by Country or Script as well.

Also fix countriesForLanguage() to be in-sync with matchingLocales().

Change-Id: I6a09ca459120143565fa6099d2b823df1fed7c25
Reviewed-by: Denis Dzyubenko <denis@ddenis.info>
2012-11-25 04:06:51 +01:00
Jędrzej Nowacki cf1e315e28 Fix QVariant streaming in Qt3 compatibility mode.
Task-number: QTBUG-27700
Change-Id: I0408293e43c3330dbc4746198a19709e795f552a
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-11-24 14:55:30 +01:00
Konstantin Ritt dec4eb7ecc [SIC] QLocale: Update some language names with their modern values
Some of them were incorrectly spelled (for a while)

Change-Id: I871968e3bbdd2172f4c4dfb6e74729c05e7e8e01
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-11-24 06:15:25 +01:00
Konstantin Ritt 3c0ac52081 QLocale: Fix toCurrencyString() didn't respect group separator option
Change-Id: Icda43d71d600d77fe1ed4fcde1ef4478ef29c1d5
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Denis Dzyubenko <denis@ddenis.info>
2012-11-23 22:58:59 +01:00
J-P Nurmi 553e216d89 Remove QApplication::type() and make QCoreApplication::Type internal
These Qt3 legacy application types do not match the application types
available in Qt5. Thus, the decision was to kill the confusing and
mostly useless type enum. Use for example qobject_cast instead to find
out the application type.

Task-number: QTBUG-28093
Change-Id: Ia8cf7c3ea98a3cea27f74760d62e519ea10bce9f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-11-23 20:40:02 +01:00
Friedemann Kleint 5223e7eb27 Draw disabled QMenu items in inactive state in vista style.
Task-number: QTBUG-27992

Change-Id: I4ed5661cfe0d0a10143224b73fbad6fac4927a37
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-23 18:50:40 +01:00
Lars Knoll 6755cbd76a Updated aboutQt dialog text
Updated supported platforms to match reality better,
mention qt-project.org and other copyright holders.

Task-number: QTBUG-25205
Change-Id: I4856d515500945ace55f7fd445b5b138aa00df83
Reviewed-by: Tuukka Turunen <tuukka.turunen@digia.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2012-11-23 18:50:40 +01:00
Jan Arve Saether 009d5e1510 Remove Plastique and Cleanlooks from the widget gallery
This commit does not remove the actual images, since they
are referenced from many other places.

Plastique style seems to have been used often as a style
for showing a screenshot of a widget (probably because it
has been available on all platforms).

When fusion style gets its gallery with images, the references
to the plastique images should probably be replaced with
references to fusion images.

Change-Id: I288c06df2c5e1f3a212b873ec0f087e119b895b0
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-23 18:50:40 +01:00
Jan Arve Saether 0bf1c3622e Doc: Be consistent, and put all widget classes in the same page.
Change-Id: I152a39e798a152b5362db7fdc63ccd6b887ee13b
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-23 17:04:00 +01:00
hjk e1a7a12deb Fix outdated comment in kernel/qtranslator_p.h.
Change-Id: I0e7cc1686c5bcce611e353987e41b4dae7af5c31
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-23 17:04:00 +01:00
Frederik Gladhorn d44a4755c9 docs: DBus: Remove ObjectTree
In 0696071316
the ObjectTree class was removed.

Change-Id: I9c7a505a597e7c2ed9243468faee931a481b1b22
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-23 17:04:00 +01:00
Frederik Gladhorn fef555f58d docs: Remove doc for removed functions
In 3986b51274
these two functions were removed.

Change-Id: Ib38692099aee8f71a8ae0f7949b8fa90eddf6009
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-23 17:04:00 +01:00
Frederik Gladhorn 53dffddead docs: Link to class overview for dbus
Change-Id: I15b3791861e393065817054965aec5c0a5ae4c7b
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-23 17:04:00 +01:00
Miikka Heikkinen 0457f8bb8e Fix selection in QTableView when rows and columns have been moved
The determination of top left and bottom right model indexes for the
selection used logical indexes, which resulted in selection truncating
itself if the first or last row or column had been moved to different
position on the table. Changed the logic to use visual indexes instead.

Task-number: QTBUG-28009
Change-Id: I4eb9dab690dafda9d2ab7c452dd6271fad70cb30
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-11-23 17:04:00 +01:00
Samuel Rødal 9a90c2232f Fixed excessive enter/leave events being generated with the xcb plugin.
When we get a leave event we peek ahead in the queue to see if there's
an enter event already pending. If so we use
QWindowSystemInterface::handleEnterLeave() instead of two separate
window system interface events, so that you don't get leave and enter
events for the whole parent chain when moving the mouse cursor between
two neighbouring native child widgets.

We skip VIRTUAL events as they are generated for parent windows, and we
only care about the bottom-most window that is being entered / left. Qt
can take care of the rest since it knows the QWindow hierarchy.

We need to not skip leave events with detail set to INFERIOR, since Qt
expects to get a handleEnterLeave() when the mouse moves from a parent
window to a child window.

Task-number: QTBUG-27550
Change-Id: I7457d2e59d8b694081f2e43a16cd2e58d769624e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-11-23 17:04:00 +01:00
Friedemann Kleint 1022c3ce9d Do not detect directories ending in ".lnk" as link files.
Task-number: QTBUG-21863

Change-Id: I70b661fa5fcaba1293a80c971c506798826f5b23
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-23 17:04:00 +01:00
Lars Knoll aea68c93ae Proper macro replacment and branch evaluation
Correclty replace macros according to the C++ standard.
Use the correct replacement method also to evaluate

With this moc correctly processes boost headers.

Task-number: QTBUG-27546

Change-Id: I001b3054c5fcdc34d46cfa53d1387bd19436f361
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-11-23 17:04:00 +01:00
Lars Knoll 436e3dc4f9 Correctly expand arguments in function macros
Arguments in function macros are only expanded if they
aren't used in conjunction with a # or ## operator.

Change-Id: I8c80e11902a592128504c4637545e75866566965
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-11-23 17:04:00 +01:00
Lars Knoll 863e44a42b Remove additional whitespaces from the macro tokens
According to the spec, we should ignore whitespace tokens
at the beginning and end of the macro definition. In addition,
whitespaces after a # and around ## should be ignored

Change-Id: I830d0f4aaed3bcfac345d7da6df65693ec3315b8
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-11-23 17:04:00 +01:00
Lars Knoll 43619db05d Emit destroyed() signal before children get deleted
Make sure we always emit the destroyed() signal before
we delete our children. This wasn't working correctly
for QWidget based classes, as the QWidget destructor
deletes all children itself.

Task-number: QTBUG-24672
Change-Id: Iecdff3489196271177edfeba1c4a2c5800e255af
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-11-23 17:04:00 +01:00
Lars Knoll 226e108fbb Fix \brief for QEasingCurve
Change-Id: Ibb8ce4e87e6338cc9d436344d1336397db093cb0
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-11-23 17:04:00 +01:00
Thorbjørn Lund Martsum 2e78d7ac30 QHeaderView - Fix auto-scroll on manual move on sections
This patch fixes the manual move of sections when auto scroll is on.
It is done in QAbstractItemView::doAutoScroll by letting the
qheaderView use its parents scrollbars if they are childs of a
QTableView or QTreeView.

Task-number: QTBUG-993
Task-number: QTBUG-1103

Change-Id: I70d999d9a07c3566e42d01cc5ebb47a69a83d9d4
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-11-23 17:04:00 +01:00
Thorbjørn Lund Martsum c6754c2720 QAbstractItemView - prepare fix for auto scroll on sectionmove
There are no semantic changes in this patch. We just avoid
many calls to horizontalScrollBar() and verticalScrollBar() by
storing the result of them in local variables, that are used
instead.

This is just a prepare for auto-scroll when a user is moving a
section.

Change-Id: I4b3d3ecbf3a29992e6f578d4b0442d7f494125e4
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-11-23 17:04:00 +01:00
Gabriel de Dietrich 601d99d062 Cocoa: Make sure non windowed QCocoaWindows hide their content views
Change-Id: I92b8600c513ba033c459b6911ca62fc31698dc4a
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-11-23 17:04:00 +01:00
Gabriel de Dietrich 8a091a848b Cocoa: Make sure child windows' QNSView is properly released
Child QCocoaWindows don't have an assigned NSWindow, but still get a
QNSView as backing store. That QNSView is added as a subview to
the parent window's QNSView. That would leave an unmanaged QNSView
alive.

Change-Id: I10f57fb971f7aa1e278bb0af4217052d1e4bb0bc
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2012-11-23 17:04:00 +01:00
Richard Moe Gustavsen 4bddcf9c41 Cocoa: QGLWidget draws wrong within QMainWindow on Mac OS
The resons for this bug is that Qt can share the same backingstore
between several windows (if they exist in the same hierarchy), but
this was just not supported by the Cocoa plugin.

This patch will make sure that we pay attention to which window
the QCocoaBackingStore is told to flush, and forward this information
to the QNSView that backs it up. Inside the views drawRect
function we then take some extra steps to get the correct sub-part
of the possibly shared backingstore image.

This patch also does some effort to ensure that we recreate the
backingstore image as little as possible, as we can often get
several resizes to the backingstore before we actually draw anything.
Moreover, by being a bit careful on how we tell UiKit to update
the view upon a flush, we can minimize the number of drawRect calls
(and then CGImageRef creations) we need to do. This patch actually
ends up improving resize/repaint performance a lot as well.

QT-BUG: 27390
Change-Id: I2c2a26b149fa855411b6bff8b9cc9a61694ae72f
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2012-11-23 17:04:00 +01:00
Zeno Albisser 92724e533d Add nsOpenGLContextForContext to QCocoaNativeInterface.
This change enables receiving the native NSOpenGLContext that is used
by a QOpenGLContext. This clearly is non-public api that is only meant to
be used as a last resort for cases where it is really necessary to
get hold of a native context object.

Change-Id: Iea7c6abb458acc7aa15926052673270d25d1d9d1
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-11-23 17:04:00 +01:00
David Faure 7120cf16d2 Fix race condition on d->state, by locking the mutex first.
Detected by helgrind ./tst_qurl testThreads

Change-Id: I0fe01153cd119741ce8a2bfe7dddead7c6ebf0b0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-11-23 15:18:55 +01:00
J-P Nurmi 27aa41cbba Made QMacStyle internal
We will take this opportynity to remove various QStyle specializations
from the public API in Qt5. This gives us much more freedom, for
example changing the inheritance hierarchy, pluginizing etc. without
worrying about BC.

=> Use QStyleFactory and/or QProxyStyle instead of creating an instance
or inheriting QMacStyle directly.

Change-Id: I44a2f5ee3fe08ecc837b593a2a2737eb90e8c267
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-11-23 15:18:15 +01:00
Thomas Senyk b1e9d4c097 xcb plugin: Move the include XInput2.h statements
If the include of egl.h does nasty things with X11-defines
(this happens with the imx6 gpu-drivers) errors are avoided if
the include of XInput2.h is next to the other X-includes,
and not after include of egl.h

Change-Id: I182d0e1fcf3fa3e6abce880d34e63cc1d2ce8ed4
Reviewed-by: Laszlo Agocs <lagocs83@gmail.com>
2012-11-23 15:04:06 +01:00
Konstantin Ritt 2fbb69a093 QTBF: Fix issue with no splitting the words at "." (FULL STOP)
As of Unicode 5.1, some punctuation marks were mapped to MidLetter and MidNumLet
for better URL and abbreviations handling which caused "hi.there" to be treated
like if it were just a single word;
until we have the Unicode Text Segmentation tailoring mechanism, retain
the old behavior by remapping (some of) those characters back to their old values.

Change-Id: I49dea6064f2ea40a82fc0b1bc3c4f0b4e803919f
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-23 11:59:50 +01:00
Paul Olav Tvete d29421dbe3 Make QtQuick documentation references work
...and add one where we used to say that QWidget is "the base
class of everything that appears on the screen".

Change-Id: I573d8162fd69b7bfc5b0305f3ed6530129386b78
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-11-23 10:08:10 +01:00
Samuel Rødal 6a9b713071 Add pointers to the rich text documentation from mentions of rich text.
The QLabel documentation for instance is quite confusing since it talks
about rich text without saying what it actually is. The QTextEdit
documentation can also be improved by being more explicit.

Change-Id: Ie718d170e18a0b713fe567fb707330d0085fb9e4
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-11-23 10:08:10 +01:00
Gabriel de Dietrich d6cfd2c522 Cocoa: Fix disabled colors in palette
Change-Id: I1e6cf2a860f611e08ae2720c2e4eed65a85dbe9c
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-11-23 10:08:10 +01:00
Michał Sawicz 7a1eec36a2 default to Regular font with FontConfig
Default to Regular/Normal instead of Medium in QFontConfigDatabase.

Requesting Medium as default was fine until the font actually provided a
Medium font, at which point it was selected by default.

Tweak the buckets so that Medium has preference over Bold when DemiBold
is requested. They will have to be extended for Medium when QTBUG-25814
is resolved.

Change-Id: I111b7f99083d50c3e8264f84f10a997f619ef4b3
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-11-23 10:08:10 +01:00
Mitch Curtis 603414525d Revise QObject::connect documentation.
Change-Id: I07d593b6b2c3d5c8843212d5a888525ac29ca1b0
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-11-23 10:08:10 +01:00
Samuel Rødal a0af81c086 Improved the paint devices and backends documentation page.
The image was outdated and didn't really add much information.

Also bring back mention of QWidget here.

Change-Id: I9de95a4ae7eaf0352418bea5732b5e9a763c73c2
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-11-23 10:08:10 +01:00
Samuel Rødal c8a09caea6 Fixed misspelled dependency in qtgui.qdocconf to fix QtQuick doc links.
Change-Id: Ia481d0eb643bafd03a353c7a4f40f130607ced29
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-11-23 10:08:10 +01:00
J-P Nurmi 91fa2e0a53 QWidgetPrivate::init(): clarify that QWidget requires QApplication
Task-number: QTBUG-28076
Change-Id: Ica9713894c18bb43ae817a6dd42be087b23fa8c2
Reviewed-by: Jing Bai <jing.bai@digia.com>
2012-11-23 10:08:10 +01:00
hjk 31e801d642 qdoc: fix urls in manifests after modularization
Change-Id: Ib01062f29139f670894f5496d67ccdfe622b778b
Reviewed-by: Martin Smith <martin.smith@digia.com>
2012-11-23 10:08:10 +01:00
J-P Nurmi 7d48fd1c83 Made QWindowsMobileStyle internal
We will take this opportynity to remove various QStyle specializations
from the public API in Qt5. This gives us much more freedom, for
example changing the inheritance hierarchy, pluginizing etc. without
worrying about BC.

=> Use QStyleFactory and/or QProxyStyle instead of creating an instance
or inheriting QWindowsMobileStyle directly.

Change-Id: Id64f3dabff38db7864e235c79b2e9276379f4ba4
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
2012-11-23 10:08:10 +01:00
J-P Nurmi 4fb0e52515 Made QWindowsCEStyle internal
We will take this opportynity to remove various QStyle specializations
from the public API in Qt5. This gives us much more freedom, for
example changing the inheritance hierarchy, pluginizing etc. without
worrying about BC.

=> Use QStyleFactory and/or QProxyStyle instead of creating an instance
or inheriting QWindowsCEStyle directly.

Change-Id: I6b3c0554e7a2a4a5f0027f4ea1342fd332af89ad
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
2012-11-23 10:08:10 +01:00
Eskil Abrahamsen Blomfeldt 96f17a061a Fix transformed text on Mac OS X
In change 1582407fc7, the Q_WS_MAC
code path which disabled drawing cached glyphs for any transform
was removed, as was the comment that scaling and rotation wasn't
supported by the Mac font engines. This obviously broke transformed
text on Mac, so we need to put it back.

I put it into the font engine itself where it belongs, and I kept
the somewhat confusing naming convention which is used in the
paint engine to minimize this patch. I'll clean up these function
names in a future commit.

Task-number: QTBUG-27362
Change-Id: I4fc6a503eedd4b1ebaf3ee659d948f997f433338
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-11-23 08:11:06 +01:00
Christian Strømme 3f936e9094 Fixes problem with single precision floats in QDataStream (Windows).
When the floating-point behavior in MSVC is set to "precise" (default),
assigning nan numbers to a float causes the bit pattern to be altered
(only affects 32bit builds). We should therefore not assign the swapped
value back to a float and use it.

Task-number: QTBUG-25950

Change-Id: I7b6cc4d546e5c8aeafdede749056358b7d639ec7
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2012-11-23 02:32:19 +01:00
Morten Johan Sørvig dc2fd227ab Add WindowFullscreenButtonHint.
Adds the fullscreen button on Mac OS X. Has no effect
on other platforms. Regarding the name I dropped the
"Mac" prefix (like MacWindowToolBarButtonHint). Other
platforms can use and we don't want to accumulate "Mac"
API's.

Change logic in QCocoaWindow check for this flag instead
of using WindowsMaximizebutton.

Change-Id: I9f2db75e8e71b3da36777c7e48852eda3ce9d534
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2012-11-23 00:47:48 +01:00
Frederik Gladhorn a7647939f1 Accessibility Mac: Return textArea as role for multi line text.
Change-Id: I88eb4746463b7372c2dfe089ba74ea4cb0098396
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-11-23 00:47:48 +01:00
Frederik Gladhorn 1dff3d1d83 Accessibility: set multiline state for text edits.
Change-Id: I22d3baac8fc57db0c89d8543019a93263b2023ca
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-11-23 00:47:48 +01:00
Pierre Rossi b77749e997 Account for the item spacing when using QListView::scrollTo()
Somehow this bug managed to stay hidden until the introduction
of QFusionStyle.

Task-number: QTBUG-27675
Change-Id: I86b049b869e9f2951426dc67a485ad7c60ef1403
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-11-23 00:47:48 +01:00
hjk e73ac39c99 Return something from QPAEventDispatcherGlib::processEvents
Change-Id: I0abaf73d4b6b96dbcf499ea86749ced76348c281
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-11-23 00:47:48 +01:00
Samuel Rødal cc736c6858 Get rid of deprecated functionality in QtOpenGL.
We will in any case not be able to support this in Qt 5, so best to just
remove it to not give any false impressions.

Change-Id: Ib52e86007b9e6483bd973f13502b078792a9fa40
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-22 22:58:10 +01:00
Gatis Paeglis c8c1604e88 Fix drops from external sources.
Task-number: QTBUG-26832

Change-Id: Ia1ccce391178e73d26a4f09955bce6c37616384f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-22 22:57:51 +01:00
Weng Xuetian dccd784edf Pass extended key event infomation in xcb platform.
Bare QKeyEvent missing some useful info for input method.
Use new construct of QKeyEvent to create extended QKeyEvent

Change-Id: I8c89e80e7329b92e3e04d5fe52d07c6f6f9e006f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-22 22:56:50 +01:00
Teemu Katajisto be6e270d12 QtPrintSupport: use CUPS defaults for UNIX print dialog
Update printer defaults in UNIX print dialog when printer
is changed.

Task-number: QTBUG-23037
Task-number: QTBUG-6239
Task-number: QTBUG-15351
Task-number: QTBUG-19233
Task-number: QTBUG-22036

Change-Id: Ib03635035211bd69b5b23da20ffd2c03ac318a1a
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-11-22 22:56:05 +01:00
Teemu Katajisto 69de617761 QtPrintSupport: remove advanced tab from UNIX print properties dialog
The Advanced tab shows CUPS options and duplicates some of the settings
in Page tab. These duplicate settings cannot be kept in synchronization
and thus the Advanced tab causes confusion which settings are used.

Remove the Advanced tab because the same settings are either available
in Page tab or can be configured in system printer settings.

Change-Id: I2dc2bf8b3b84dd19f24b2e6c1c9539c925d5d725
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-22 22:56:00 +01:00
Gabriel de Dietrich 127c30cbef Cocoa: Properly set QNSView's geometry when it's a subview
Task-number: QTBUG-26960
Change-Id: Ib8ca76572c868305f378d22c21d13511b4999244
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2012-11-22 17:42:32 +01:00
Oliver Wolff 664acbe796 Do not hide fullscreen widgets having a 0x0 geometry
It is possible that the widget which is to be shown full screen has a
0x0 geometry if an empty layout with 0 margin is set there. In that case
the widget should not be hidden.

Task-number: QTBUG-27602

Change-Id: I87fd20cc3a5bac89ceccdf639780c4bc721ce860
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-11-22 14:14:37 +01:00
Samuel Rødal f813031835 Made renderText() work in samplebuffers example.
Since the OpenGL paint engine is now OpenGL 2.0 based, we need to save
and restore all GL state to prevent it from being clobbered.

Task-number: QTBUG-27020
Change-Id: I39831e074aa818583df34c4a88b13be559d0231b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-11-22 14:01:55 +01:00
Jerome Pasion 49a4d058cc Doc: Modified Qt Test's doc configuration to match file and dir names.
-"qttestlib" should be the directory to match the name of the .index
file. The names affect the cross linking and the "depends" variable.

Change-Id: Ibd35e7a089c78c043527bd72741e57d72daa83d8
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2012-11-22 11:47:27 +01:00
David Faure 8a83c1bb55 Add QMimeType::aliases().
Requested by Allan Sandfeld Jensen for QWebkit, which needs to register
upfront all the mimetypes that a given plugin can handle.

Change-Id: I64b8d39c7988adfc7db4ed8bfdc73acd16e999da
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-11-22 00:11:21 +01:00
Olivier Goffart 11afecbaa7 Use QT_STRINGIFY in qobjectdefs.h
Since it is declared in qglobal.h, we do not need to re-implement the
hack here.

QTOSTRING was only defined if QT_NO_META_MACROS was defined, so
practically not safe to use in other places.

Change-Id: Ie5b07d0fa7537ba79380b882a4c822583ee5635e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-11-22 00:11:21 +01:00
Konstantin Ritt 07d8e30a7e Unbreak the bootstrap lib build on MinGW
With -std=c++0x, MinGW headers doesn't declare some common functions
we're using in qglobal.cpp.

Change-Id: I0ba68ee73b1099c8591a578f06f58db316631e8e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-11-21 22:25:57 +01:00
mfekari 18260ed212 BlackBerry: The MeasurementSystem port was for BlackBerry OS not QNX
Change-Id: I87708aad18ebe1c6a08fe89376290be66f9c0577
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Sérgio Martins <sergio.martins.qnx@kdab.com>
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
2012-11-21 20:13:47 +01:00
Mitch Curtis 3249439b20 Remove warnings from qtbase.
geometryengine.cpp: In member function 'void
GeometryEngine::drawCubeGeometry(QGLShaderProgram*)':
geometryengine.cpp:159:93:  warning: cast to pointer from integer of
different sie [-Wint-to-pointer-cast] geometryengine.cpp:167:95:
warning: cast to pointer f rom integer ofdifferent size
[-Wint-to-pointer-cast]
benchmarking.cpp: In member function 'void TestBenchmark::multiple()':
benchmarking.cpp:85:9: warning: variable 'result' set but not used
[-Wunused-but-set-variable]
benchmarking.cpp: In member function 'void TestBenchmark::series()':
benchmarking.cpp:120:9: warning: variable 'result' set but not used
[-Wunused-but-set-variable]
qstandarditemmodel.cpp:2717:45: warning: unused variable 'd'
[-Wunused-variable]
qxcbconnection.cpp: In member function 'xcb_timestamp_t
QXcbConnection::getTimestamp()': qxcbconnection.cpp:930:40: warning:
suggest  parentheses around assignment used as truth value
[-Wparentheses]
tst_qguiapplication.cpp: In constructor
'BlockableWindow::BlockableWindow()':  tst_qguiapplication.cpp:340:9:
warning:'BlockableWindow::enters' will be initialized after [-Wreorder]
tst_qguia pplication.cpp:339:9: warning 'int BlockableWindow::leaves'
[-Wreorder] tst_qguiapplication.cpp:342:12:  waring: when initialized
here [-Wreorder]
tst_qsqltablemodel.cpp:570:10: warning: unused parameter 'value'
[-Wunused-parameter]
tst_qabstractitemview.cpp:1546:8: warning: unused parameter 'index'
[-Wunused-parameter]

Change-Id: I49c88547182e4669cfde2c2536403fc5573ca2da
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-11-21 18:23:59 +01:00
Konstantin Ritt 3791d21f72 Update Qlocale data up to CLDR 22.1
Change-Id: Ie6ddfec14cb052e0b89230dc93290ff79488fb25
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-21 18:23:59 +01:00
Konstantin Ritt 4a115ab4ae Update Qlocale data up to CLDR 2.0.1
Change-Id: I4279fac57436d7009a6d61dab5936b72fd39fc14
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-21 18:23:59 +01:00
Konstantin Ritt fe8962d3a5 Use likelySubtags to instantiate a locale id from it's short form
...just like described in http://www.unicode.org/reports/tr35/#Likely_Subtags.
This is much more effective than current "guessing" algorithm
+ makes it possible to instantiate a locale by the script or territory code only.

Change-Id: I674f8476e65b01c56960b6e83a1a346df0715274
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-21 18:23:59 +01:00
Konstantin Ritt e7c79face6 [SIC/BIC] QLocale: update enums up to CLRD 1.9.1
This patch adds some missing codes (two-letter ones only),
removes an outdated ones, and updates some names.
The legacy language codes are handled in QLocalePrivate::codeToLanguage()
(fortunately, there are only 4 of such codes).

Change-Id: Iff50aecd1c762b6399cd151aebb955f341d366c6
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-21 18:23:59 +01:00
Thorbjørn Lund Martsum 7a49d8dc06 QHeaderView - call viewport->update() in setDefaultSectionSize
Just like in resizeSection, moveSection, swapSection (and more)
we should call update on the viewport after setDefaultSectionSize.

Change-Id: I88154138d98f644050054d7cd287a0addd9a9cf9
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-11-21 16:36:50 +01:00
Thorbjørn Lund Martsum cf27bc6277 QHeaderView::setDefaultSectionSize to handle auto size of sections.
setDefaultSectionSize should respect auto resized sections like
QHeaderView::resizeSection(). When setDefaultSectionSize is called
we should process a possible pending resize and afterwards we
should do a (delayed) resize of the sections (if we have autosized
sections)

Change-Id: Ie09e6f073c944b58693ffbbd1d1a8b60104c1a55
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-11-21 16:36:50 +01:00
Frederik Gladhorn 045b151911 Rename DBus landing page according to rules.
Change-Id: Idf26f89f41940c4883cbbe99b3cdd868d0d36b06
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-21 16:36:50 +01:00
Thorbjørn Lund Martsum 79fcb97be5 QHeaderView:setDefaultSectionSize add invalidateCachedSizeHint call
We cannot rely on the previous sizeHint and we also call it
in QHeaderView::resizeSection(). There seems to be no reason
not to call it.

Change-Id: Ia473fb7163369aafa5c019ff97a030f9f54a33d9
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-11-21 16:36:50 +01:00
Thorbjørn Lund Martsum 37eb61677c uic - fix to handle QTreeWidget with empty header(s)
This makes it possible for uic to handle QTreeWidget that in
the designer has one or more empty headers.

Before the right(most) empty items where there wasn't a
non-empty header to the right of them would not be visible.

The other empty items - where there was a header to the
right of it would not be empty but initialized with a number.

This patch ensures the same behavior that the QTableWidget
is having.

Task-number: QTBUG-18156

Change-Id: I19bfd3307befe46a1af2d6a3275f7446a15b3442
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-11-21 16:36:50 +01:00
Mitch Curtis b8e883bdb0 Mark QDBusConnectionInterface::serviceOwnerChanged as deprecated.
It warns that it is deprecated if used, but it is currently not marked
as such.

Task-number: QTBUG-28082

Change-Id: Ib0bf034c188650ae77eb5550769e032490d19783
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-21 16:36:50 +01:00
David Gil 23e44afe7a [Doc cleanup] Fix typos and style of QAbstractButton, QButtonGroup, QCheckBox and QRadioButton
Change-Id: Ie557f865f5bdec7241abced91bf10cee8feaf9d9
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-11-21 16:36:50 +01:00
Tasuku Suzuki 49f17c8153 Enable gui build with QT_NO_SYSTEMTRAYICON
Task-number: QTBUG-24816
Change-Id: I5b53392bee3990ec5c7235cc615b4a477fb62089
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-21 16:36:50 +01:00
Frederik Gladhorn 4223519868 Accessibility: unhide text() function in TextWidget subclasses.
Change-Id: Ib5a64ff8de175d1ffc6e4357ec9ec45c4c2f2917
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-11-21 16:36:50 +01:00
J-P Nurmi bb5e45d0a0 Made QWindowsXPStyle internal
We will take this opportynity to remove various QStyle specializations
from the public API in Qt5. This gives us much more freedom, for
example changing the inheritance hierarchy and even merging style
implementations (XP & Vista) later on, without worrying about BC.

=> Use QStyleFactory and/or QProxyStyle instead of creating an instance
or inheriting QWindowsXPStyle directly.

Change-Id: Ib4fec35c2fcb3b5a193537a1de5b6e26fbbe0a06
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-11-21 16:36:50 +01:00
J-P Nurmi 537efea52b Made QWindowsVistaStyle internal
We will take this opportynity to remove various QStyle specializations
from the public API in Qt5. This gives us much more freedom, for
example changing the inheritance hierarchy and even merging style
implementations (XP & Vista) later on, without worrying about BC.

=> Use QStyleFactory and/or QProxyStyle instead of creating an instance
or inheriting QWindowsVistaStyle directly.

Change-Id: I8b320036e241e877fc9bb5f4084cc6e63756cbc4
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-11-21 16:36:50 +01:00
Bernd Weimer 146f63bea4 BlackBerry: Changed QSettings file access
On the BlackBerry platform, applications run in a sandbox. They are
not allowed to read or write outside of this sandbox. Hence in
QSettings there is no use for the system scope and differentiating
between organization and application. This change will also improve
performance.

Change-Id: I79fee0140595385f3d33bd89fe5daa36b04836bc
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Alan Alpert (RIM) <aalpert@rim.com>
2012-11-21 16:36:50 +01:00
Bernd Weimer 131b863473 BlackBerry: Restore proper BPS channel in event dispatcher
This change ensures that BPS events are delivered to the proper
channel even if the application code would change the channel.

Change-Id: Id44efbdd99350c639e391161dd89b8d422c4b330
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Jeff Kehres <jkehres@rim.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
2012-11-21 16:36:50 +01:00
Friedemann Kleint 9b49c0561e Handle QEventLoop::ExcludeUserInputEvents in QWindowSystemInterface.
Add a flag indicating user input events to the event type and
leave those events in the queue if
QEventLoop::ExcludeUserInputEvents is set.

Task-number: QTBUG-27595
Change-Id: Ib41b826ef3be19253cd582d9894dd7c87953711f
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-11-21 16:36:50 +01:00
Samuel Rødal 31c6d55445 Properly initialize glViewport() to appropriate value in QGLPixelBuffer.
Since we are using a hidden window in order to make the context current,
the viewport will end up with an arbitrary value. By setting it
explicitly we ensure compatibility with Qt 4.

Task-number: QTBUG-28115
Change-Id: I69fb5efda2b274b539c3d3b9fa842a2d32ad70b1
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-11-21 14:39:02 +01:00
Teemu Katajisto a2bc19c0ad Mac: fix invalid context in imageForGlyph
The bounding rectangle may have negative width or height when a
graphics view with text is rotated in certain angles. Make
sure that the image width and height are positive, otherwise the
context will be null and the following messages can be seen in
test logs:
<Error>: CGContextSetFontSize: invalid context 0x0

Change-Id: I10f83f6909035fb3c4ac456123cf1922eaea7c73
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-11-21 14:29:10 +01:00
Sergio Martins d429d65628 QNX: Fix crash due to re-entering QToolTip::show().
The flushWindowSystemEvents() was added to send the geometry
event synchronously. A side effect was that all input events were
also sent.

We don't want that. We're probably in setGeometry() because some
other input event brought us here, and it's still in the call
stack.

One crashy example is the static method QToolTip::show() which
uses static variables([1]). If we process input events while the
first QToolTip::show() is still on the call stack, it will trigger
a second one, deleting stuff ([1]) that the first invocation will
still need once the stack unwinds.

Change-Id: Iea22419a7f386d6b6231404666092340dfd1afed
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
2012-11-21 14:02:16 +01:00
Martin Smith 23ea027841 qdoc: Make image paths relative to html file
Task-number: QTBUG-28080

Change-Id: Ie552cacdf736f9f6da3148a11ef2362248775e1a
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-21 11:03:48 +01:00
J-P Nurmi 9bc49b0bca Made QFusionStyle internal
We will take this opportynity to remove various QStyle specializations
from the public API in Qt5. This gives us much more freedom, for
example changing the inheritance hierarchy, pluginizing etc. without
worrying about BC.

=> Use QStyleFactory and/or QProxyStyle instead of creating an instance
or inheriting QFusionStyle directly.

Change-Id: I37d8acb13b6fd328a9cd53c74df971428bbbe443
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-21 11:03:48 +01:00
Konstantin Ritt f4a2352cd1 Fix possible crash/assertion in qt_fontHasNarrowOutlines()
1. cloneWithSize() may return 0
1bis. QRawFont::setPixelSize() may ivalidate the font (due to 1.)
2. using the data obtained from a temporary QString is never safe!

Change-Id: I0cd5f807d8077ef5112704e475f1904bd6fc4b1b
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-11-21 11:03:48 +01:00
Oliver Wolff cc7d085ca2 QPAEventDispatcherGlib: Use correct flags when sending events
Instead of assuming that all events should be handled when
a user event occurs, userEventSourceDispatch has to use the
flags used in QPAEventDispatcherGlib::processEvents.

Task-number: QTBUG-27595
Change-Id: Ib13607f89f7d3207ec83ab26f7d59b3c59a28c4e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-11-21 11:03:48 +01:00
John Layt d48d83a1ac SIC QPrintSupport: Remove unused PPK_SuppressSystemPrintStatus
Print Engine key PPK_SuppressSystemPrintStatus was added in Qt4.1
for Cocoa dialog to suppress the progress dialog.  In Qt5 all cocoa
code has been removed and this key is now unused.

Change-Id: I3a91e9651e16f81611a9a736163f76acf9f20096
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-11-21 11:03:48 +01:00
Miikka Heikkinen bd88379482 Patch file for ANGLE for fixing blackscreen after minimize
Task-number: QTBUG-27994

Change-Id: Iee3d9ff992b0d99c9d1ec3f13631c137114a52a9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-11-21 09:07:07 +01:00
Elvis Lee 24d26f6c73 QJpegHandler: err should be set before jpeg_create_decompress()
If ERREXIT2 is called in jpeg_create_decompress(), SIGSEGV occurs with
no error message. ERREXIT2 macro uses jpeg_compress_struct.err to handle
error case.

Change-Id: I8517a4d6f6e6aa4c1c59cd1aaea435554cca7ac3
Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2012-11-21 05:21:57 +01:00
mfekari 3853035a45 Qnx: Handle the MeasurementSystem value in QNX
Change-Id: I00837421431d82aa831b785d3effb0920b4541f3
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-11-20 18:53:49 +01:00
Jan Arve Saether 035d93a6e1 Fix regression in QXmlStreamWriter with codec set to UTF-16
Actually, this broke using QXmlStreamWriter with any codec
where characters in the ASCII range have a different encoding
than the ASCII standard.

This was a regression from 558fe9383ba0aecbec09cc411c0ebab132aac137

Task-number: QTBUG-23310

Change-Id: I75bd013e9d5de53da564a76c2f06e95ff35303a8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-20 18:53:49 +01:00
J-P Nurmi 4532a1399e QProxyStyle: fix the base style assignment in constructor
Assign the baseStyle member before calling setParent(), because that
will trigger ParentChange event and thus calls ensureBaseStyle(). The
baseStyle member must be set at that point, because otherwise it will
start creating a fallback base style.

Change-Id: I3522e41bb6b82e3fe2e7790d53a53978c18a027a
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-11-20 17:10:19 +01:00
Friedemann Kleint f439108c4f Detect Unity by checking XDG_CURRENT_DESKTOP and use Gnome theme.
Fallback to Gtk for unknown desktops, which should be suitable
for most cases like XFCE.

Task-number: QTCREATORBUG-8254

Change-Id: Iaf9959f75852e03a83b5af7d0dead01ef657d678
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-11-20 17:08:39 +01:00
Oswald Buddenhagen e4b36acf11 don't run syncqt three times in debug_and_release configs
Change-Id: Ifdf7727444779ffa79d9f2ec908d24d1e0663c21
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-20 16:46:40 +01:00
Oswald Buddenhagen 1c70033bb6 don't set CONFIG+=release during build passes
otherwise we get inconsistent builds.

Task-number: QTBUG-28046
Change-Id: I7952000bfc8e02ced5fd2c1bbffab7384f2730c1
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-20 16:46:33 +01:00
Miikka Heikkinen 85e9ba4958 Fix black screen after minimizing OpenGL window with ANGLE
CreateTexture will fail on zero dimensions, so just release old target
and reset dimensions when resetSwapChain is called with zero size area.

Task-number: QTBUG-27994
Change-Id: I1e500c4fd4b92f7d9ea2a49a44f3fb930b575cd1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-11-20 14:13:07 +01:00
Samuel Rødal b8341127c0 Fixed rendering artifacts when drawing cursor.
Get rid of the + 1 in addition to the ascent and descent.

Task-number: QTBUG-27658
Change-Id: I8721226a034099ebe348cad3c49ac711c7fe44b9
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-11-20 14:13:07 +01:00
Thorbjørn Lund Martsum bf909bd637 QHeaderView - do not keep indexes from an obsolete model
When we call setModel persistentHiddenSections are no longer relevant.
It contains indexes from the previous model.

This solves:

Task-number: QTBUG-18196

Change-Id: Ida02fa63a915695e3730fd63995ac5f8520ae827
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-11-20 14:13:07 +01:00
J-P Nurmi e4179d1033 Made QGtkStyle internal
We will take this opportynity to remove various QStyle specializations
from the public API in Qt5. This gives us much more freedom, for
example some styles could be even separated out of QtWidgets and be
provided as plugins instead.

=> Use QStyleFactory and/or QProxyStyle instead of creating an instance
or inheriting QGtkStyle directly.

Change-Id: Iea1f7ebc80949d29f02733f81674355578e2e4fc
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-20 14:13:07 +01:00
Oswald Buddenhagen b4479cc409 exclude 3rdparty from lupdate
Change-Id: I00c569787943a87dda60786b179af1f55a94ea68
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-20 14:13:07 +01:00
Sune Vuorela 93069a298a create interface QSqlDriver::cancelQuery()
This is useful for canceling a long running sql query.
Note that it needs support from the individual drivers.

Change-Id: Ia170a70487ff4ee13c85f12bc13e62fb198617fe
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2012-11-20 14:13:07 +01:00
Friedemann Kleint e671110a10 Handle Qt::WA_MacSmallSize in QApplication::font(const QWidget *).
Task-number: QTBUG-27669
Task-number: QTBUG-27665
Change-Id: Id7eb8092076a57a755a53d1eb5c46d706756ca81
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-11-20 14:13:07 +01:00
Samuel Rødal 9a6367a72a Merge "Merge branch 'newdocs'" into refs/staging/master 2012-11-20 14:13:07 +01:00
David Faure 6cac729ae4 QMimeDatabase: remove deprecated API
c241d8921e renamed the methods but kept
the old ones "for a week or two" at Thiago's request.

Change-Id: I0747c032b549e45f6c8201db577d84863f39f599
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2012-11-20 11:35:31 +01:00
Eskil Abrahamsen Blomfeldt 0dc61c4216 Merge branch 'newdocs'
Added prepare_docs to qt_build_config.prf (it was added
directly in configure in the source branch)

Conflicts:
	configure
	tools/configure/configureapp.cpp

Change-Id: I1337c69fc62b1c934e3e39b4409e4857440c9db8
2012-11-20 10:12:44 +01:00
Nico Vertriest a769a212e0 Added doc with IO functions
Minor spelling and editorial issues
see remarks J.Pasion 30 Oct.

Corrected syllabifying error and minor punctuation issue

Added link to Qt Core in introduction

Change-Id: I1516c94c7f9b70125801ab7f9dfeeaed94db6d91
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-20 09:49:50 +01:00
Morten Johan Sørvig a890c78980 Use setImage workaround on all OS X versions.
The painting bug that we are working around/fixing
here has been observed on 10.7 as well.

Change-Id: Ic29421bcc84405afa085af2f0ed2bc554c684f98
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Teemu Katajisto <teemu.katajisto@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-11-20 08:49:19 +01:00
Caroline Chao b98b11fa03 SQL: Fix OCI driver's compile errors.
Task-number: QTBUG-27979

Change-Id: I4ae4cdba855c05bc6fab0f845ff16a96c8119fdb
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2012-11-20 01:10:25 +01:00
Vadim Zakondyrin adf4e54742 Fixed memory leak in assign operator of QGLBuffer
Change-Id: Icb51dd5a567483b415ab0e8af9eb62221225890d
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-19 23:21:13 +01:00
Vadim Zakondyrin 15f1fe587d Fixed memory leak in assign operator of QOpenGLBuffer
Change-Id: I47f9128b54770bae7a63f82bf66ca16144b67c55
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-19 23:21:13 +01:00
Konstantin Ritt da90a3a490 QLocale: replace hard-coded default country-for-language map
...with a generated one in a way similar to what
http://www.unicode.org/reports/tr35/#Likely_Subtags suggests.
The supplemental/likelySubtags.xml contains all the required data.
This changes some default countries to a most-expected ones.

Change-Id: I920a5623601d8661a943e78197d3bcc838191483
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-19 21:18:03 +01:00
David Faure b256c47d62 Document what the QMimeDatabase constructor really does.
Change-Id: I8d4dcc92296163dea7b78fbb0ceefaee08e57a94
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Allan Sandfeld Jensen <kde@carewolf.com>
2012-11-19 17:12:58 +01:00
Friedemann Kleint 433e7cef1e QSystemTrayIcon/X11: Use display obtained as native screen resource.
Previously, the screen name was used, which contained the
display name. This was changed to return the xrandr-name.

Task-number: QTBUG-5416
Change-Id: I560143d6d459a8051c9640079cf7d39a3caebfec
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-11-19 17:12:58 +01:00
Friedemann Kleint e8c677a930 Add QPlatformNativeInterface::nativeResourceForScreen().
Task-number: QTBUG-5416
Change-Id: Ic163a5ff1c7a06869d324acb9aa7c257a0262e72
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-11-19 17:12:58 +01:00
Thiago Macieira df3631045c Add a new location for QML 2.x imports
This commits adds a -qmldir configuration option for the configures to
allow the user to change the default location (it defaults to
$archdatadir/qml).

It adds a QLibraryInfo::Qml2ImportsPath value for
QLibraryInfo::location, a qmake property of QT_INSTALL_QML and a qt.conf
configure location entry "Qml2Imports".

At the same time, it makes the qmake .prf files dealing with QML plugins
be the QML 2 version. Those files are new in Qt 5, so we have the option
to choose which version we want to use.

Discussed-on: http://lists.qt-project.org/pipermail/development/2012-October/007136.html
Change-Id: I8c1c53e8685a5934ed0a9a42ba5663297b81a677
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-19 15:25:54 +01:00
Morten Johan Sorvig cfa0f3bd56 Compile with -no-widgets.
Remove QApplication usage in qcocoasystemtrayicon.mm

Move qt_mac_cg_context from qpaintengine_mac.mm to
qcocoahelpers.mm to make it available in no-widgets
builds.

(Move qt_mac_colorSpaceForDeviceType as well; color
space support needs to be cleaned up later on.)

Change-Id: I724fdb09538d65eae56c26165f3ba53b6814ea78
Reviewed-by: Liang Qi <liang.qi@digia.com>
2012-11-19 08:30:05 +01:00
Aaron McCarthy 7456562e7f Fix error reporting in TDS SQL driver.
The error and message handlers used by the freetds library were getting
reset to back to the default every time a database was opened.  The
Qt TDS SQL driver was calling dbinit() from QTDSDriver::open().  This
had two problems:

1. dbinit() would reset the error handler previously set by a call to
   dberrhandle().  A db error would then cause the application to
   abort.
2. freetds expects dbinit() and dbexit() to be called symmetrically.
   Opening multiple database connections would result in freetds not
   cleaning up on application close.

Solved by moving the dbinit() call into the QTDSDriver constructor.

Change-Id: I59018d83238672c903b96a4d7f3f21b664c3ff4c
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2012-11-18 23:13:29 +01:00
Thiago A. Correa 597a6024f4 Fix msvc2010 compiler warnings of switch with default but no case labels
Change-Id: I5de4d7405131314c4e2bdb1222d2bb1a2d34a993
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2012-11-18 21:31:51 +01:00
Oswald Buddenhagen 5276c84933 fix namespaced build
Change-Id: I7ac3f3dc2057914108876241883cf8c7e30d2c33
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-16 17:40:52 +01:00
Oswald Buddenhagen f2b77e0c3c make qt_tool support building bootstrapped tools
as a "side effect", this fixes the build of bootstrapped tools when
doing a debug build under msvc: qt.prf would add CONFIG+=release after
default_post.prf already loaded debug.prf.

Change-Id: Idd17cf28d358950fd90bb18ca7a8d67e06953bc1
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-11-16 15:59:20 +01:00
Oswald Buddenhagen 4b85211a43 remove pointless TARGET assignments
TARGET defaults to the project file's basename

Change-Id: I0cd204ae6559e6c51d3c987bc38ae372e2b4a3dd
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-16 15:59:20 +01:00
Friedemann Kleint d87eeeb5bd MinGW: Add missing constants for float control.
Change-Id: Ibce64ed1ec2809551b0cd334b53b33ed445f90f7
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-16 15:59:20 +01:00
Martin Smith a5f2a0816b qdoc: Handle extra imahes exactly like styles
The values of the extraimages variable in the qdocconf file
must now be paths that are relative to the location of
the qdocconf file, just like for styles. They can be
absolute paths, of course, but if they are relative,
they must be relative to the qdocconf file containing
the extraimages variable.

The extraimages variable is for including images used
in the HTML heard and footer that are not referred to
in the documentation.

Task-number: QTBUG-27878
Change-Id: If5e0d1dee7ba231a9c1a73f02a1bbaeb7bfe52c8
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-16 14:57:59 +01:00
Martin Smith b75980d7f5 qdoc: Handle scripts exactly like styles
The values of the scripts variable in the qdocconf file
must now be paths that are relative to the location of
the qdocconf file, just like for styles. They can be
absolute paths, of course, but if they are relative,
they must be relative to the qdocconf file containing
the scripts variable.

Task-number: QTBUG-27878
Change-Id: Iec12d1937ca9db540a2aa5e378fadc60de0a2d8c
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-16 14:11:46 +01:00
Friedemann Kleint 72a0ce045c Accept subsequent drag moves in QWidgetWindow if enter was accepted.
Add handling similar to QGuiApplicationPrivate::processDrag.

Task-number: QTBUG-28008
Change-Id: I516531da242471cdfbb59418d0052b25f799f373
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-11-16 14:09:52 +01:00
Giuseppe D'Angelo 11b5c54f55 Remove qSort from QCollator docs
Change-Id: I4523b7e4cd2a7f9e07a39e48e8024ceb0d7eb839
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-11-16 12:06:49 +01:00
Giuseppe D'Angelo 10f1ca72a9 Remove qSort from QList/QSet docs
Change-Id: I82ac7cafbda3bb6d54a0ba26903ab11113640067
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-11-16 12:06:42 +01:00
Martin Smith 0f4a1d4421 qdoc: Removed debug code
Just removing calls to qDebug().

Task-number: QTBUG-27878
Change-Id: I592ddbb8541b5b65aee9e0f940b50217e84b3a5e
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-16 12:06:33 +01:00
Martin Smith d4f1f4a56b qdoc: better copying of .css files
This change ignores templatedir for css files.
It assumes that the paths in the stylesheets
variable are relative to the qdocconf file that
contains the stylesheets variable.

Task-number: QTBUG-27878
Change-Id: I2155e58f352e17d710c93ad4e92679beb169d823
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-16 11:43:05 +01:00
Olivier Goffart 2b308d4cb5 Fix QMutex::tryLock timeout computation on Linux
The timeout is in millisecond. So we just need to divide by 1000 to get
the number of seconds

Regression introduced in f587e8f4fd
Reported in the comments of QTBUG-24795

Change-Id: Id16e05e7d04d33605860926f7516d14cdefd6a36
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-11-16 01:37:01 +01:00
Jens Bache-Wiig 162926414d Fix incorrect size hint for abstract spinbox
This size hint was based on strange logic from an alternate
universe. The size hint should only contain the text size
and let the style add what is neccessary for the frame rect etc.
Most styles have worked around this by simply ignoring it,
however some styles could still break a bit.

Note that we add 4 since that is the constant that the old
code 'usually' ended up at and should be compatible with
our existing styles.

Change-Id: Iebdbcb8949dd8b7daa7d8cb96ae5ab7351e4f79d
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2012-11-15 18:15:50 +01:00
Miikka Heikkinen 528de79f4b Missing break in case QEvent::WindowStateChange.
The missing break causes state change event handling to fall through
to tablet event handling, which is clearly wrong.

Change-Id: If19d7b3f794b3614961b9e79952331b0ede1fba1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-11-15 18:15:50 +01:00
Samuel Rødal 9b62b01ddd Disable static contents optimization for now.
Since none of the platform backingstore implementations currently
implement this, skip trying to use the optimization for now to avoid
graphical glitches.

Task-number: QTBUG-27971
Change-Id: Ic6d263bb552ef0b4786910d71f965d26d810b7eb
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-11-15 18:15:50 +01:00
Jens Bache-Wiig 48f3128a7d Add feature to enable rounded line edit on mac
This will not currently be exposed in the widget API but we
can make use of it for qt quick components.

Change-Id: I08300a3bcd58e68df633fe9b36a988eb6176ef9c
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-11-15 18:15:50 +01:00
Jens Bache-Wiig e9b6eb7795 Improve highligted colorization on mac with Fusion style
This mimics the platform behavior of using blue color when
the system palette is in use.

Change-Id: I9ad6a552614a3466a930ad5b28fc70d9343d2022
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-11-15 18:15:50 +01:00
Frederik Gladhorn f7d99ad50f Accessibility: Add documentation
This keeps the docs as internal, but add
information about the events.

Change-Id: I9b961a946a6d799232a756a9ac874c0caf91ecbc
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-11-15 16:05:17 +01:00
Frederik Gladhorn 581d3adb2b Accessibility Mac: Implement value interface
Change-Id: Iea6e3c69b220d35bddb1798ff991f8e67e1749e3
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2012-11-15 16:04:12 +01:00
Morten Johan Sorvig 65866bcff5 Implement EditableText accessibility for Mac.
Change-Id: Ibe03975bafc5a6a420b3bd69dfaa93dbf65c9958
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-11-15 16:03:57 +01:00
Friedemann Kleint 2ca6606dca Bring back -nograb/-dograb for debugging.
Task-number: QTBUG-27632

Change-Id: I4b59df01519af4684d9dbe6e4b6c18a5ebd9aeae
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2012-11-15 13:56:58 +01:00
Miikka Heikkinen 9ae2159251 Fix QApplication::primaryScreen() in Windows
QPlatformInterface::screenAdded() documentation specifies that first
added screen will be the primary screen, so we need to ensure that
the screen Windows reports as the main display gets added first.

Task-number: QTBUG-27988
Change-Id: Ibc17b05a6c37007ff749fb54ab62d47ffa40f8ac
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-11-15 13:55:00 +01:00
Konstantin Ritt e4c2a5c29f Assign correct codes to QLocale::AnyCountry and AnyScript
as their meaning, in fact, is unknown (or default) country/script.

Change-Id: Id75a70d4b33c2092de414f3ac357f6bcb627ba47
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-15 13:55:00 +01:00
Konstantin Ritt 1e0e5f2d68 Add a bunch of missed scripts
Change-Id: I078bf95cb50c7ef634f9f3133ab9f9d25439e4ef
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-15 13:55:00 +01:00