Commit Graph

16561 Commits

Author SHA1 Message Date
Liang Qi
bdd3ead827 OSX: support fake fullscreen and etc
* Fix QCocoaWindow::setGeometry() to respect WindowFrameInclusive
* Support fake fullscreen on 10.6 or WindowFullscreenButtonHint was not set on
10.7 and later
* Fix tst_qwindow on 10.6 and later

Task-number: QTBUG-23059
Task-number: QTBUG-34629
Change-Id: I6e032ca55b45674388b00506a424d3bd7ece429f
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-01-03 15:27:38 +01:00
Simon Hausmann
b5ab7ee0d7 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: Id13badc270db98806048753fd7fb658aa17f1ede
2014-01-03 14:30:21 +01:00
Simon Hausmann
aff3e3c4a2 Make texture glyph cache more robust against missing glyphs
This fixes failing assertions in the CI system. All the callers of
lockedAlphaMapForGlyph always check the return value for being null as well as
the image itself, so we need to do the same here as well before calling
unlockAlphaMapForGlyph.

This is proposed to stable because commit
f9399d69ad also landed in stable.

Change-Id: I0a4f4fbb1727e5b4ad497b08177d14c81abd2dd0
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-01-03 13:00:18 +01:00
Eskil Abrahamsen Blomfeldt
753b472cb8 REG: Fix support for strings spanning multiple font engines
E.g. in the case where the first char in a font got a font engine
index != 0, and the second character got font engine index == 0,
we would not count the second character as a separate glyph run.
The result would be that its glyph indexes would refer to font #0,
but the font used to render them would be the same as for the first
character, i.e. random.

Task-number: QTBUG-35740
[ChangeLog][Text][QTBUG-35740] Fixed regression when shaping some
strings containing characters from multiple fonts.

Change-Id: I668804045c8b276787c7b256bc87916c467f3f59
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2014-01-03 13:00:18 +01:00
Frederik Gladhorn
286c41c32f Accessibility Linux: Fix atspi getActions to return action name
[ChangeLog][Accessibility] On Linux action names were returned as empty
strings in AT-SPI getActions, now returns the proper names.

Change-Id: I75a469a0b8a5789cd54ce1b489ed5012654bb265
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2014-01-03 13:00:18 +01:00
Liang Qi
a79f8a3a67 Cocoa: fix single punctuation input via CJK input method
2d05d3bd28 was not correct.

On OS X, when user uses CJK input method, only types single punctuation,
it was converted to CJK ones, and not showed in composing text.

Task-number: QTBUG-35700
Change-Id: I919edb3f5165bf943c0d90d06a788a2f335bb1ba
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-01-03 13:00:18 +01:00
Ivan Komissarov
56ddf858f3 Add missed header to qfileselector.cpp.
Change-Id: I2fd6fb2ae1663730a008221f6beeef19a5307246
Reviewed-by: David Faure <david.faure@kdab.com>
2014-01-03 13:00:18 +01:00
Paul Olav Tvete
c6b285a79d Android: let fullscreen use entire screen
API level 19 (Android 4.4) introduces "immersive" mode which lets
the app use the entire screen.

Change-Id: I12f6aebaf1303cdc5b6bfb51944e895351fa2406
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-01-03 10:57:58 +01:00
Eskil Abrahamsen Blomfeldt
58326e8585 Android: Overwrite plugin cache when APK is updated
To allow updating APKs with new versions of Qt, we need
to delete the old cache when the APK is updated. This patch
does two things:

1. Move the plugins (and imports/qml) into a directory called
qt-reserved-files/ to better separate the cache from the rest
of the application. The first time the files are put here,
we will delete the old cache in <datadir>/plugins,
<datadir>/imports and <datadir>/qml if they exist to avoid
leaving old files around forever.

2. Add versioning to the cache and flush it every time the
APK is reinstalled. Potentially, the libraries in the APK
can change for every reinstall, so this is the safest
approach.

Task-number: QTBUG-35129
[ChangeLog][Android][QTBUG-35129] Update deployed plugins
and imports when APK is updated on the device.

Change-Id: Ie38b639db2cfba8a521acc875c4afd5e07df3efd
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-01-03 08:58:59 +01:00
Giuseppe D'Angelo
ad9554a7f2 Apply the fix stated in PCRE bug #1423
There is JIT misoptimization found during code refactoring that
affects PCRE 8.34 (the version currently bundled with Qt).

The upstream might not release a specific bugfix release before 8.35,
hence the patch has been manually applied.

Upstream issue: http://bugs.exim.org/show_bug.cgi?id=1423

Change-Id: I8dbbb2981bc037d39b30fcaded6894ee9820b8df
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-01-02 22:19:07 +01:00
BogDan Vatra
f9a47a6aa5 Android: Don't show ActionBar at startup.
Task-number: QTBUG-35151

Change-Id: Ie62e50032aaa647a86c4f03b1a3363e5ef6a1bbb
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-01-02 20:21:41 +01:00
Allan Sandfeld Jensen
d5d6e0cf99 RValue ref version of QPixmap::fromImage()
When converting from a temporary image we can use inplace conversion
since we don't have to worry about changes made to the original.

This should give a speedup in several places where QPixmaps are made
from
the return values of methods returning QImages.

Change-Id: I1835bcf3fc061c4dbbb3d0507ec84178dc49b29b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-01-02 18:40:11 +01:00
Jeff Tranter
2e8c3f7444 Fix some typos in documentation.
Fix some spelling and grammatical errors in comments that show up in Qt documentation. No changes to code.

Change-Id: I2e946fda0bd9a2117f8e9b2fb300df9bf0a98a6c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-01-02 17:21:09 +01:00
Simon Hausmann
c2e2e0151e Fix crashes when calling into qdbus interfaces from QML
The meta-call convention for reading properties differs between Qml and QDBus.
QML expects only to provide a pointer to the return value in args[0].  That is
also how the metacall was originally introduced in Qt 4. QDBus also expects
that the caller allocates a QVariant and provides a pointer to it in a[2], in
addition to a[1] being a pointer to an int that is used to report where the
return value can be found (in where a[0] points to or the variant in a[1]) -
this is useful to report errors when reading the property by clearing the
variant.

For performance reasons, QML avoids the creation of a QVariant when reading
properties. As however QDBus expects it, a crash occurs.

This patch changes the QDBus metacall implementation to not rely on the caller
to provide a QVariant.

Task-number: QTBUG-15052
Change-Id: I2f2c5b3ef2c1d93cc72eee1fa32a95d299a104c0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-01-02 16:15:10 +01:00
Frederik Gladhorn
97c1b2d32e Accessibility: Do not assert when a widget doesn't have a QAI
[ChangeLog][QtGui] Fixed crash when sending accessibility updates when
the corresponding widget does not have a corresponding
QAccessibleInterface. This showed on Mac for example with QStatusBar.

Task-number: QTBUG-35421
Change-Id: I94174e98e858b7a0122532ee5fcc8458a263bccd
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2014-01-02 11:33:06 +01:00
Allan Sandfeld Jensen
68974f31ff Extend multimedia keys
Extends the Qt keycodes with four missing keys, common on remote controls:
Guide, Info, Settings and Exit.

Change-Id: I6789f13dbb662da4261a3c947757644e12306dd9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2014-01-02 10:29:27 +01:00
Marcel Krems
6c4c2b752c Move struct declaration out of the union to avoid a compiler warning.
Clang 3.3+ warns about this being an extension:
qsqlerror.h:101: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]

Change-Id: I0350b977ff85558338b3b9db53d3fce7facb7635
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-12-31 22:27:07 +01:00
Marcel Krems
b276f4e5e8 Remove additional spaces from indentation.
Change-Id: I1f76ed4e2eff64dc133a1fd30a8dc5fd5eb4710e
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-12-31 22:26:27 +01:00
Topi Reinio
631c3dbc80 qdoc: Fix Q_PROPERTY parsing
When parsing Q_PROPERTY declarations, qdoc tries to always
read an associated value for each matched keyword. This
fails for property declarations including a CONSTANT or
FINAL, as they have no associated values.

This change fixes the above problem and makes the parsing
more robust by checking the return value of matchProperty()
and skipping to closing parenthesis in case of failure.

Task-number: QTBUG-35722
Change-Id: Ia483b8e74aeef19b2e761b21473cd4f765cdca19
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-12-31 20:37:46 +01:00
Andrew Knight
080096590b xcb platform: Fix build when both EGL and xcb-Xlib are used
Fix a multiple define when Qt is configured to use both EGL and xcb-Xlib.

Change-Id: I6fdb282f575842711b3b5d377bbdf3bc9909bf0c
Reviewed-by: Christoph Cullmann <cullmann@kde.org>
Reviewed-by: David Faure <david.faure@kdab.com>
2013-12-31 16:58:47 +01:00
Robin Burchell
82edcd4e12 Don't leak pending call objects when peer disconnects
Unlike in regular connection to DBus server, we don't get pending call
notifies when a peer drops the connection in peer-to-peer mode.

Thus, we need to keep track of pending calls in such cases and get rid of
them in ~QDBusConnectionPrivate().

Change-Id: I83e20db0bc7b2ebf509c7fdb1382ffc7d0ede9d3
Done-with: Kalle Vahlman <kalle.vahlman@movial.com>
Reviewed-by: Daniele E. Domenichelli <daniele.domenichelli@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-12-30 23:20:40 +01:00
Alan Alpert
56d141ae6b Improve QFileSelector doc
Mostly just adding proper tags and sections, as well as a few
grammatical fixes.

Change-Id: I219517d740fa7385e923a9e09cb7e241378fcbdd
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-12-30 20:47:16 +01:00
Kurt Pattyn
6b0e7f111c Windows platform plugin: Add missing case statement
Change-Id: I9b9fc6cf000b262277711374e0a2fe119328849e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-12-30 18:38:23 +01:00
Robin Burchell
5923196bc3 mtdev: Change to use configure detection instead of requiring source hacking.
This coincidentally fixes a case of accidental BIC in qevdevtouch_p.h, where not
all users would necessarily define USE_MTDEV: having it centralized inside Qt
makes this now, blessedly, impossible.

Change-Id: I196a8f21742830705759aa917a823afdc94ba2b5
Done-with: Michael Brasser <michael.brasser@jollamobile.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2013-12-30 16:51:23 +01:00
Kurt Pattyn
6aa2273223 Add SO_SNDBUF and SO_RCVBUF to socket options
Added functionality to set SO_SNDBUF and SO_RCVBUF
socket options on QAbstractSocket.

Task-number: QTBUG-34934
Change-Id: I2134fb462d43b9111c039cd7e7d36bd78eafd8bc
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-12-30 16:09:55 +01:00
Laszlo Agocs
e8d31d1b31 linuxfb: Make mouse cursor behavior match eglfs
On non-Android systems hideCursor should default to false, just
like it is done in eglfs. This is especially useful on udev-less
systems where currently one has to resort to setting
QT_QPA_FB_HIDECURSOR to "0" to enable the mouse cursor. This is
not ideal. Defaulting to showing the cursor unless disabled by
the environment variable or, in absence of that, the lack of a
mouse reported by udev is a better choice.

Change-Id: I7362ac47046179d5eb8ed8b44cf2c36c0fc23432
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2013-12-30 15:23:43 +01:00
Łukasz 'sil2100' Zemczak
d351f3a345 Make QKdeTheme constructor public, allowing for custom inheritance
Make QKdeTheme constructor public, allowing for custom inheritance by
other classes. The danger of making it public and not going through the
factory method are close to none, while other developers might want to
slightly enhance KDE-themed platform themes by themselves. Right now
the only choice is to copy-paste the whole code. QKdeTheme might be a
private class, but still it makes no sense to restrict derivation if
someone finds it necessary to do so.

Task-number: QTBUG-35566
Change-Id: Ia3488da71e7c06fe4b7dc6e275605970b435b00e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-12-30 14:36:16 +01:00
Robin Burchell
0336202749 Add mtdev configure test
Change-Id: If989b479ed4babf902099c54be59ae73512820d5
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2013-12-30 13:55:51 +01:00
Sze Howe Koh
d9b7d60df0 Doc: Polish Qt::ConnectionType descriptions
- Shorten Qt::AutoConnection description, rearrange to match the order
  of the subsequent rows.
- Note the thread used in Qt::DirectConnection
- "Emitter's thread" is ambiguous -- a signal is not necessarily
  emitted from the thread that the emitter lives in.
- Misusing Qt::BlockingQueuedConnection WILL (not "can") cause a
  deadlock. Qt even issues an error message before it freezes.
- Remove the \note command -- it breaks the table and displays the note
  in a new paragraph.

Change-Id: Ib60cb665e0cd23e1e072402ec5d8be344b8454f7
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2013-12-30 13:55:51 +01:00
Christoph Cullmann
fe4ebf1269 fix compile of qt without egl available
move the dpy to the place where it is used inside the egl ifdef guard
fixes compilation on old distros not having egl

Change-Id: I7eebe5305f3a584c0c5da2ea7b9099fdd994249d
Reviewed-by: David Faure <david.faure@kdab.com>
2013-12-30 12:24:08 +01:00
Shawn Rutledge
ecf11d62fc xcb: added env variables to show input devices and events
export QT_XCB_DEBUG_XINPUT_DEVICES=anything to show detected
input devices at startup
export QT_XCB_DEBUG_XINPUT=anything to log mouse, touch and tablet events

Change-Id: Id14844b68ad376740f82a36aab2c59c84d2017ab
Task-number: QTBUG-35583
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2013-12-30 10:56:29 +01:00
Thiago Macieira
5ee3d1e456 XCB: Don't recalculate the DPI if we have a forced DPI setting
logicalDpi() already has the logic to check m_forcedDpi, so let's reuse
it. I hope it's not a problem that we send a signal that it changed when
nothing changed.

[ChangeLog][Platform Specific Changes][X11 / XCB]Fixed a bug that caused
Qt applications to think the screen DPI had changed when it had not,
after connecting or disconnecting monitors.

Task-number: QTBUG-32683
Change-Id: I45dd27de5109e65e7599915f11cfdb633a65a67c
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-12-30 09:17:47 +01:00
Kurt Pattyn
48ecb2d434 Fix ‘looses precision’ warning in public API
Change-Id: I935e6f278e539f8e6aaca0bc381371ec85aa5c67
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-12-27 12:44:27 +01:00
Jan Arve Saether
f0cf47092e Don't translate a null rect.
This was probably because of some forgotten braces, since the
indentation seems to indicate that.
The current behavior might cause a null rect to become not null, which
might cause for QRect::isNull() to give a false positive.
Worst case it might case a program to crash (i.e. div by 0)

Change-Id: Iba49699880250e605b427ff4c1228c68a3471a2f
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-12-27 10:53:21 +01:00
Marc Mutz
2af6bf1a59 QImageReader: simplify _qt_BuiltInFormats
By construction of the _qt_BuiltInFormatType enum, the .type in
_qt_BuiltInFormats exactly equals its position. So there's no
need to store it explicitly.

Effects on Linux AMD64 GCC 4.9-trunk release stripped:
  text: -16B
  data: -64B
  relocs: +-0 (of course)

Change-Id: Ib68c32de42d264f27bbd8a863538dd78b1ba4507
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-12-25 20:54:14 +01:00
Roger Maclean
8a5c261954 QNX: Add support for BB10 text highlighting and spell checking
Adds the QPA side of the support for text highlighting during text
entry and for spell checking.  The changes are compatible with
existing Qt text controls though require more advanced ones to have
any effect.

QQnxInputContext has three colors it can now use for highlighting
text during composition to represent the active region, auto
corrected text and reverted text.  If any of these colors is invalid,
that form of highlighting is not used. By default, only the active
region color has a valid default which corresponds to the highlighting
capabilities of classes such as QQuickTextInput.  The QNX QPA native
interface has been augmented with the ability to get a function
pointer that can be used to set any or all of the three colors.  The
set of colors is reset to the default at any time that focus changes
to ensure appropriate behavior if there is a mix of controls.

It's worth noting that while the colors can be changed even when
used with one of the standard Qt text controls, the auto-correct
color will not show up since it is applied immediately before
committing the text.  Appropriate display of this highlighting
requires that the control maintain the highlighting for a period
after committing the text.

Spell checking is provided via another function accessible through
the QNX QPA native interface.  This takes a string and a callback
function to be called once spell checking is complete.

As a slightly unrelated change, toSpannableString now uses
toWCharArray to convert the QString to UTF-32 as required by IMF,
the previous code was invalid in the case of strings containing
UTF-16 surrogate pairs.

Removed some extraneous includes.

Change-Id: Ifdf3744d1990e0560d1923bca5db30953dea0192
Reviewed-by: Roger Maclean <rmaclean@qnx.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
2013-12-24 19:17:36 +01:00
Marc Mutz
432674d787 QWizard: Replace another pointer table with char arrays
Like in I53284066, the result of the SIGNALS() macro is handled in a switch
statement, while the other two character pointers in the struct are replaced
by character arrays of 'maximum occurring size'. If this looks wasteful, it
really isn't:

 Linux AMD64 GCC 4.9-pre stripped -O2 effects:
     text size: -280B
     data size: -160B
     relocs:     -21

When adding longer strings, compilers will warn, so this doesn't hurt
maintainability, either.

Change-Id: I5ac1cdffd8ac0ea0a1ede1ea4edcc6d3e22dcaa2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-12-24 15:33:19 +01:00
Marc Mutz
132e812556 QWizard: Replace a static char* table with a switch statement.
The usual way of concatenating the strings with NUL bytes and
recording the relative offset of each in a separate offset
table doesn't work here, because the entries are the results
of SLOT() and SIGNAL() macros, which might, in debug mode,
inject a runtime function call (to qFlagLocation()).

Linux AMD64 GCC 4.9-pre stripped -O2 effects:
 text size: +16B
 data size: -64B
 relocs:     -6

Change-Id: I532840668bb57ab72ef3fecb01a450c4c46516e9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-12-24 15:33:10 +01:00
Kurt Pattyn
a2131d6c2f Retain space setting
Change-Id: I4584de9ba51610907c917a0e0ddf5f6f28d304a0
Reviewed-by: David Faure <david.faure@kdab.com>
2013-12-24 13:21:56 +01:00
Frederik Gladhorn
954bb6c35f Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-12-24 10:25:50 +01:00
Simon Hausmann
2b287c7c21 Fix regression in property handling with enums from gadgets
When declaring a Q_PROPERTY(SomeType::SomeEnum foo ...) and SomeType is not a
QObject but a gadget, then we must still include SomeType's meta object in the
list of related meta objects.

Task-number: QTBUG-35657
Change-Id: I46195140cb5d180c4f03bb1fe06a876e3fe11267
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-12-24 08:10:16 +01:00
Jian Liang
8fcab70408 Avoid crash due to accessing deleted QWidgetWindow object
Change childWidget->windowHandle() to childWidget->internalWinId() in
q_createNativeChildrenAndSetParent() to determine whether should we call
childWidget->winId().
This is because in some circumstances Qt will crash due to accessing
deleted QWidgetWindow object if we use windowHandle(). Think about the
following scenario:

1) create a widget A without parent and add two child widgets B and C to A

2) create a native widget D as the child of B, note that when we set
Qt::WA_NativeWindow attribute to it, its QWidgetWindow will be created
which means its windowHandle() is not null.

3) create a top level widget E as the child of C and show it. This will
make Qt call createWinId() to A and then
q_createNativeChildrenAndSetParent() will be called to create A's native
children recursively and finally make D's QWidgetWindow object become a
child of A's QWidgetWindow object. Please note here that B will not become
a native widget just because at that moment windowHandle() of D is not
null and Qt will not call winId() to its parent B

4) Set A's parent to another widget which has been shown, setParent_sys()
will be called to A and then Qt will call destroy() to A. in destroy() Qt
will try to call destroy() to its children recursively with a condition that
the child has Qt::WA_NativeWindow been set. But D's parent B is not a native
widget right now so B and D is not destroyed. Qt will then deleted the
QWidgetWindow object of A, since E's QWidgetWindow object is a child of
A's QWidgetWindow object, it will also be deleted. Now E hold a deleted
pointer of QWidgetWindow object. This is the source of crash later.

Task-number: QTBUG-35600

Change-Id: I97a20a68e626ee62b15bb4eae580e26f8948923b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2013-12-24 02:56:41 +01:00
Frederik Gladhorn
f0fbff4c90 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I2defae1904154283446b069d151c3ef57302ec7b
2013-12-24 00:56:59 +01:00
Simon Hausmann
d776937df9 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-12-23 22:44:13 +01:00
Jorgen Lind
0e1ce36ae6 Make wayland-scanner install generated headers
QtWayland uses QtWaylandScanner to generate c++ files which will be
subclassed. This works ok in QtCompositor as it implements the pimple
pattern. However, QtWayland has to expose a library called
QtWaylandClient as a way to create specialized wayland plugins. These
classes don't promise an ABI, and has limited API guarantees, so they
subclass the classes generated by the QtWaylandScanner directly. For
this library to be possible, we have to install the generated files.
Also, it should be possible to use the private API, and that's not
possible without the generated files.

Change-Id: Id55200fe23652587390dabf84ca846e4f39cf70e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-12-23 21:14:34 +01:00
Marc Mutz
e14503d353 QTextDocument: avoid relocations
Hand-roll a string table here, since there's opportunity for
sharing string data between string entries.

Effects on Linux AMD64 GCC 4.9-trunk release stripped:
  text:   -88B
  data:   -64B
  relocs:  -5

Maintainability is hurt somewhat, but it is expected that the
contents of this string table do not change much, so the
overall effect is still very low.

Change-Id: I2a22da4c8548c53ef31c33319b4652f3cb6f62f5
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-12-23 19:37:41 +01:00
Thiago Macieira
883444f16b Ensure proper order of includes in qglobal.h
QAtomic will now depend on QTypeInfo, so shuffle the order to make
sure the includes are right.

The first set do not require anything but the macros from qglobal.h,
then qflags.h requires qtypeinfo.h and qtypetraits.h, qatomic.h
requires qtypeinfo.h and qglobalstatic.h requires qatomic.h.

Of those, only qatomic.h isn't in global/, so we could even consider
using "" includes, but I recall MSVC not honoring them correctly.

Change-Id: I76c150254a99cdea8857445bdebf2e724eaa76bd
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-12-23 15:20:16 +01:00
Thiago Macieira
154b539465 Move the SUBLIBS target from qmake away from between clean/distclean
Right now, the sublib targets, if any, show up between clean and
distclean targets. That's silly.

I doubt anyone is using sublib targets anyway, but...

Change-Id: I2beffc69f68fa7626ff4aa4a7cc1169b2c6c69a7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-12-23 15:20:13 +01:00
Shawn Rutledge
8fa6cb83c6 cocoa: avoid sending windowNotification to a non-QNSView
Then it's possible to embed native cocoa widgets without crashing.

Task-number: QTBUG-35629
Change-Id: Ic212c36178282b4d090c6ce0470012adc8e0c2bb
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-12-23 12:16:57 +01:00
Oswald Buddenhagen
443bdb5042 clean out some garbage in CONFIG
- thread was duplicated
- x86 & ppc are obsolete and don't actually do anything
- incremental was just plain nonsense (it does something entirely
  different, and it's better to hide this "feature" from public view)
- resources is basically an implementation detail (it's on by default if
  qtcore is used)

Change-Id: I9163af6e8db7988382ccf993d4be280f7faec1f2
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-12-22 22:42:55 +01:00