Commit Graph

15112 Commits

Author SHA1 Message Date
Laszlo Agocs
7e2b238c50 Add a WindowManagement capability to QPlatformIntegration
To be set to false by eglfs and similar platforms where no real window
management is provided.

When this capability is not set, some of the changes done for
QTBUG-26903 will be disabled, allowing dialogs to show up at their
QDialog-chosen place on platforms where no WM is present and so
windows are never repositioned by the system.

Change-Id: If1dac3cd11f2a856913a51277431fe3ec644b719
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-09-20 12:06:03 +02:00
Laszlo Agocs
d18ccbb5be Fix memory leaks in the FT font engine
The glyph returned by loadGlpyh() must be freed manually when caching
is not enabled (that is, QT_USE_FT_CACHE is not set).

This change and https://codereview.qt-project.org/#change,65672
together should stop QGLWidget::renderText() from leaking memory
extensively.

Task-number: QTBUG-32792
Change-Id: Iff7e1591a1ea994a97b6a56bc16c64bf544e6713
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-09-20 12:05:52 +02:00
Laszlo Agocs
31db0aec22 Fix a memory leak in QGLWidget::renderText
Task-number: QTBUG-32792
Change-Id: Ie9293a1919c1bdf13a5c357a8d2eac303a83d4d4
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-09-20 12:05:45 +02:00
Laszlo Agocs
f89f099c55 eglfs: Support multiple raster windows
Allow widget apps with popups and multiple top-level widgets to
function on the eglfs platform. GL and Quick2 apps are not affected.

Instead of trying to create a native window and EGL surface for each
window, do it only for the window that is created first. This first
window is forced to fullscreen as usual. Later windows however are
treated differently: These will not have a native window, surface or
context, and keep their normal size. All the textures belonging to the
raster windows are then rendered in one step, using a stacking order
maintained based on visibility changes and window activation.

Note that this will only help apps that create a main window first and
have everything else inside that window or on top of it as menus,
dialogs, popups, etc.

Change-Id: Ia435458ba81bf3c35cc8f61bcb2d2a50cf17f0e3
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-09-20 12:05:08 +02:00
Laszlo Agocs
cfd5284249 evdevtouch: Make TouchPointReleased working with certain drivers
The plugin failed to handle releases with protocol type A with some
drivers. There is no requirement to emit ABS_MT_TOUCH_MAJOR or
BTN_TOUCH to indicate a release. If the point is gone from the report,
it is a release as well.

Change-Id: I9527fbfb200fde3b160148e076357a29bf610427
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-09-20 12:04:13 +02:00
Paul Olav Tvete
61e0534aff Fix QGLWidget segfault on Android
...and other platforms that do not support WA_NativeWindow.

Task-number: QTBUG-33523
Change-Id: I4ab043e8b3c3369aec41b44275fb3099d90e55b4
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-09-20 12:04:08 +02:00
Gunnar Sletta
85708e7377 Revert "Fix Invalid Drawable error when using createWindowContainer on Mac."
This reverts commit 04325bdd26.

This change breaks qtdeclarative on Mac.

Change-Id: I77b121cc6b283cf7498e93e4b914d2fb68808ab6
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-09-20 12:04:06 +02:00
Simo Fält
13c03d3c28 Set tst_qfilesystemmodel as insiginificant
The test has been failing on all platforms. Usually it just times out,
but it also have behavied flaky, failing with different error codes
when executed twice in a row.

Task-number: QTBUG-29403
Change-Id: Ic06638f0ffd23131b4c1aa4136f715195727e959
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-09-20 12:04:03 +02:00
Laszlo Agocs
b0b912181e evdevtouch: Handle single-touch devices
Such touchscreens emit no MT events, only ABS_X and ABS_Y.

Change-Id: I7db3d2fbb948eadb23c659e45bbbc5017f1a4f9d
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-09-20 12:03:56 +02:00
Paul Olav Tvete
7805d39ca3 Fix android after Eglfs binary compatibility break
Change-Id: I95d98b475188b43f1e0946c7ad6fd2388839d619
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2013-09-20 12:03:43 +02:00
Gunnar Sletta
2e2289e1b5 Disable tst_QFileSystemWatcher
Task-number: QTBUG-33574

Change-Id: Ieed6b87f34964a902f339215d74c0184a27eb2a2
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-09-20 12:03:22 +02:00
Paul Olav Tvete
74d2249e37 Android: handle inverted orientations
Add logic to detect InvertedPortrait and InvertedLandscape orientations
and implement QPlatformScreen::nativeOrientation() for Android.

Task-number: QTBUG-32144

Change-Id: I294506714ea0faa9eacd7a15e1cfc45342659964
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2013-09-20 12:02:58 +02:00
Stephen Kelly
dd6b053b6c MetaType: de-inline the container iterables.
This means the *Iterables and corresponding const_iterators need
to be exported.

Change-Id: Ic93283616bda96e0d7752b0e881bf0230a5c2146
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-09-20 12:02:57 +02:00
Jan Arve Saether
229f931d6e Add support for baseline alignment
This is a prerequisite for baseline support in Qt Quick Layouts

Change-Id: I1f032106cd1e7248a7688b6b9ca59f062a596d49
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2013-09-20 11:58:44 +02:00
Sune Vuorela
e24f75af4d Implement QMainWindow::takeCentralWidget()
This allows the application developer to restructure the application,
including moving the central widget some place else.

Change-Id: Idca2f74c190500db24404e020b0eb400e41aad10
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2013-09-20 11:54:13 +02:00
Alan Alpert
938c838c10 Change QT_FILE_SELECTORS to be comma separated
It is not full paths being used, so switching to comma does not require
different environment variables per platform nor does it appear to be
platform dependent.

Change-Id: I219517d740fa7385e923a9e09cb7e241378f85ba
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: David Faure <david.faure@kdab.com>
2013-09-20 01:09:12 +02:00
Christian Strømme
9329f786da Android: Add private API for jni in QtCore
When interfacing with Java API's on Android we need to write code using
the Java Native Interface (JNI). Writing JNI code requires a lot of
boilerplate code to be written. This patch contains API's to minimize the
amount of work needed to write JNI code.

QJNIEnvironmentPrivate:
 On creation QJNIEnvironmentPrivate will attach the current running
 thread to the Java VM, and expose the java environment.

QJNIObjectPrivate:
 Wrapps around a Java class enabling the user to access the class from C++.

Change-Id: Ib633437ae36ff513d934292e9eeefcdd5b757d29
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-09-20 00:59:55 +02:00
Christian Strømme
ad4657f639 Android: Added JNI_OnLoad to QtCore
JNI_OnLoad is called for each library during the start-up of a Qt
application on Android. When the JNI_OnLoad is called we can get a
handle to the Java VM and necessary classes which enables us to access
Java API's in QtCore.

Change-Id: I64c1f1106cc0d5ab5a7bc9b22c752c09162fe813
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-09-20 00:59:16 +02:00
Martin Klapetek
a6f7ba0f8b Check if Print Properties dialog was shown before accessing it
Prevents a crash in case the user did not open
the properties dialog, in which case
QUnixPrintWidgetPrivate::propertiesDialog is null.

Change-Id: I43c8c6ab90053757835bbf41d6167204d42efcef
Reviewed-by: John Layt <jlayt@kde.org>
2013-09-20 00:50:36 +02:00
Martin Klapetek
00e50fb97c Expose more CUPS options via the 'Properties' dialog
On systems with CUPS support users can now choose how many pages from
a document are to be printed on paper. This can vary from 1 page per
document to 16 pages per document.

The page preview changes upon the users selection.

Also included in the patch is an option to choose the flow for text.
Users
can now print documents in the "Right to Left" order or "Bottom to Top",
including many other options.

[ChangeLog][QtPrintSupport][QPrintDialog] Added support for setting CUPS
Pages Per Sheet and Pages Per Sheet Layout options

Change-Id: I4e60a4523c6e06d4c15fe9ee9590248fa7ae2038
Reviewed-by: John Layt <jlayt@kde.org>
2013-09-20 00:50:04 +02:00
Mitch Curtis
438912f273 Revert 15da0a5af2.
It apparently breaks users' applications.

Task-number: QTBUG-33487

Change-Id: Iaeceb3a02b5c7b9ab839c14693aaffcdf9394bc6
Reviewed-by: John Layt <jlayt@kde.org>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-09-19 14:58:27 +02:00
Jan Arve Saether
89294d04e2 Specify valid values for QScrollArea::setAlignment()
Change-Id: If0c19d83d97fd218fc79f44421e16ca362964e8f
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-09-19 14:56:04 +02:00
Frederik Gladhorn
b449791c35 Make Accessibility public
There is no point in having QAccessible2, so merge it with the normal
QAccessible. The header will be removed in a subsequent commit as it is
still needed by declarative at this point in time.

Change-Id: I1fc47d484d482f25387eba827bc5a373536b7a8b
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-09-19 14:55:19 +02:00
Eskil Abrahamsen Blomfeldt
580d816bb8 Android: Add tokens for androiddeployqt in template files
Make it possible for the androiddeployqt tool to replace certain
parts of the template with data from the .pro file.

Task-number: QTBUG-32856
Change-Id: Iaedd2076bc1ea5dac0b94624c0ba3a755d2a08f3
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-09-19 14:50:42 +02:00
Eskil Abrahamsen Blomfeldt
a6f1123fe5 Add qmake generation of Android deployment settings
This outputs a json file with the necessary settings from qmake
so that an external build tool can easily get the settings without
having to parse the entire .pro source. Used by the androiddeployqt
tool.

Task-number: QTBUG-32856
Change-Id: I5d3ac0ab6a0350162d06b0a0bf0c9bcbd90d8b5a
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-09-19 14:50:36 +02:00
Stephen Kelly
4c83183e71 MetaType: Add assignment operator to the container iterators.
Change-Id: Ib4f2197a0ab6bd41c91de667cd3087fb40e44097
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-09-19 09:05:56 +02:00
Andrew Knight
09f9c6e1b9 Don't automatically create a platform window on content orientation change
The platform window creation is policy is such that native resources are
created only when necessary. Since QWindow already tracks
contentOrientation, there is no reason to implicitly create a platform
window when a content orientation change is reported. This makes
content orientation follow the same convention used by windowState.

Change-Id: Ic9920360791e3e5b2abbc36df631a3e53931835b
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-09-19 08:53:44 +02:00
Andrew Knight
1a334f8135 ANGLE: Update to version 2446
Update ANGLE and reapply patches.

Patch changes:
"Dynamically resolve functions of dwmapi.dll"
  Removed; ANGLE no longer uses DWM API
"Make it possible to link ANGLE statically for single-thread use"
  Avoid name collision by using ANGLE-style getCurrent()
"Fix build when SSE2 is not available."
  Added guard for __cpuid(), which is not available on ARM
"Make DX9/DX11 mutually exclusive"
  Adjustments due to underlying code changes
"ANGLE: Avoid memory copies on buffers when data is null"
  Removed; fixed upstream
"Add missing intrin.h include for __cpuid"
  Removed; fixed upstream

Change-Id: I4f3d850fc555d3194ddc05e0b51c4966d33f7eaf
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-09-19 08:53:35 +02:00
Martin Smith
d84ed9a92a qdoc: Documentation for property groups is back
This bug was marked fixed and closed, but I'm not sure
it was ever completely fixed. The qdoc commands for QML
property groups were not being processed, so although
the property group and its sub-properties appeared on
the page, the documentation text for the property
group and its properties was never written to the HTML
file. This has been corrected with this update.

Task-number: QTBUG-32341
Change-Id: I5b33ab512a53456379c52236496fb7bc74850842
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-09-18 11:28:28 +02:00
Fabian Bumberger
aed9a8d49b Split QQnxWindow into QQnxEglWindow and QQnxRasterWindow
Change-Id: I2fb4096ccca54fa6631aa16c9b8d1308b0a6b918
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
2013-09-18 11:28:26 +02:00
Jan Arve Saether
e39d629ebe Include hidden headers in trees and tables consistently
There was a disagreement between the a11y plugin and QTreeView
whether the horizontal header should have been exposed or not.
When the header was hidden, this resulted in that we sent an event
with a child id that was wrong, or in worst case higher than
QAI::childrenCount(). This was the reason we got the warning
output as described in the task.

With this commit, we consistently *expose* hidden headers both for
QTreeView and QTableView, but ensure that their state().invisible is
set to true instead.
This makes it consistent with how hidden cells are exposed.

This also fixes a bug in QTableViewPrivate::accessibleTable2Index
where we always added 1 to the index, which was spotted while
writing the test.

Task-number:  QTBUG-33247

Change-Id: Ifd1f83d56296dd071424fdb81fce7628bc24fe0a
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-09-18 11:28:22 +02:00
Scott Deboy
af61b7312e Resolve error caused by server-initiated TLS renegotiation
Updating the SSL_write code to correctly handle
SSL_ERROR_WANT_WRITE and SSL_ERROR_WANT_READ, which are not actual errors.

Change-Id: Icd7369b438ef402bf438c3fcc64514a1f9f45452
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-09-17 23:13:05 +02:00
Kamil Trzcinski
898b8d05c5 qmake: added WMAppManifest generation for winphone target
Platform specific qmakespec needs to enable: autogen_wmappmanifest and winphone. Manifest will be generated once and only for the application template.

The Manifest will generated from following variables:
* PRODUCTID - the GUID (application specific)
* PUBLISHERID - GUID (publisher specific)
* TARGET - short application name (executable)
* AUTHOR
* PUBLISHER
* DESCRIPTION - application description

Change-Id: I225c24dc256c57451775e37658080e88b842a7d8
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-09-17 23:09:24 +02:00
Laszlo Agocs
ff7b57bbb9 Use egl.prf in xcb instead of hardcoding -lEGL
Task-number: QTBUG-33494
Change-Id: I55df1acdf2c95f66a93890b4b30f14a52bee6684
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-09-17 14:57:12 +02:00
Laszlo Agocs
ba20945c0f eglfs: Do not leak the QOpenGLShaderProgram instance
Change-Id: Ia0691b99d57986328b9dd81e527ea4f402d7bc5b
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-09-17 14:57:08 +02:00
Laszlo Agocs
2b20ed5af4 eglfs: Sanitize the X11 hooks
Replace all xlib calls with xcb equivalents, leaving only the
absolutely required xlib calls. Handle WM_DELETE_WINDOW so that
closing the window exits the app as expected. Finally, introduce
EGLFS_X11_FULLSCREEN to enable requesting a fullscreen native window.

Change-Id: I8c46ae832d38549ec7d673592f400a4f34bf4314
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-09-17 14:57:03 +02:00
Martin Gräßlin
9c3b79200b Export x11 screen of the QXcbConnection to the native interface
With XCB a client cannot retrieve the information on which X screen it
is running. This information is only available when opening the xcb
connection. As this is done by Qt no application is able to retrieve
this information. By exporting the x11 screen we can provide this
information again in QtX11Extras.

Change-Id: I50f1d3e803dc7e3afac0e5c7f1648ccda4502e7c
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-09-17 14:35:59 +02:00
Martin Klapetek
75ffb131ed Add CUPS Page Set options to print support
Adds combobox to select CUPS Page Set option (even/odd pages) into the
Unix print dialog

[ChangeLog][QtPrintSupport][QPrintDialog] Added support for setting CUPS
Page Set (even/odd pages only) in the print dialog.

Change-Id: I27dd846f58c164039fe2759064aafdf726a1287e
Reviewed-by: John Layt <jlayt@kde.org>
2013-09-17 14:24:48 +02:00
Stephen Kelly
f098148ebc Fix extension of static plugins
Change-Id: I2656746cbc93a0912bb844fab7d466da39997867
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-09-17 14:05:34 +02:00
Stephen Kelly
39baade304 MetaType: Fix memory leak of QAtomicInt.
Change-Id: I04c87c4caeb96c820c4d332a803cb2824fea5891
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-09-17 14:05:21 +02:00
Stephen Kelly
2af188c6d0 MetaType: Fix operator{++,--}(int) with the type-erased const_iterators.
Similar to commit 8b062418 (MetaType: Fix operator{+,-}(int)
with the type-erased const_iterators., 2013-09-11), explicitly
create a copy of the iterator and intialise it.

Change-Id: I8b9edef40ca00c826f72768cba4a0992e55371f8
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-09-17 14:05:01 +02:00
Marc Mutz
bcb68461c9 QMap: don't dereference nullptr II
root(), leftNode() and rightNode() can be nullptr.
These pieces of code happened to work because the first thing lowerBound()
does is

   Node *n = this;
   // ...
   while (n)
     // ...

But that is _after_ dereferencing nullptr, which is undefined behavior.

So, check first, then deref.

This is the completion of I9137bf6e21014cd68404a7e49a748910b1d768cf:
all uses of root(), leftNode() and rightNode() have now been manually checked.

Change-Id: I3fcb958af9362104f94d6eea9c62da2ae07f1d5e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-17 09:31:35 +02:00
Marc Mutz
250190b39b QMap: don't dereference nullptr
root(), leftNode() and rightNode() can be nullptr.
These pieces of code happened to work because the first thing lowerBound()
does is

   Node *n = this;
   // ...
   while (n)
     // ...

But that is _after_ dereferencing nullptr, which is undefined behavior.

So, check first, then deref.

Change-Id: I9137bf6e21014cd68404a7e49a748910b1d768cf
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-17 09:31:25 +02:00
Kai Koehne
bc9c03a550 Remove mentioning of 5.0 Alpha from QPA Readme
While at it, I hope that qplatformtheme API's are stable
by now :)

Change-Id: I83bf3118c91608710bb19380458e8f55cb3d427b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-09-17 09:31:19 +02:00
Kai Koehne
03951bd3ff Fix name of argument in documentation
Change-Id: Ia137f75865390f4bbabd65c75ba81ac4bba93eba
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-09-17 09:30:54 +02:00
Thiago Macieira
cfa5c1698d Fix the C++11 and GCC-atomic intrinsics when not using GCC
Both Clang and ICC complain about the use of those atomics when used
with a forward-declared pointee. GCC doesn't, which makes me think
it's a GCC bug.

When using QBasicAtomicPointer<Foo> with these atomics, the _q_value
member causes the instantiation of QAtomicOps<Foo>, which causes the
instantiation of the regular member function
QAtomicOps<Foo>::fetchAndAddRelaxed. The problem is that function
takes a QAtomicAdditiveType<Foo>::AdditiveT as parameter, which
requires sizeof(Foo). Clang 3.3 and ICC 14 correctly expand and
complain. GCC 4.7-4.9 apparently don't.

The fix is to apply the same trick we used for the other atomics:
change all ops functions (including fetchAndAddRelaxed) to be member
templates. That way, they can't be expanded until the actual use.

Clang errors:
qgenericatomic.h:73:33: error: invalid application of 'sizeof' to an incomplete type 'QMutexData'
qatomic_gcc.h:136:48: note: in instantiation of template class 'QAtomicAdditiveType<QMutexData *>' requested here
qbasicatomic.h:272:22: note: in instantiation of template class 'QAtomicOps<QMutexData *>' requested here

ICC errors:
qgenericatomic.h(73): error: incomplete type is not allowed
    detected during:
      instantiation of class "QAtomicAdditiveType<T *> [with T=QMutexData]" at line 111 of "qatomic_cxx11.h"
      instantiation of class "QAtomicOps<T> [with T=QMutexData *]" at line 272 of "qbasicatomic.h"

Found-by: Tor Arne
Change-Id: I9b10648cd47109a943b34a4c9926d77cd0c4fe12
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-09-17 03:07:09 +02:00
Thiago Macieira
a33d9351a8 Remove useless code setting but not using variables
Clang 3.3 found a variable assigned to itself, probably to cause
GCC to shut up about a variable set-but-unused. So simply stop
assigning the value at all to this variable.

qxcbxsettings.cpp:155:16: error: explicitly assigning a variable of type 'uint' (aka 'unsigned int') to itself [-Werror,-Wself-assign]

Change-Id: I74ae8f724e87c1b3f6b9d358e13d6a440ff4a3e1
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-09-17 02:57:08 +02:00
Dario Freddi
90005fae17 qeglfshooksrpi: update vc_dispmanx_element_change_attributes
Remove the extern prototype as it's now defined in latest
firmware headers correctly. Moreover, the signature of the function
changed. This patch fixes both issues.

Change-Id: I0114b436dbaf5a171e6429a1e3760e292c7152cf
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-09-16 23:46:39 +02:00
Dario Freddi
76b06f993e QObject: allow connecting to functors with a receiver object
Up to now, it was only possible to connect to functors in a direct
way, without being capable of using Qt::ConnectionType. This patch
allows for specifying a receiver for Functors and function
pointers, hence making it possible to specify effectively the
connection type.

To do this properly, it was needed to add an enum in FunctionPointer
representing whether the considered function is a member function
or not, to reduce ambiguity upon overloaded calls.

Moreover, now senders are checked for the existence of a slot obj
as well. This way, should the context be freed, the slot obj and
the functor contained in it will be freed as well.

On a side note, connecting to a static slot
(like QCoreApplication::quit) specifying the receiver object is
now compiling.

Change-Id: I46474099413b1dc6ca4db9934191d469baeef070
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-09-16 23:46:30 +02:00
Tor Arne Vestbø
ae577e6b8f Don't use ARMv5/6/7 atomics on 64-bit ARM, as they are AArch32 specific
Change-Id: I0c359e62a8cbf560691019187f316561bddbee52
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-16 23:19:26 +02:00