profile/ivi/qtbase.git
12 years agoMake the windows socket handle non inheritable
Shane Kearns [Tue, 15 May 2012 14:41:01 +0000 (15:41 +0100)]
Make the windows socket handle non inheritable

This is for behaviour consistency with Qt on unix, as well as the
socket close issues described in the task.

Task-number: QTBUG-4465
Change-Id: Ida95650d8a9bd7b5bc3d3926d22e20a6d7eeb30b
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
12 years agoFix FreeType glyph caching for high resolution
Jiang Jiang [Wed, 16 May 2012 16:14:45 +0000 (18:14 +0200)]
Fix FreeType glyph caching for high resolution

For high resolution or extremely large font sizes, the advance
cached here is likely to overflow, since FreeType returns 26.6
fixed point value and we only take signed char here for advance.

In those cases we should skip caching because there won't be
that many big glyphs after all.

Also move the metrics caching block a bit down to take glyph
embolden and oblique into account.

As a result we also don't need to increase the linearAdvance
size because any linearAdvance less than 128 should fit in
the old 10.6 fixed format.

Change-Id: Ic4920ada49954ce1e0a8673c9f33f30e385e3046
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
12 years agoQMetaObject::activate() overload that doesn't require a metaobject
Aaron Kennedy [Thu, 17 May 2012 10:08:48 +0000 (11:08 +0100)]
QMetaObject::activate() overload that doesn't require a metaobject

This allows QML to emit signals without having to built lazily created
metaobjects.

Change-Id: If8068fb3cb35d79dc8f3ef79253d9c2eb7c93205
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
12 years agoAvoid qobject_cast
Aaron Kennedy [Thu, 17 May 2012 10:06:17 +0000 (11:06 +0100)]
Avoid qobject_cast

This is slightly faster, and also avoids accessing the object's meta
object that would cause any lazily created meta objects from being built.

Change-Id: I0a78e09511c120bdbe707a1efc91ba480ab7680c
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
12 years agoEncapsulate the dynamic meta object pointer
Aaron Kennedy [Thu, 17 May 2012 10:02:59 +0000 (11:02 +0100)]
Encapsulate the dynamic meta object pointer

This change allows us to delay creating the actual meta object
until it is actually required.

Change-Id: I1c4a4226bd82fa606b206dd60322f49b49c32463
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoClean up some QT_HAVE_xxx macros in qcompilerdetection.h
Thiago Macieira [Wed, 16 May 2012 15:43:23 +0000 (17:43 +0200)]
Clean up some QT_HAVE_xxx macros in qcompilerdetection.h

We no longer have code doing MMX or 3dNow! on Qt 5, so nothing defines
those macros. If nothing defines them, we don't need to undef
them. Note that the SSE case is a mislabel: the old "SSE" code on Qt 4
wasn't real SSE, it was MMX with some instructions added at the same
time as SSE was added. It's MMX that Windows 64 doesn't support.

As for QT_HAVE_ARMV6, this macro is replaced by the sub-arch detection
in qprocessordetection.h.

Change-Id: Ic3b00e1533e6b4cea32ba7824233de0a5c0fb32b
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoBlacklist Apple clang 3.0 and previous support for AVX
Thiago Macieira [Wed, 16 May 2012 11:42:53 +0000 (13:42 +0200)]
Blacklist Apple clang 3.0 and previous support for AVX

In at least one case found in our testfarm, the compiler runs into an
ICE (Internal Compiler Error) compiling the new AVX code. The error it
reported was:

 fatal error: error in backend: Cannot select: 0x7fbf1aa42210: f64 = sint_to_fp 0x7fbf1aa88a10 [ORD=1936] [ID=37]
   0x7fbf1aa88a10: i32,ch = CopyFromReg 0x7fbf19538768, 0x7fbf1a9f2610 [ORD=1936] [ID=27]
     0x7fbf1a9f2610: i32 = Register %vreg38 [ORD=1936] [ID=9]

As is the nature of ICEs, juggling the code around will probably make
it pass. But since I have plenty more AVX changes pending, which make
the code even more complex, it's also very likely that this issue will
happen in other places. For that reason, I choose to blacklist the
compiler instead.

Change-Id: Ide3201f0cc49c7ceb63e966f6de65a8315cbea4b
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
12 years agoRemove parallel flag for qsemaphore because of flaky nature.
Toby Tomkins [Fri, 18 May 2012 05:02:00 +0000 (15:02 +1000)]
Remove parallel flag for qsemaphore because of flaky nature.

The CI system is now using the parallel_test flag to run tests in
parallel. This test has become flaky, or at least more flaky than it
was previously. Mark it to no longer run in parallel.

Change-Id: I47bca3be620a8f648a0eb9c9b9f26d2d925efc01
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoRemove optimization flag from QMAKE_CFLAGS
Romain Pokrzywka [Wed, 16 May 2012 23:13:34 +0000 (16:13 -0700)]
Remove optimization flag from QMAKE_CFLAGS

-O2 is already the default optimization level for release builds,
as defined in gcc-base.conf. In addition, it shouldn't be set for
debug builds.

Change-Id: Idd7406b0d135d9579676b389050fd6e5776e722c
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
12 years agoApply compiler platform flags to debug builds as well
Romain Pokrzywka [Wed, 16 May 2012 22:59:00 +0000 (15:59 -0700)]
Apply compiler platform flags to debug builds as well

Compiler flags like CPU architecture and FPU should be set on
QMAKE_CFLAGS instead of QMAKE_CFLAGS_RELEASE, as the latter only
applies to release builds

Change-Id: I2e729a9e413934e904fc2810394e118940b8557f
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
12 years agotestlib: added missing newline to error message
Rohan McGovern [Thu, 17 May 2012 07:35:35 +0000 (17:35 +1000)]
testlib: added missing newline to error message

Change-Id: I8b205da4d225d99f8505a46d8d78ad302cb2b9e3
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
12 years agoadd some more widely-used QChar::SpecialCharacter enum values
Konstantin Ritt [Mon, 14 May 2012 15:12:48 +0000 (18:12 +0300)]
add some more widely-used QChar::SpecialCharacter enum values

Change-Id: Iad58f4366ba6cd6da29a268c56c8a4bc4cf0329c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoeglfs: Allow cursor atlas to be specified using an env variable
Girish Ramakrishnan [Wed, 16 May 2012 18:18:09 +0000 (11:18 -0700)]
eglfs: Allow cursor atlas to be specified using an env variable

The atlas it assumed to have 8 cursors per row. All cursors have
to be square.

Change-Id: I7ffbad4662be450b146f84032bb26187894d528f
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoeglfs: delete cursor textures in the destructor
Girish Ramakrishnan [Wed, 16 May 2012 18:13:54 +0000 (11:13 -0700)]
eglfs: delete cursor textures in the destructor

Change-Id: I7e86313134c428bacda41f5e5401ebc392ceecd8
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoeglfs: remove multiple references to qeglfshooks.h in HEADERS
Girish Ramakrishnan [Wed, 16 May 2012 19:30:58 +0000 (12:30 -0700)]
eglfs: remove multiple references to qeglfshooks.h in HEADERS

ce2b46daea5815df1070463b6bc379e1b4573dae introduced the mistake.

Change-Id: Ifbd276dc24138dfb771d0cb14cb5d18dfa7beb2d
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoRemove src/widgets/kernel/x11.pri.
Robin Burchell [Wed, 16 May 2012 08:49:46 +0000 (10:49 +0200)]
Remove src/widgets/kernel/x11.pri.

Presumably, this was set for QSound, which has since moved to QtMultimedia (and
no longer uses nas, anyway).

Configure also no longer seems to have logic for setting nas, as of
4535913c4fb908293f8f1667eff480efc3fadd73.

Change-Id: Ie5b351844bd169ad0548b0d29513adbf6f5d9a12
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Donald Carr <donald.carr@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
12 years agoturn off exceptions by default where they aren't required
Lars Knoll [Wed, 9 May 2012 16:52:44 +0000 (18:52 +0200)]
turn off exceptions by default where they aren't required

This significantly reduces the size of the generated code
in places where we don't need exceptions.

The -(no-)exceptions configure flag has been removed in the
process, as there is now a fine grained way to control this
on a per module level, and Qt is being compiled without
exceptions in most places.

Change-Id: I99a15c5d03339db1fbffd4987935d0d671cdbc32
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoFix cursorToX for right to left text with trailing whitespace.
Andrew den Exter [Wed, 9 May 2012 06:14:34 +0000 (16:14 +1000)]
Fix cursorToX for right to left text with trailing whitespace.

QTextLine::cursorToX returned the line width for cursor positions
outside the width of a wrapped right to left line because the
leading space width was always calculated as 0.

Returning a non-zero width for the leading space does cause
problems for other uses of QTextEngine::alignLine() though
as the textAdvance already doesn't include the leading/trailing
space so subtracting it there double accounts for it.

Task-number: QTBUG-24801

Change-Id: I56cbb139814c32813bebb49de8c045b29154a958
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
12 years agoQDoc: Generate correct relative paths and links when using -installdir.
Casper van Donderen [Wed, 16 May 2012 12:44:38 +0000 (14:44 +0200)]
QDoc: Generate correct relative paths and links when using -installdir.

This change will generate working links between all modules in qtbase.
Some testing needs to be done on the other modules.

Change-Id: Ic65a9c753f891ac51427ca7c1cdcab13611d2f5b
Reviewed-by: Martin Smith <martin.smith@nokia.com>
12 years agoFix bug when destruction fields in QWizard
Carl Schumann [Fri, 11 May 2012 18:40:21 +0000 (13:40 -0500)]
Fix bug when destruction fields in QWizard

Maintain the consistency of QWizardPrivate's two members:
    QVector<QWizardField> fields;
    QMap<QString, int> fieldIndexMap;
during and after calls to QWizardPrivate's
void _q_handleFieldObjectDestroyed(QObject *)
member function.  The failure to maintain this consistency
caused an out of bounds access and core dump in
QWizard's field(const QString &name) member function.

QWizard's field(const QString &name) member function expects
the values in the QMap fieldIndexMap to be indexes into the
QVector fields.  Prior to this change
_q_handleFieldObjectDestroyed only removed the appropriate
entry from the map and erased it from the vector.  It did
not decrement by one all the indexes greater than the index
that was removed from the map and erased from the vector
in the rest of the map.

For example ...
So if initially have the following mapping ...
"field0" -> 0,
"field1" -> 1, and
"field2" -> 2
with fields of size 3. After destruction of "field1" have ...
"field0" -> 0, and
"field2" -> 2
with fields of size 2.
Now attempts to look up "field2" using QWizard::field will
have an out of bounds error and possibly core dump or trigger
an internal Qt assert because an attempt to access
this->fields[2] will be made.   It should be accessing
this->fields[1], but does not because the map is no longer
consistent with the vector.

This change adds a decrement by one for all the indexes
greater than the index that was removed from the map and
erased from the vector.

Task-number: QTBUG-25691
Change-Id: Ia2a41027628a65faec4ecdd5da235ddd19746a57
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoenable the text layout's cache where it is seems to be missed
Konstantin Ritt [Tue, 15 May 2012 17:02:53 +0000 (20:02 +0300)]
enable the text layout's cache where it is seems to be missed

e.g. in QStaticText, the data is used just to get the line's y-position
and re-calculates just after the loop to determine the bounding rect and to draw the text;

in QWidgetLineControl, the data re-calculated over and over while the result
is seems to remain the same; probably the caching is needed here too

Change-Id: I0f7eb291532f63eccb9c5f749daebb73ff90632f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
12 years agoqdoc: Include QML type name in method quid
Martin Smith [Wed, 16 May 2012 08:47:28 +0000 (10:47 +0200)]
qdoc: Include QML type name in method quid

A case was found where a method inherited from a
QML type marked abstract had the same name as a
method in the inheriting class, and these two
methods received the same quid. This was fixed
by including the QML type name in the guid for
QML methods.

Change-Id: I110eb254b3c6be014cb67fdc5b57b5aa2f575220
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agoAdd header qtest_widgets.h, similar to qtest_gui.h, but for QApplication.
David Faure [Tue, 15 May 2012 11:04:39 +0000 (13:04 +0200)]
Add header qtest_widgets.h, similar to qtest_gui.h, but for QApplication.

The current alternative is to define QT_WIDGETS_LIB before including
qtest.h, but this is not convenient/intuitive when using other build
systems than qmake. If one forgets the define, crashes happen when
using QApplication-related code.

Use <QTestWidgets> in one of the widgets autotests, for testing.

Change-Id: Id96be4976723aea3e8a28c9d0d594daab25a6d90
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
12 years agoPopulate the font database when calling fallbacksForFamily().
Zeno Albisser [Wed, 16 May 2012 14:13:48 +0000 (16:13 +0200)]
Populate the font database when calling fallbacksForFamily().

The Mac platform requires populating the font database to build the
fallback list for font families.

Change-Id: I5bd63cd3c5fa6216c312d439390681f160a716fb
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
12 years agoAdd focusWindowChanged signal to QGuiApplication
James Turner [Fri, 13 Apr 2012 09:57:43 +0000 (10:57 +0100)]
Add focusWindowChanged signal to QGuiApplication

Required for Cocoa platform menus support, we need a
way to update state after focusWindow() result changes.

Change-Id: Idc573888c3d75bcbff2252e243c4b57b15fc2fcd
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
12 years agoHandle EglDisplay and EglContext in the native interface of eglfs.
Samuel Rødal [Tue, 15 May 2012 06:12:45 +0000 (08:12 +0200)]
Handle EglDisplay and EglContext in the native interface of eglfs.

Change-Id: I793176204f12eea9d915fb7fe489bd3450a283cd
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
12 years agoAdd eglfs cursor support
Girish Ramakrishnan [Mon, 9 Apr 2012 21:16:19 +0000 (14:16 -0700)]
Add eglfs cursor support

cursor-atlas.png was generated from existing cursor images
(qttools/src/shared/qtpropertybrowser/images/)

Change-Id: Ic4b396590eaec93e14a4b0915b15f735f5b1a5f5
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoQCoreApplication: No longer hardcode arguments to be filtered out.
Friedemann Kleint [Wed, 16 May 2012 07:39:39 +0000 (09:39 +0200)]
QCoreApplication: No longer hardcode arguments to be filtered out.

On Windows, Unicode command line arguments are re-created from
the original command line filtering out the known arguments.
To avoid having to hard-code all arguments of derived application
classes, keep the original argv-array and use that to verify if
an argument is still present.

Task-number: QTBUG-25724
Change-Id: I5d7bbd9530b1b74e1dcd22a0edc4f323ef687d23
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoCorrect a mistake about non-characters in the documentation.
Thiago Macieira [Wed, 2 May 2012 13:37:53 +0000 (15:37 +0200)]
Correct a mistake about non-characters in the documentation.

The Unicode non-characters are 32 characters, from U+FDD0 to
U+FDEF. The code matching these comments was fixed in
9327bc87c3abf58bb471693b5448cd78e3db1b46, but the comment wasn't
fixed.

Change-Id: I5bde0ab9d70c1c6623893de36d31235cbd9fb152
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoAdd Visual Studio 11 mkspec
Andreas Holzammer [Wed, 16 May 2012 06:50:55 +0000 (08:50 +0200)]
Add Visual Studio 11 mkspec

This adds the Visual Studio 11 mkspec
and the corresponding changes to configure
and qmake makesystem.

Change-Id: I3a7e82a6f7f90aa0a94dedd493ebaa66bf100923
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoqdoc: Fix some QString usage issues (Krazy warnings).
Friedemann Kleint [Wed, 16 May 2012 09:26:11 +0000 (11:26 +0200)]
qdoc: Fix some QString usage issues (Krazy warnings).

- Avoid single-character constants.
- Use QString() instead of "".

Change-Id: If04eff389e7b6d4a18201365b711708fdf545d00
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agoqdoc: Fix warnings about unused variables.
Friedemann Kleint [Wed, 16 May 2012 09:24:11 +0000 (11:24 +0200)]
qdoc: Fix warnings about unused variables.

Change-Id: I2052da55022334362efb5765335f00692f4c65fa
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agoRemove duplicate include for the macros.
Stephen Kelly [Mon, 14 May 2012 08:49:55 +0000 (10:49 +0200)]
Remove duplicate include for the macros.

The basic config file includes the macros file already if needed.

Change-Id: I8b03360ce1e9fff4a3be5270f659dbe22fc1b295
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
12 years agoProperly quote all variables which are paths.
Stephen Kelly [Mon, 14 May 2012 08:47:13 +0000 (10:47 +0200)]
Properly quote all variables which are paths.

This is required if Qt is installed into a directory with spaces.

Change-Id: I1d6874265558d712ac98a3aef670c2934a632ab1
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
12 years agoAdd a non-implicit copy constructor to QEvent
Thiago Macieira [Wed, 4 Apr 2012 17:25:12 +0000 (14:25 -0300)]
Add a non-implicit copy constructor to QEvent

Copying events is a bad idea but it is permitted, used at least in the
state machine framework and QApplication, which somehow found it
amusing to clone events. We can't forbid it because it would be
source-incompatible with Qt 4, and other ill-advised developer may be
doing this.

In the new copy functions and in the destructor, ensure that the d
pointer is null. We can't copy it if it isn't. The exception is for
DeferredDelete events, which use the d pointer to store the loop level
count. Such value must not be deleted.

In the future, if QEvent::d is used at the QEvent level, make sure to
adapt QCoreApplication::postEvent to store the counter somewhere else.

Task-number: QTBUG-25070
Change-Id: I1f2d3f3cfc891ec216df2e8b7dbe531524d21b26
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agoAvoid using iconv for text conversion where possible
Lars Knoll [Sat, 12 May 2012 01:33:50 +0000 (03:33 +0200)]
Avoid using iconv for text conversion where possible

Try to use a builtin codec as codecForLocale() if possible
first. Fall back and instantiate the iconv codec only
if that failed.

In addition, make sure we initialize the locale correctly
before we try to setup the codec.

Change-Id: I86d635f9d11e8ff93093f162e79fb37f3d85731b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoLimit the nesting depth of the Json parser
Lars Knoll [Sat, 12 May 2012 10:09:35 +0000 (12:09 +0200)]
Limit the nesting depth of the Json parser

The parser is recursive and too deeply nested json would
cause it to exhaust the available stack space leading to
crashes.

We now abort parsing with a DeepNesting parse error if the
document is too deeply nested. The current nesting limit
is set to 1024, which should be more then enough for any
real JSON data set.

Change-Id: I4adea3fd727149f7342536d73cf4530361a0a3a1
Reviewed-by: Jamey Hicks <jamey.hicks@nokia.com>
Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
12 years agoQElfParser: double check section size before using it.
Arvid E. Picciani [Tue, 15 May 2012 10:29:53 +0000 (12:29 +0200)]
QElfParser: double check section size before using it.

In rare cases, if the section is empty, we're reading the whole object
into memory because size -1 = UINT_MAX.

Change-Id: Ibf9a1534159ce626e4f2327536076d0cc1ebf0ba
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoMIPS DSPR2 optimization of routine fetchUntransformedRGB16
Damir Tatalovic [Wed, 4 Apr 2012 15:54:58 +0000 (17:54 +0200)]
MIPS DSPR2 optimization of routine fetchUntransformedRGB16

Change-Id: I109deb969009214c4d81677e127f50120443acd2
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoRevert "Temporarily disable -Woverloaded-virtual in headersclean test"
Kent Hansen [Tue, 15 May 2012 07:52:24 +0000 (09:52 +0200)]
Revert "Temporarily disable -Woverloaded-virtual in headersclean test"

This reverts commit a17523805e56511465550a6a93a88b3fc3c8325a

The compatibility overloads were removed in change Icf108a80177155f21bb73c165fb8ab5d4e997bc2.

Change-Id: I4861f281451d66a1aa5f3525eea1773dfef0540e
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agoSupport specifying fallbacks in font request on QPA
Eskil Abrahamsen Blomfeldt [Thu, 10 May 2012 14:50:33 +0000 (16:50 +0200)]
Support specifying fallbacks in font request on QPA

Because the QPA font database would query fallback families inside
findFont(), support for requesting multiple font families in order
of preference (like QFont("Times New Roman, Arial")) did not work,
because the Arial fallback was never attempted. To fix this, we
pass in the queried fallbacks and make sure they are tried before
any platform specific fallbacks.

Task-number: QTBUG-20986
Change-Id: Idb2b717856f013ce2874f00a8debaff60176d2fc
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
12 years agoQChar: add isSurrogate() and isNonCharacter() to the public API
Konstantin Ritt [Tue, 15 May 2012 17:48:20 +0000 (20:48 +0300)]
QChar: add isSurrogate() and isNonCharacter() to the public API

+ QChar::LastValidCodePoint enum value that supercede the UNICODE_LAST_CODEPOINT macro
replace uses of hardcoded values with the new API; remove leftovers

Change-Id: I1395c9840b85fcb6b08e241b131794a98773c952
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoQChar: add missing UCS-4 overloads, get rid of UCS-2 ones
Konstantin Ritt [Fri, 11 May 2012 11:19:44 +0000 (14:19 +0300)]
QChar: add missing UCS-4 overloads, get rid of UCS-2 ones

inline all non-static members to a static ones (declared with QT_FASTCALL),
ushort converts automatically to uint and the conversion cost is minimal.

Task-Number: QTBUG-13052

Change-Id: I189a6f205736766adcd3de2d61cee71f30cc64f3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoQJpegHandler: add an embedded text support
Konstantin Ritt [Tue, 8 May 2012 11:15:04 +0000 (14:15 +0300)]
QJpegHandler: add an embedded text support

texts for the textKeys are stored each in a separate COM(ment) section
so that the maximum text's size is almost 65KB

Task-number: QTBUG-10568
Task-number: QTBUG-111

Change-Id: I7d693741e10e5d78d497cb0af448160077350bb2
Reviewed-by: aavit <qt_aavit@ovi.com>
12 years agoFix QFile::permissions for long filenames
Shane Kearns [Wed, 2 May 2012 15:46:52 +0000 (16:46 +0100)]
Fix QFile::permissions for long filenames

When qt_ntfs_permission_lookup is used, QFile::permissions failed
for files with long filenames.
Also created a test case for this API, which revealed another bug.

Task-number: QTBUG-25629
Change-Id: I73b7676a9d059c0e782b3f701b2e6bbc92f671ed
Reviewed-by: Prasanth Ullattil <prasanth.ullattil@nokia.com>
12 years agotst_QNetworkReply: enable the ioGetFromBuiltinHttp test.
Martin Petersson [Wed, 9 May 2012 12:01:22 +0000 (14:01 +0200)]
tst_QNetworkReply: enable the ioGetFromBuiltinHttp test.

This can be enabled again now. The sender transfer test is still not
re-enabled since the test would take to long to run if sending
enough data to overwhelm the reciever's kernel buffers.

Change-Id: I4056fdca53ec8ebbcc53dfdc814d8bfdbc73f7ce
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Reviewed-by: Prasanth Ullattil <prasanth.ullattil@nokia.com>
12 years agoQHttpNetworkReply:readBodyFast return early if nothing to read.
Martin Petersson [Wed, 9 May 2012 12:07:32 +0000 (14:07 +0200)]
QHttpNetworkReply:readBodyFast return early if nothing to read.

Incase there is no bytesAvailable on the socket there is no need to
try to read.

Change-Id: Ied9e4b8d86854b356a733fab4948739db206b6ad
Reviewed-by: Prasanth Ullattil <prasanth.ullattil@nokia.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
12 years agoQNetworkAccessManager: Read all from socket on remote host close
Martin Petersson [Wed, 9 May 2012 11:53:46 +0000 (13:53 +0200)]
QNetworkAccessManager: Read all from socket on remote host close

When we get a remoteHostClosed we should try to read everything from
the socket before we close the channel.

Change-Id: Iaa87d79ea16d69735f6ba3e8b3b4a0f86fbd5f73
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Reviewed-by: Prasanth Ullattil <prasanth.ullattil@nokia.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
12 years agoFix cases where functions are called with a drive and no slash
Andy Shaw [Tue, 17 Apr 2012 18:30:54 +0000 (20:30 +0200)]
Fix cases where functions are called with a drive and no slash

When a file is specified on a path that includes a drive letter
followed by a colon but no slash then it didn't always account
for the fact that this refers to the current path on that drive.
This fixes the problems in completeBaseName(), baseName() and
path().  Tests are also added for these three cases and some
others too.

Task-number: QTBUG-25353

Change-Id: I47a197c6af066f532442ad269be57597ec61303a
Reviewed-by: Irfan Omair <irfan.omair@gmail.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
12 years agoudev: improve device discovery with udev for add/remove
Johannes Zellner [Tue, 15 May 2012 19:43:08 +0000 (12:43 -0700)]
udev: improve device discovery with udev for add/remove

As the udev device tree structure varies between distros and udev
versions, first probe the actual leaf node for device properties.
If leaf does not contain needed properties, walk up the tree to the
next node matching the queried submodule.

Change-Id: I09329d5a76a1a2a797513f4a787cb27fed5293c7
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
12 years agoprintsupport: set duplex setting correctly to CUPS printer
Teemu Katajisto [Thu, 10 May 2012 08:54:28 +0000 (11:54 +0300)]
printsupport: set duplex setting correctly to CUPS printer

If CUPS printer default is not DuplexNone then setting duplex
to None for printer did not have any effect on duplex setting.

Change-Id: Ifdd82241952c9a63cdf9b53fe787f7503b8049bd
Reviewed-by: John Layt <jlayt@kde.org>
12 years agoUse IF(NOT TARGET ...) before creating imported targets.
Stephen Kelly [Tue, 15 May 2012 12:35:42 +0000 (14:35 +0200)]
Use IF(NOT TARGET ...) before creating imported targets.

Initially we didn't do this because someone could accidentally create
another target of a conflicting name, and used a variable to store whether we
have created the target already or not.

That wasn't adequeate to deal with finding the package in a scope
like a function, so we used a directory property. However, the directory
property is not valid in the same scopes as the defined target. For
example, finding a Qt module in both a directory and a subdirectory causes
a conflict.

As it is already unlikely that a target would be accidentally created with
a name like Qt5::Core, we should simply use the IF(TARGET) form.

Change-Id: If64f25d45f51edcd1edb0d4bfb5ed3bb2479bd27
Reviewed-by: David Faure <faure@kde.org>
12 years agoAdd Q_UINT64_C to 64 bit integer literal.
Carl Schumann [Tue, 15 May 2012 19:02:34 +0000 (14:02 -0500)]
Add Q_UINT64_C to 64 bit integer literal.

On some systems prior to this change the code
would not build with the following error reported
by gcc:
error: integer constant is too large for 'long' type

Change-Id: I778bce9a72ccf3a41cdf17883d734082ed3fb4b3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoinput: Use UDev or specific device paths
Johannes Zellner [Tue, 15 May 2012 00:04:44 +0000 (17:04 -0700)]
input: Use UDev or specific device paths

Keyboard,mouse and touch plugins using evdev now either
use udev for device discovery or the plugin arguments
for fixed device paths.

Change-Id: I72606ad48c15c55a49724a82f7bc285dd3984c43
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
12 years agoRestore the QEvent::d pointer to null after we're done using it
Thiago Macieira [Mon, 14 May 2012 12:10:45 +0000 (14:10 +0200)]
Restore the QEvent::d pointer to null after we're done using it

Change-Id: I2fd6ebd80bf47456d74e939d49bff4ac9f199e8b
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agoQElfParser: fix type of sh_size
Pino Toscano [Tue, 15 May 2012 12:40:15 +0000 (14:40 +0200)]
QElfParser: fix type of sh_size

The type of the sh_size field of a section header is either Elf32_Word or Elf64_Xword,
so the type used cannot be qelfword_t (always 32 bits) but qelfoff_t.

Change-Id: Ia380b6823913fee7a96b39f742630ae3a9ca0cb8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Arvid Picciani <arvid.picciani@nokia.com>
12 years agoqdoc: Improve fileToOpen detection for examples manifest
Alessandro Portale [Tue, 15 May 2012 13:30:31 +0000 (15:30 +0200)]
qdoc: Improve fileToOpen detection for examples manifest

When looking for a suitable "fileToOpen", do a case insensitive
file name comparision. So that it also works in this scenario:
  AnExample/anexample.qml

Change-Id: Ic4cd1d59a7a35e534bfd26cd174a3c2ab5383025
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agoWindows: Trim filter specification of the native file dialog.
Friedemann Kleint [Tue, 15 May 2012 13:15:34 +0000 (15:15 +0200)]
Windows: Trim filter specification of the native file dialog.

In the event customer code (namely Qt Creator) does not pass a
clean specification (corresponding to 4.8 behaviour).

Change-Id: I8271e3a45bea4bea912fcdf0b7c0aae6c022c6a8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoDo not limit mingw mkspec to "win32-g++" only.
kb [Tue, 15 May 2012 04:50:41 +0000 (06:50 +0200)]
Do not limit mingw mkspec to "win32-g++" only.

The Qt configure script and various qmake project files interpret
mkspecs with a win32-g++ prefix as needing special mingw treatment.
This patch corrects one instance of the too-specific "win32-g++"
qmake platform scope and broadens it to "win32-g++*" -- bringing
it in line with the rest of the Qt project files -- thus re-enabling
custom mkspecs for crosscompilation.

Change-Id: I8c5107053ce9e0c499002b1990b492bda0eec52b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoSet QMAKE_DOCS_INSTALLDIR to $$[QT_INSTALL_DOCS] to allow overriding in .pro
Marius Storm-Olsen [Tue, 15 May 2012 07:47:47 +0000 (09:47 +0200)]
Set QMAKE_DOCS_INSTALLDIR to $$[QT_INSTALL_DOCS] to allow overriding in .pro

Normally you want to pass -installdir $$[QT_INSTALL_DOCS] to qdoc by
default. However, if you want to force the generation of URL links to
the documentation, the option cannot be specified.

By setting the QMAKE_DOCS_INSTALLDIR variable in default_pre.prf a
project may override it at will, as for example Qt Creator would do.

Change-Id: Ib31f03acf4e8050cf2dd3aa33f3a10ed027f1df7
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agoFix font printing on Windows using the native engine.
Friedemann Kleint [Mon, 14 May 2012 14:57:15 +0000 (16:57 +0200)]
Fix font printing on Windows using the native engine.

- Add HFONT, LOGFONT, trueType as properties of the
  Windows font engine, make it a real Q_OBJECT.
- Query properties in the Windows print engine and use the HFONT,
  LOGFONT there.

Change-Id: I5c35275b32ef6580d7fa15ed83c6e79e33dc3334
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoRename QMimeDatabase method for consistency.
David Faure [Mon, 14 May 2012 17:42:10 +0000 (19:42 +0200)]
Rename QMimeDatabase method for consistency.

Name is about mimetype names, while FileName is about, well, file names.

Task-number: QTBUG-25748
Change-Id: I34a9ac1a5fc06dc3e3855365e19c4dc7a1aa2671
Reviewed-by: Wolf-Michael Bolle <wolf-michael.bolle@nokia.com>
12 years agoqdoc: Don't include internal QML properties in output
Martin Smith [Tue, 15 May 2012 11:48:29 +0000 (13:48 +0200)]
qdoc: Don't include internal QML properties in output

QML properties marked internal were still appearing in the
the HTML output. Also, the title for QML type pages was not
correct in the help project writer.

Change-Id: Icaad7cefce77a4af70796bc185c99a3035fb17c8
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agoQDoc: Use capitalized navtitles in ditamap.
Casper van Donderen [Mon, 14 May 2012 10:15:04 +0000 (12:15 +0200)]
QDoc: Use capitalized navtitles in ditamap.

The auto-generated ditamap used titles like "articles", this now becomes
"Articles".

Change-Id: I32fa6353443aaa66cbfc2b2fea1fea26e3e33684
Reviewed-by: Martin Smith <martin.smith@nokia.com>
12 years agoqdoc: Fixed some terminology output by qdoc
Martin Smith [Mon, 14 May 2012 08:08:13 +0000 (10:08 +0200)]
qdoc: Fixed some terminology output by qdoc

There were still a few places where qdoc
generated "element" instead of "type" or
"class" instead of "type." These have been
fixed.

Change-Id: Id75156810212edb468198b6f269e3a91c55ac22c
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agoFix include path to fb_base.pri
Girish Ramakrishnan [Sun, 13 May 2012 04:14:17 +0000 (21:14 -0700)]
Fix include path to fb_base.pri

Also fixes a typo in fb_base.pri.

Change-Id: I4fae156640325a7a2894ea0d1fbe96936f190bdb
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoFix QPA files inclusion headers
Girish Ramakrishnan [Mon, 14 May 2012 18:36:08 +0000 (11:36 -0700)]
Fix QPA files inclusion headers

find . -name "*.h" | xargs sed "s/^#\(.*\)_QPA_H/#\1_H/" -i

Change-Id: Ifa96f8cfcb67070a961c7e5f05719b82653a1174
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoRemove const char *-based connectNotify() API
Kent Hansen [Tue, 24 Apr 2012 21:57:42 +0000 (23:57 +0200)]
Remove const char *-based connectNotify() API

This completes the transition from connectNotify(const char *) and
disconnectNotify(const char *) to the new QMetaMethod-based
functions.

Removed the old connectNotify autotests and renamed the
connectNotifyMethodXXX autotests to connectNotify, since there is
no longer any ambiguity about which overload is being tested.

Change-Id: Icf108a80177155f21bb73c165fb8ab5d4e997bc2
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoDeprecate the ability to change the FS encoding separate from the locale
Thiago Macieira [Mon, 14 May 2012 13:43:57 +0000 (15:43 +0200)]
Deprecate the ability to change the FS encoding separate from the locale

Changing the encoding used by filenames separately from the locale
encoding is a broken concept and cannot work properly. This creates
ambiguity depending on the data source and how it's being treated.

Instead, enforce that the locale encoding is the only possibility to
deal with file names.

The QFile::encodeName and decodeName functions are retained due to the
Mac-specific issues and due to the sheer number of current
uses. There's no point in deprecating them and moving away from them.

Change-Id: Iedb2d8715d166a59a824f05bc11d107fd44f9c17
Discussed-on: http://lists.qt-project.org/pipermail/development/2012-May/003782.html
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoAdd test case for link local TCP connections
Shane Kearns [Thu, 10 May 2012 15:37:57 +0000 (16:37 +0100)]
Add test case for link local TCP connections

The socket engines already implemented this, but it is a good idea
to test it explicitly.

Task-number: QTBUG-25634
Change-Id: Ife3fe09b0119ed435e4055523c553847739a09fe
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoEnable Gtk file icons
Frederik Gladhorn [Thu, 15 Mar 2012 14:05:59 +0000 (15:05 +0100)]
Enable Gtk file icons

This needs some build system fixes to let widgets depend on
the platform support library (and be built after it).

Change-Id: I6f5b878971d1002a18e2fd66db4f34ffd0ac939a
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@nokia.com>
12 years agoUse org.qt-project for the QFactoryInterface's IID
Thiago Macieira [Mon, 14 May 2012 09:31:13 +0000 (11:31 +0200)]
Use org.qt-project for the QFactoryInterface's IID

Task-number: QTBUG-23273

Change-Id: I935d2e20a4905121ca226f052528fa7c9d80e88b
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agoSplit Q_COMPILER_DEFAULT_DELETE_MEMBERS
Bradley T. Hughes [Mon, 14 May 2012 07:22:40 +0000 (09:22 +0200)]
Split Q_COMPILER_DEFAULT_DELETE_MEMBERS

Based on reviewer comments on
https://codereview.qt-project.org/#change,25992, split
Q_COMPILER_DEFAULT_DELETE_MEMBERS into
Q_COMPILER_DEFAULT_MEMBERS and Q_COMPILER_DELETE_MEMBERS. Clang provides
2 separate feature checks for these, all other compilers always define
both.

Keep the Q_COMPILER_DEFAULT_DELETE_MEMBERS define, though, for any
existing code that may be using it.

Change-Id: I8969e10989c776a822da153152cfecb99dda8cb9
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoProperly handle unexpected EOF in QHttpThreadDelegate
Shane Kearns [Fri, 11 May 2012 16:39:12 +0000 (17:39 +0100)]
Properly handle unexpected EOF in QHttpThreadDelegate

This prevents http POST/PUT from hanging if the QIODevice being uploaded
returns -1 from read.

Task-number: QTBUG-24738
Change-Id: I76500cc4f0101cc8e5da5f1dc105508b3f519a3c
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
12 years agodevice: don't set a default cross compile prefix
Donald Carr [Fri, 11 May 2012 22:46:54 +0000 (22:46 +0000)]
device: don't set a default cross compile prefix

qmake -set can be used instead to set a the default cross compile.
device_config.prf already contains code to read this default.

Remove per-spec CROSS_COMPILE checks

Introduce deviceSanityCheckCompiler() usage where appropriate

Done-with: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Change-Id: I07c75c9e933dc1174a1bf8bf523b6b4a6b427408
Reviewed-by: Romain Pokrzywka <romain.pokrzywka@kdab.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
12 years agoAdd private API for finding symbols on Linux
Glenn Watson [Thu, 10 May 2012 04:52:41 +0000 (14:52 +1000)]
Add private API for finding symbols on Linux

Add an API for use by declarative that allows searching for a
symbol that has been loaded, without opening a specific library.
This makes it possible for declarative to determine if the
profiling library has been preloaded, and to call functions on
it that enable / disable / save the current profile.

Change-Id: I2ec12d9babea2a152990c19735e98d4d7c10a062
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 years agoRemove capitalization when specifying include-libraries.
kb [Sun, 13 May 2012 20:55:15 +0000 (22:55 +0200)]
Remove capitalization when specifying include-libraries.

MinGW installations on case-sensitive filesystems expect
lowercase names of include-libraries and (usually) include
files.
When crosscompiling on Debian 6 (targeting MS Windows) linking
fails because mingw is looking for non-existent include-libraries.
Using lowercase names solves this.

Change-Id: Id3454f4ed8ba42b6ea93d65d9c0ce567db6712df
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoDo not override CO_E_NOT_SUPPORTED
kb [Sun, 13 May 2012 21:01:00 +0000 (23:01 +0200)]
Do not override CO_E_NOT_SUPPORTED

Change-Id: Id0cb9e1dca67400a2e3a02da663d810b06bdb6ec
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoWindows: Query mouse double click interval from system.
Friedemann Kleint [Mon, 14 May 2012 11:47:41 +0000 (13:47 +0200)]
Windows: Query mouse double click interval from system.

Change-Id: I6bfd19a76bf3fde1344760d7f216a2dffa4b9018
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoconfigure: save pkg-config env in qconfig.pri
Johannes Zellner [Sat, 12 May 2012 00:54:30 +0000 (17:54 -0700)]
configure: save pkg-config env in qconfig.pri

Store PKG_CONFIG_SYSROOT_DIR and PKG_CONFIG_LIBDIR for the usecase of
cross compilation in qconfig.pri. They will get picked up by
pkgConfigExecutable() in qt_functions.prf used from link_pkgconfig.prf
as environment for pkg-config calls.

Change-Id: I7d0de05c0bd21b435275fc26c66a80035ba30970
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
12 years agoQUrl: using sectionIsPresent in operator== broke for local files.
David Faure [Mon, 14 May 2012 15:17:11 +0000 (17:17 +0200)]
QUrl: using sectionIsPresent in operator== broke for local files.

QUrl::fromLocalFile("/foo") doesn't set Host, but QUrl("file:///foo")
does (to remember that it saw a Host section, even if empty, which is
useful for urls like "remote://"). So ignore the Host flag in operator==.

Change-Id: I4322b4a75420c4e42766c0d65c1b121f28028a76
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoQUrl: a url with a fragment or query, and one without, are different.
David Faure [Mon, 14 May 2012 12:48:23 +0000 (14:48 +0200)]
QUrl: a url with a fragment or query, and one without, are different.

Fix operator== and operator< so that a URL with an empty fragment
or query, is not treated as equal to a URL without any fragment or query.
This restores the Qt4 behavior on this particular issue.

Change-Id: Ie989f37353fb13c791b1d558d638d2e8a5b5d1b8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoPort away from QString::{to,from}Ascii in qmake
Thiago Macieira [Wed, 2 May 2012 12:40:30 +0000 (14:40 +0200)]
Port away from QString::{to,from}Ascii in qmake

Properly use from/toLocal8Bit when referring to user data, even file
names.

Change-Id: I8fc7afa2ea570f8b1b1eecf354f01d6dfe0883cb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoAdd missing include library to prevent link failure
kb [Sun, 13 May 2012 21:03:06 +0000 (23:03 +0200)]
Add missing include library to prevent link failure

When cross-compiling the uuid library needs to be included
explicitly so the linker has access to _IID_IUnknown et al.

Change-Id: I713af426357603c08eef55857be20105e5aa6eba
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
12 years agoclang: Use __has_feature() to detect C++11 features
Bradley T. Hughes [Fri, 11 May 2012 09:24:07 +0000 (11:24 +0200)]
clang: Use __has_feature() to detect C++11 features

Apple's clang version is often reported as the next official clang
version, but Apple clang does not support all the features that the
final official clang does. Instead of using version based feature
detection, use the __has_feature() built-in instead, so that we
correctly #define the various Q_COMPILER_* macros.

Task-number: QTBUG-25554
Change-Id: I2195401dbf6cd8574c30aa1bd6f7cf1cf537dae7
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoUse directory property instead of variable to determine target existance.
Stephen Kelly [Sun, 13 May 2012 17:48:47 +0000 (19:48 +0200)]
Use directory property instead of variable to determine target existance.

This is more resilient to calling find_package in a scope such
as a function.

Change-Id: I17e69a416f4aed3102fa6195d239bcf4ce0b306b
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
12 years agoFind Qt5 modules automatically in the qt5_use_modules function.
Stephen Kelly [Sun, 13 May 2012 17:52:13 +0000 (19:52 +0200)]
Find Qt5 modules automatically in the qt5_use_modules function.

This ensures that we only find Qt5 modules from the same directory
as modules we have already found, not from multiple different
directories which may be incompatible.

Change-Id: I7ad1d81ec41bba2e543130740041338ba44a6c3b
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
12 years agoOnly find dependencies from the same Qt installation.
Stephen Kelly [Thu, 10 May 2012 15:55:13 +0000 (17:55 +0200)]
Only find dependencies from the same Qt installation.

Add a PATH to search for dependencies in the current prefix, and
disable other CMake searching logic with NO_DEFAULT_PATH.

A Qt installation must all be installed to the same prefix currently.
If that constraint is ever relaxed, we can turn this into a hint instead.

Change-Id: I633cafb7e546dbd102ac0b2ed18db260d26adc51
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
12 years agoRestore QUrl::setEncodedQuery(QByteArray()) to the Qt4 behavior.
David Faure [Sun, 6 May 2012 23:00:16 +0000 (01:00 +0200)]
Restore QUrl::setEncodedQuery(QByteArray()) to the Qt4 behavior.

Null bytearray means no query, and QString::fromLatin1(QByteArray())
doesn't give a null string, but an empty string.

Same for setEncodedFragment(QByteArray()).

Change-Id: I992e9253e35941d66886456872ea06aa2ae92450
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoQDoc: Also use the CppCodeMarker for .qtx and .qtt files.
Casper van Donderen [Fri, 11 May 2012 13:22:55 +0000 (15:22 +0200)]
QDoc: Also use the CppCodeMarker for .qtx and .qtt files.

Change-Id: Iff44975bc17fbf1158b373ecd967782b6cb5a3c1
Reviewed-by: Martin Smith <martin.smith@nokia.com>
12 years agoRemove stale udev check
Donald Carr [Fri, 11 May 2012 22:49:16 +0000 (22:49 +0000)]
Remove stale udev check

udev headers now ship as part of the base debian reference image

Change-Id: I181c7f48ca59af46fccf8f3204845379d068c023
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
12 years agoAdd a QStringBuilder::toUtf8() function
Thiago Macieira [Wed, 25 Apr 2012 16:01:24 +0000 (18:01 +0200)]
Add a QStringBuilder::toUtf8() function

Just to match the ones that are already there.

Change-Id: I25acc2391feded4cac79ebf65a6bc72176f5f931
Reviewed-by: hjk <qthjk@ovi.com>
12 years agoUse WChar method for reporting for Windows
Andreas Holzammer [Fri, 11 May 2012 07:44:52 +0000 (09:44 +0200)]
Use WChar method for reporting for Windows

Switch to Unicode reporting, as Windows CE does
only support UTF-16 functions and to not open
up some other ifdefs just switch to unicode.

Change-Id: I82613a131313235e313cecd315bf6d1488af0532
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoQGuiApplication::activeWindow() is deprecated
Thiago Macieira [Wed, 2 May 2012 14:27:46 +0000 (16:27 +0200)]
QGuiApplication::activeWindow() is deprecated

Change-Id: Id66740eb42fdaa86807222fbebc148de9434fa6e
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
12 years agoFix sending UDP packets to link local addresses
Shane Kearns [Wed, 9 May 2012 16:13:59 +0000 (17:13 +0100)]
Fix sending UDP packets to link local addresses

When the scope ID is not set, Mac and Windows will not transmit
packets to link local addresses. This patch implements setting
the scope in the native socket engines and adds a test case.
(it was partially implemented already, though UDP specific code
paths were missed in the unix engine)

Task-number: QTBUG-25634
Change-Id: I23300bdc9856e38458078e913daaa59cd05a74b5
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
12 years agoInclude scope ids in QHostAddress from QNetworkInterface
Shane Kearns [Wed, 9 May 2012 16:06:47 +0000 (17:06 +0100)]
Include scope ids in QHostAddress from QNetworkInterface

The scope ID is a required part of the address for link local
addresses (to solve the problem of the same link local address
being created by two machines on different networks).
It is required to send packets to a link local address on Mac and
Windows, although Linux multicasts if scope is missing.

Task-number: QTBUG-25634
Change-Id: Ie2bb09df8d261eefcb81716bafeb1475f0bed5fe
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
12 years agoDoc: Add a default license footer.
Casper van Donderen [Fri, 11 May 2012 08:40:07 +0000 (10:40 +0200)]
Doc: Add a default license footer.

The CSS for the footer is not completely correct, but at this
time it is better to have something than nothing.

Change-Id: I7371e1e458a2abafcdb0fca5564ad73e209d64c3
Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>
12 years agoFix font engine dependent text transformation
Jiang Jiang [Fri, 11 May 2012 13:03:57 +0000 (15:03 +0200)]
Fix font engine dependent text transformation

The font engine used in supportsTransformation() should be the same
as the one used in drawCachedGlyphs. If it's a multi font engine we
should check the primary font engine inside it.

Change-Id: I384aab3c58edfe2e7ae6fe7fe96bef766053d3ef
Reviewed-by: Yoann Lopes <yoann.lopes@nokia.com>
12 years agoMake QFileOpenEvents delivered again.
Christoph Schleifenbaum [Thu, 5 Apr 2012 14:31:40 +0000 (16:31 +0200)]
Make QFileOpenEvents delivered again.

Create a FileOpenEvent within QWindowSystemInterfacePrivate and handle
it in QWindowSystemSystemInterface and QGuiApplication

Change-Id: Ie777c923958d83d56e8648c9bfb1f9dcb985654d
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
12 years agoWindows: Compress Window Activation events.
Friedemann Kleint [Fri, 11 May 2012 09:34:28 +0000 (11:34 +0200)]
Windows: Compress Window Activation events.

If the next active window is already known at the time a focus
out is received, pass it to QWindowSystemInterface.
Fixes a test and Qt Creator's locator bar.

Task-number: QTBUG-24186
Task-number: QTCREATORBUG-1

Change-Id: I0aed4c386c08ed182555c95640e1637c5b67f5ce
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>