Commit Graph

3197 Commits (c26d5cf6ef50ea102cfb18eb2109f60bcdfdafb6)

Author SHA1 Message Date
Frederik Gladhorn f01c5cdb8d Update copyright to 2014 for accessibility
Change-Id: I4210456122bf8a6d3730f017f3ce6dd1a1bcb3f5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-07-04 08:59:21 +02:00
Frederik Gladhorn 3066cb37a9 Accessibility Windows: Add shortcuts to name
Under windows it is customary to add the shortcut (e.g. Ctrl+O) to the
accessible name.

Task-number: QTBUG-38915
Change-Id: Ib79f8624346a1d9d08381e815383ddcdda2d0488
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-07-04 08:58:59 +02:00
Frederik Gladhorn 39a290af6c Merge remote-tracking branch 'origin/5.3' into dev
Conflicts:
	src/gui/accessible/qaccessiblecache_mac.mm
	src/gui/accessible/qaccessiblecache_p.h
	src/plugins/platforms/cocoa/qcocoaaccessibilityelement.h
	src/plugins/platforms/cocoa/qcocoawindow.h
	src/plugins/platforms/cocoa/qcocoawindow.mm
	src/widgets/kernel/qwidget_qpa.cpp

Manually moved change in qwidget_qpa.cpp to qwidget.cpp
    (cd07830e3b)

Change-Id: Ia51f471f9b53de2f3b07d77ea89db9303ac8961d
2014-07-03 23:56:45 +02:00
Friedemann Kleint 9150563940 Windows clipboard: Deny CF_DIB support for images with alpha.
Support CF_DIBV5 for these images so that transparency is preserved.

Task-number: QTBUG-11463
Change-Id: I51881ae8bfbd05b92abd309766f4da9a7ea26c2d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-07-03 22:43:17 +02:00
Alessandro Portale 7de95ede1b Windows: Add non-standard mouse cursors
Windows does not provide SplitVCursor, SplitHCursor,
OpenHandCursor, ClosedHandCursor, DragCopyCursor,
DragMoveCursor, DragLinkCursor.

This change adds those mouse cursors mimicking the look
of the standard Aero cursors. 32px, 48px and 64px for
each one.

For WinCE or if Qt is configured without png support, the
behavior should not be changed by this patch.

Task-number: QTBUG-38993
Change-Id: Ic0f739d7c5031168b7d105b4d41271a9359d0728
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-07-03 09:33:38 +02:00
Maarten Lankhorst 19d289ab1b Listen to touch events on the master device instead of slave.
Listening to touch events on the master prevents pointer emulation
events from being generated, alleviating the need to grab.

Grabbing on the slave device is buggy, and breaks pointer emulation
on all current servers that support XInput 2.2 due to a bug in the
server, and will also grab unwanted touch events.

For reference, see https://bugs.freedesktop.org/show_bug.cgi?id=78345

Reverts 2c65b78b40.  The idea of
enabling each touchscreen separately was introduced in
4dbf574b7acb7ae8f852219700afa95f8d568f0e; that aspect is also
reverted.

Change-Id: I30d36397aa4ff2fb7a8ad2bbb94c2a13abd472b4
Task-number: QTBUG-38625
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-07-02 13:55:42 +02:00
Morten Johan Sørvig cd07830e3b Cocoa: Handle Qt::WA_ShowWithoutActivating
Forward the flag to QWindow by setting the _q_showWithoutActivating
property on the window in QWidgetPrivate::create_sys().

Implement by refusing to become the key window
or first responder during QCocoaWindow::setVisible().

Task-number: QTBUG-19194
Change-Id: I8446927ec510d7226a5a7b51b7be49d2f9bfd098
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-07-02 12:56:32 +02:00
Morten Johan Sørvig 3c982a6384 Cocoa: Handle Qt::WindowDoesNotAcceptFocus
Make windows with the Qt::WindowDoesNotAcceptFocus
flag refuse to become the key window.

This is in addition to the existing refusal to become
the first responder in QNSView. Refactor the common
test into a new function:
bool shouldRefuseKeyWindowAndFirstResponder()

Task-number: QTBUG-32385
Change-Id: I31021b5d8895a17c48f94f3691e6590c90b68627
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-07-02 12:56:24 +02:00
Tim Blechmann 4f155b0535 Cocoa: Fix Qt-in-namespace build.
Wrap cocoa classes in namespace macros.

Task-number: QTBUG-39382
Change-Id: Id840e666105afca21760fcb529b5765e0a534120
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-07-02 12:56:06 +02:00
Morten Johan Sørvig 62f1aa7ca7 Cocoa: Separate framestrut and normal button state
Frame strut button state can get out of sync due to
missing calls to handleFrameStrutMouseEvent, typically
when a mouse down is sent but the mouse up isn't.

There is no reason this should interfere with normal
button state: Add m_frameStrutButtons for tracking
the frame strut button state.

Change-Id: Ia21700af94fe000c73088b7657237372f3a04bf8
Task-number: QTBUG-39810
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-07-02 12:55:55 +02:00
Shawn Rutledge 90053954b8 OS X: when opening a URL via QFileOpenEvent, pass as QUrl
Opening a file from Finder and opening a URL from the browser are two
different operations, and the URL might not be a local file.

Task-number: QTBUG-39972
Change-Id: I467dfef7efe8eb88c922410db16137e135bc8133
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-07-02 10:52:26 +02:00
Bernd Weimer 375b52f20f QNX: Override QPlatformScreen::topLevelAt
Implemented QQnxScreen::topLevelAt method, as base implementation
returned wrong results. This fixes "tst_qwidget widgetAt" for instance.
Removed related method, that is not used at all.

Change-Id: I25c4f474cb0d661e5e5cdcdd0ab13d670fd4dc37
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2014-07-02 10:29:33 +02:00
Tasuku Suzuki 5250e4f157 xcb: make sure to update window title when it is changed
Task-number: QTBUG-33775
Change-Id: Ibe346c4304532d031bfa1c9b4d73cd02d1e5a64f
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-07-02 09:50:30 +02:00
Andreas Holzammer 23961aa54c WINCE: Fix grabWindow
BitBlt does not support CAPTUREBLT under
Windows Embedded compact. It was before defined to
the value it would have for a desktop Windows,
but as it looks if the bit gets set for Windows
Embedded Compact he does not do the right thing
anymore. So lets define it to 0 so that we dont
do any harm.

Change-Id: I447ebcd90eb9ae7c64f931aa8859b83794f201a0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com>
2014-07-02 09:12:12 +02:00
Timur Pocheptsov 1529a3df95 Empty icons and Cocoa menu items.
Clear menu item's image if QImage is empty (isNull).

Task-number: QTBUG-39557
Change-Id: I8145b67342b0361da2bb945070603cc182202b71
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-07-02 09:09:03 +02:00
Jan Arve Saether b31c9d8c03 Accessibility OS X: Publish synthetic increase and decrease actions
Increase and decrease actions can be generally applied to any value
interface. We therefore make them available regardless of the
existence of any action interface.

Change-Id: If5916c7cfd79812e2139e882a397ac1e040aca78
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2014-07-01 19:01:36 +02:00
Frederik Gladhorn e6a94778d0 Merge "Merge remote-tracking branch 'origin/5.3' into dev" into refs/staging/dev 2014-07-01 18:41:14 +02:00
Frederik Gladhorn 0272ce6417 Accessibility Windows: Do not assert on invalid indexInParent
We try to but don't always guarantee a valid hierarchy, having
applications crash because of this is not a good idea.
The assert currently triggers when showing message boxes.
Fix for the message box case is in progress but this may happen in other
situations.

Change-Id: I6f82b23c8abfcb7f91ecde0584f0e01bd8216ca1
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
2014-07-01 17:21:20 +02:00
Frederik Gladhorn a09a8d509a Merge remote-tracking branch 'origin/5.3' into dev
Conflicts:
	mkspecs/qnx-x86-qcc/qplatformdefs.h
	src/corelib/global/qglobal.h
	src/network/socket/qnativesocketengine_winrt.cpp
	src/plugins/platforms/android/androidjniaccessibility.cpp
	src/plugins/platforms/windows/qwindowswindow.cpp

Manually adjusted:
	mkspecs/qnx-armle-v7-qcc/qplatformdefs.h
	to include 9ce697f2d5

Thanks goes to Sergio for the qnx mkspecs adjustments.

Change-Id: I53b1fd6bc5bc884e5ee2c2b84975f58171a1cb8e
2014-07-01 16:25:19 +02:00
Friedemann Kleint e4becdc3d3 Move deletion of the QDrag object into QDragManager::drag().
The QDrag objects were apparently leaking on all platforms
other than XCB.

Task-number: QTBUG-39651
Change-Id: I09efcd250c1f42eb385e9d5779be7af6b9b59376
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
2014-07-01 14:08:09 +02:00
Christian Strømme 8f96ce3733 Android: Fix namespace usage
This change makes it possible to set a Qt namespace for Android builds.

Change-Id: I79f4ae8200223f36f97e2849aae49e45b8850d23
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-06-30 16:58:43 +02:00
Sergio Martins a12ba31616 OS X: Fix build with QT_NO_OPENGL
Task-number: QTBUG-31151
Change-Id: I7ed8117ae05ba0eebaf85731c7fdd2bb51d6ed04
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-06-30 10:01:13 +02:00
Friedemann Kleint 40f5a4d5f8 Windows: Fix setting of geometries in minimized state.
Use SetWindowPlacement() to set the normal position when applicable
as is done in Qt 4.

Task-number: QTBUG-39544
Change-Id: Ia158b968ea15361d9937619f07b56eb8a0312a13
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-06-27 11:29:44 +02:00
Andy Shaw afd6313755 Set fallback for QFont::System to be MS Sans Serif and not Arial
The system font for Windows should be MS Sans Serif which is what Qt 4 was
using and not Arial.

Change-Id: If3ed55bce87f6376b2897f1fc487bbc0627d1799
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
2014-06-26 10:41:59 +02:00
Andrew Knight 50001dc801 winrt: Clean up QWinRTScreen
- Remove WP8.0 code paths
- Remove WinRT types from header as much as possible
- Use ComPtr where appropriate
- Use COM convenience methods

Task-number: QTBUG-38115
Change-Id: Ib241c3e5107add255a48340f86ee5885f895ff83
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-06-25 16:34:32 +02:00
Andrew Knight b740e27e36 winrt: Clean up QWinRTServices
- Remove WinRT types from the header
- Use ComPtr everywhere
- Use convenience methods for HRESULT and async operations

Task-number: QTBUG-38115
Change-Id: I540a3349612b98c45545c92b2cb6d21a34918b8f
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-06-25 16:34:23 +02:00
Andrew Knight 5e32bfa3e2 winrt: Clean up QWinRTCursor
- Remove WinRT types from the header
- Remove WP8.0 code paths
- Use convenience methods for HRESULT handling

Task-number: QTBUG-38115
Change-Id: I05e77d75a7975a783d0f0714e6bab014231a406c
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-06-25 16:34:18 +02:00
Laszlo Agocs 7fa584254c Support translucent windows on eglfs
Task-number: QTBUG-39834
Change-Id: I3f6b041c992365d611aa97a41bc37e80b764b78a
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-06-25 16:24:15 +02:00
Gatis Paeglis 51d6df1d18 Translate Super/Hyper keys to MetaModifier
This is how it was done in Qt4. If users are interested
in an actual X11 keysym they can use QKeyEvent::nativeVirtualKey().

Change-Id: I710664e48c5db1633a357aa0a5d238f3453103ab
Task-number: QTBUG-38428
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Sebastian Kügler <sebas@kde.org>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-06-25 13:24:01 +02:00
Laszlo Agocs 27dc07fa05 Support adapting an existing NSOpenGLContext in cocoa
Change-Id: I61b4055020c82dd5ac40850fe7def91d26ffb6fe
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-06-25 12:39:07 +02:00
Eike Ziller 432aaf05da Cocoa: Do mouse move and cursor update handling separate from view
We are using tracking areas for mouse move, enter/leave and cursor
update events, so we should keep handling of that out of the
"normal" event chain.

If we handle mouse moved events in the views' mouseMoved method,
we need to pass the event up the responder chain if we didn't handle it,
or we would break for example hover behavior in native WebViews,
because these do not handle mouse moved events directly in their
mouseMoved:, but only if the event wasn't handled otherwise
(arguably a bug in Web(HTML)View).
But passing the event up the responder chain is not good either, because
the QNSViews in the parent hierarchy get the event from their tracking
areas already.

Change-Id: I636a84ab1b7ef73070f81a8e33b5fa734ff4a42c
Task-number: QTBUG-26593
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-06-24 09:35:56 +02:00
Dyami Caliri 83ecf1e97d Cocoa: cleanup modal sessions for dialogs not run with .exec()
For modal dialogs not run through QDialog.exec(), the modal sessions
were not cleaned up, causing the application's menus to be inaccessible.

Task-number: QTBUG-37699
Change-Id: I2704c23fec8989aa2e8ddcc3d5e3f21bb6c5db73
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-06-23 14:26:38 +02:00
Liang Qi ebc729b3c3 Cocoa: fix Option + any key in key event
Unmodified key code should be used.

Task-number: QTBUG-33200
Change-Id: I9cf91030e80336772c05a40efae52f3b8734cbdb
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-06-21 15:22:15 +02:00
Thiago Macieira 173412f047 Fix compilation with /Zc:strictStrings
You can't assign a wide-character literal to a non-const wchar_t*.

Change-Id: I3ec8d4064f8e901bb1c6ff14cdf41550b04c593d
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2014-06-20 21:20:47 +02:00
Jan Arve Saether f360dc9297 Windows a11y: Publish synthetic increase and decrease actions
Increase and decrease actions can be generally applied to any value
interface. We therefore make them available regardless of the
existence of any action interface.

Change-Id: I82ba01965dc869439b9d741ce681e0c0687263ca
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2014-06-20 17:20:32 +02:00
Jan Arve Saether a14aff64a1 Accessibility: Add actions for value interfaces
To support increment / decrement of sliders, dials and spin boxes.
(anything with an {in,de}crementAction or a valueInterface.

Other platforms will follow the same pattern in follow-up patches.

Task-number: QTBUG-38832
Change-Id: Ie570acc39b3d9494a8bb9f624b61a398b1d8de89
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2014-06-20 17:20:13 +02:00
Joni Poikelin e98c461d43 XCB: Fix leak with touch devices
Task-number: QTBUG-39596
Change-Id: I4225d5a1ab4939280640b35d30c283f056a56519
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-06-20 15:56:08 +02:00
Martin Gräßlin 075c36e39b Do not overwrite existing event mask of root window
QXcbScreen installs its own event mask on the screen's root window.
This overwrites any existing event mask already set and by that
breaks applications when a new screen is added.

By first fetching the existing event mask and adding it to the newly
installed event mask, Qt does no longer break applications also
installing an event mask on the root window.

Task-number: QTBUG-39648
Change-Id: I8686dd6ae49d0e807c6fe1ea4a231ff728bfcf25
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
2014-06-20 11:25:24 +02:00
Jędrzej Nowacki 7e62b10cc1 Remove unused define XCB_USE_IBUS.
Change-Id: Ife95a822ed24b29e9bff0612cd0dc265192c49d8
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-06-19 17:25:22 +02:00
Friedemann Kleint 54a2206bba Windows: Mark only mouse events synthesized by touch as such.
Pass on mouse events from pen.

Task-number: QTBUG-39353
Change-Id: I96c4e023ddb1c853d5228d00aa9604941556abb4
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-06-19 17:22:52 +02:00
Bjoern Breitmeyer 863a8bfab5 Fixes QFontDataBase addApplicationFont on WEC.
AddFontResourceExW was not implemented yet.

Change-Id: Iffa3e49bdbb0176c10324ede6161fcf8b2a63902
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-06-19 17:02:34 +02:00
Sergio Ahumada 753be5af04 Merge remote-tracking branch 'origin/stable' into 5.3
Change-Id: Ibf1b8a03c5153895ec03af5844c0b6addc4a0aa0
2014-06-17 13:34:43 +02:00
Shawn Rutledge 4038f21dd0 xcb: touch device mode is either Dependent or Direct, not Rel or Abs
Change-Id: Ic0091007c95c4c307485bc2d5d3e1e967b44323e
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-06-16 14:13:24 +02:00
Lucile Quirion 59d6871ae3 directfb: fix QThread destroyed while running
Commit cf092abdfc introduces a virtual
"void initialize()" in QPlatformIntegration class.

"void initialize()" was already implemented in QDirectFbIntegration
since commit 6534898cc6 allowing
initialization steps to be overridden by QDirectFbIntegrationEGL.

Therefore the QScopePointer "m_input" handling a QThread is reset twice.
The QThread firstly created is forcibly terminated. The application
displays the error message "QThread: Destroyed while thread is still
running" and sometimes crash with a SIGSEGV.

This commit rename QDirectFbIntegration::initialize() into
QDirectFbIntegration::connectToDirectFb() to fix this issue.

Task-number: QTBUG-38710
Change-Id: I3ca07c373af7c47abf08da2b45bbcf7a6cf573ad
Reviewed-by: Holger Freyther <holger+qt@freyther.de>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-06-16 13:25:53 +02:00
Martin Gräßlin a461bb1ff5 Flush xcb connection before EventDispatcher is going to block
The non-threaded QXcbEventReader invokes processXcbEvents when the
EventDispatcher is about to block. This method ensures that the xcb
connection is going to flush. Applications can use low level xcb code
in that case without having to ensure to flush the connection before
going to block again.

With the threaded QXcbEventReader this didn't work and applications
which for example changed a window property and waited for the matching
property notify event were stalled.

This change ensures that also in the threaded case the connection gets
flushed when the EventDispatcher is going to block.

Change-Id: If1dc5eb96e2f1bde10b7a40af550b0608c62f70c
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-06-16 09:31:46 +02:00
BogDan Vatra 66bd87e5c6 Android: REG: Fix crash.
Test if the window has a handle before using it.

Change-Id: I728a129722f8ecd021998d483530a8d1687e5fe3
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-06-15 05:54:11 +02:00
Sergio Ahumada 5721c0811a Merge remote-tracking branch 'origin/stable' into 5.3
Change-Id: Icd073d40ce10ab4733b997036815795dd3fbaac1
2014-06-14 18:11:52 +02:00
Eskil Abrahamsen Blomfeldt fb3f47b638 Android: Report something sensible for screen geometry
We can't get the actual screen geometry on Android, but in Qt 5.3.0
we would always return the screen geometry minus the size of the
status bar. After the available geometry was initialized to 0x0
instead of this arbitrary value, some applications that depended
on this as a constant value would break if they collected the
information before the window surface had been initialized and they
forgot to listen to QScreen::geometryChanged().

To reduce the risk of regressions, this patch makes sure we return
the same thing as before for the screen geometry and that this is
not linked directly to the available screen geometry.

Task-number: QTBUG-39464
Change-Id: Ie63337b3b10d2eb5130e4fece6c5b144e8230164
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2014-06-13 21:54:02 +02:00
Friedemann Kleint bc96954aef Windows: Expose helper functions for QWindowsMime to the native interface.
Enable QWindowsMimeConverter to use external mime handlers which it
does not own.

Task-number: QTBUG-39559
Change-Id: Ife6607dffd9571fa4aa12fffdc61b42662182b0a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-06-13 16:01:42 +02:00
Allan Sandfeld Jensen da5dea807f Support hotplugging of input devices with XInput2
Since we only scan for XInput2 devices on application start, we will
currently miss any devices plugged in while the application is running.

This patch makes QXcbConnection listen for XInput2 hierachyChanged
events and use them to trigger a rescan of XInput2 devices.

This fixes a regression in Qt 5.3, where the scroll wheel on hot-
plugged mice does not work until the Qt application is restarted.

Change-Id: I2cdc7ca24d3ab00716cedc4b22355b6e4935b184
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-06-12 14:35:23 +02:00
Sérgio Martins dbe6db192a Windows: Fix maximizing frameless windows on secondary screens.
They would either disappear or be positioned at bogus coordinates.

The MINMAXINFO structure works with coords from the primary screen
then uses an "interesting" algorithm to adjust to secondary screen:

Say you have a primary screen with width=1000 and secondary screen
with width=2000, here's what you get when you set ptMaxSize to:

ptMaxSize.x   | Size window gets in second screen
--------------------------------------------------
    500       |                500
    1000      |               2000
    1001      |               2001
    1100      |               2100

So basically you can't get any value between 1000 and 1999

How many people use the taskbar on a second display and maximimize
a frameless window anyway ?

Task-number: QTBUG-39537
Change-Id: Ic9b3120e7fb5a9a5d97828a2e44be02ae587b92e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-06-11 16:42:43 +02:00
Coursar f65333b027 Fix Android: use fbo read back workaround with specific GPUs.
Namely, the Adreno 205. We used to enable this
workaround for Huawei Honor (Adreno 205).

Task-number: QTBUG-33951
Change-Id: Ic92a6913664f2f0954271c700d9ef83d27c238a7
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2014-06-11 16:42:43 +02:00
Jan Arve Saether 8fa91217bc Make sure we run gracefully below API level 18
Task-number: QTBUG-39508
Change-Id: I023ba7c50de5c95a5514658797125e22016a6543
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2014-06-10 14:10:21 +02:00
Morten Johan Sørvig 360fd4a278 Cocoa: Don't send duplicate close events.
Don't send QCloseEvents to QWidgetWindows during
cmd-q application shutdown, since widgets will
will already have received close events from
QApplication close event handling.

Task-number: QTBUG-39398
Change-Id: I7f6e892b0042361bed7a3bc5fac8518eabfc8e4e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-06-10 06:54:11 +02:00
J-P Nurmi d9a7ad80f7 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2014-06-07 00:40:44 +02:00
Morten Johan Sørvig 7eba6d039d Cocoa: Re-implement QCocoaScreen::topLevelAt()
The previous implementation used [NSApp orderedWindows]
which does not return NSPanel subclasses, which is
used by Qt dialogs and pops.

Use [NSWidow windowNumberAtPoint:belowWindowWithWindowNumber]
instead, which hit-tests on all window types. This
can potentially include windows from other processes
and non-Qt windows which needs to be filtered out.

Add EXPECT_FAIL to tst_MacGui::nonModalOrder. The
correct topLevelAt() implementation now exposes that
this test is failing.

Task-number: QTBUG-39322
Change-Id: I81afa3da964e08fe682802220d8fe81e9284205e
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-06-06 23:39:12 +02:00
Frederik Gladhorn d707acfc9e Accessibility iOS
This lays the foundation for iOS accessibility.
The approach is slightly different from other a11y bridges in
that we completely flaten the hierarchy of wigets/quick items to
a list. This works well with VoiceOver since there are comparatively
few elements. The cache implementation for OS X is re-used.

With this patch VoiceOver on iOS works on many applications out of the box.
For now it sends the screen changed notfification somewhat overzealous,
that will need revisiting and potentially new API in QAccessible.

Device orientation changes are not yet supported.

[ChangeLog][iOS] Accessibility was added to the iOS platform port.
This enables Qt applications to be read by VoiceOver on iOS devices.

Task-number: QTBUG-39097
Change-Id: I441e844652d528cc2fdcc444f43b54ed6fa04f0c
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2014-06-06 20:23:08 +02:00
Jan Arve Saether 0af887124a Do not crash with IA2 AT clients.
Make sure all members of the IA2Locale we return are properly
initialized. Only accProbe provoked this bug, and I have no idea why
this haven't crashed earlier.

nvda probably does not query the locale, therefore it was unaffected.

Change-Id: I5a9d98eed5af56fd2a75f6cb7035ed613fd802d5
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2014-06-06 19:58:49 +02:00
Oliver Wolff 7e44e4bb4e Windows: Added Comma to list of possible numpad keys
Some keyboard layouts (German and Czech for example) have comma instead
of period on the numpad, so this key should also be considered when
setting the Qt::KeypadModifer state.

Task-number: QTBUG-38248
Change-Id: I06847a02a9334c21784790eae6fd7e1bc6de4099
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-06-06 16:52:24 +02:00
Richard Moe Gustavsen bc9423316f iOS: delay callbacks to UITextInput to avoid recursion
If the application calls "reset" or "commit" on the input
method (or forces active focus on some other item) from a text
changed or key pressed handler, iOS will sometimes throw
an exception. It does so because we try to change the state
of UITextInput (by calling textDidChange) while processing a
callback from the same place (insertText).

Optimally this should not happen since we would normally
post such events to Qt, not send them directly. But with
text input we cannot do this since UITextInput expects us
to update immediately upon receiving text input callbacks.
If not, word completion and spell checking will stop working.

This change will guard against recursive callbacks by delaying
callbacks to UITextInput when text/selection/first responder
changes.

Change-Id: I099f30adf1c5aba241fc833a45b423016f4ed8d0
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2014-06-06 11:21:17 +02:00
Laszlo Agocs ab3603d2b5 Fix alpha in no-opengl configuration on xcb
Like the EGL + xcb configuration, the -no-opengl is broken too when
it comes to translucent windows: Requesting an alpha channel is futile
since the xcb_create_window call always uses the root's depth and visual.

This is now corrected by picking a 32-bit visual.

This will make translucent windows and drag pixmaps appear correctly again.

Task-number: QTBUG-35126
Change-Id: I00e7d6e08b5fcc055ef3ea6d822561740a1f5457
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
2014-06-06 02:51:32 +02:00
Laszlo Agocs 1b21974f3e Avoid polluting the output with warnings on eglfs
Many windowing functions are not supported (since they do not make sense)
on the embedded platforms. Provide empty implementations for a few more
to avoid showing useless warnings, in particular for widget apps. The
user cannot do anything about it and these are not errors.

Task-number: QTBUG-39081
Change-Id: I29afd981e037d1e6772bcdfc33497e6d0ae02008
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-06-06 02:51:32 +02:00
J-P Nurmi 0fcce50af0 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	mkspecs/features/qt.prf
	src/plugins/platforms/xcb/qxcbwindow.h
	src/tools/qdoc/qdocindexfiles.cpp
	src/widgets/kernel/qwidget_qpa.cpp

Change-Id: I214f57b03bc2ff86cf3b7dfe2966168af93a5a67
2014-06-05 22:26:44 +02:00
BogDan Vatra f4ecc48112 Android: Rename image method to toImage.
toImage is a virtual method declared in QPlatformBackingStore and is
useful when you need to access the image buffer from outside the QPA
plugin. (e.g. you can use
QPlatformBackingStore::toImage().save("bs.png") to save it).

Change-Id: I7cc70ed295070707ed0ef3ce208129f174f68cfb
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-06-05 19:10:58 +02:00
Eskil Abrahamsen Blomfeldt 91b0b2e1a7 Android: Repaint affected areas when window moves
There are no automatic updates of the window when it moves, since
this is not required on most platforms. This broke drag and drop on
Android, because drag and drop creates a temporary window containing
a pixmap with a snapshot of its content. We need to make sure the old
and new location of the window is repainted when it has moved.

[ChangeLog][Android] Fixed repaint issues in drag and drop.

Task-number: QTBUG-35975
Change-Id: I7b043d728551d9963fb5acec804fb90aec5b50ff
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-06-04 13:56:16 +02:00
Eskil Abrahamsen Blomfeldt 80b6fbc2d9 Android: Support offscreen surfaces on pbuffers
This is pretty much the same thing that eglfs does.

Task-number: QTBUG-38960
Change-Id: Ibf310ca8e3a4e31e5310ab3a3d3e851eae31a4ad
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-06-04 09:29:50 +02:00
Eskil Abrahamsen Blomfeldt 90808ead98 Android: Fix flashing on startup/shutdown
There were several issues on startup of the application which
were caused by the fact that we would get the wrong
available screen geometry on startup, set this as the
initial surface size and then expose native windows with this
size. This would cause first a flicker of white on the early
expose and the window contents to jump around as the window was
resized to the actual available space on screen.

The fix for this is to postpone the first expose until we have
actually got a proper screen size from the main layout. We use
width,height = 0 as an indicator that the available geometry
is not yet known, and we skip posting any expose events before
this is set by the layout.

In addition, since we removed the surface before we shut down
the application, it was by a white rectangle before the
shutdown transition happens, and this white rectangle will
be animated instead of application contents.

To rectify this, we make sure the last surface in the stack
remains in the layout until it is either replaced by a different
surface or until the application has shut down. This way, the
shutdown animation will work on this surface instead.

[ChangeLog][Android] Fixed regression where there would be flickering
on startup and shutdown of the application.

Task-number: QTBUG-38960
Change-Id: Ia1579ca8c522d8beeab066f78070ad49009d0238
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-06-04 09:29:43 +02:00
Friedemann Kleint e276fc11fa Windows: Emit screen changed signal of top level windows.
Detect screen changes within virtual desktop in
handleGeometryChange(). Move away windows from screens being
destroyed.

Task-number: QTBUG-36659
Change-Id: I5bf4842cc21873a93bce0f70929308f11bd4d2fd
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-06-03 22:31:14 +02:00
Dyami Caliri ac7bf97f51 Cocoa: clear queued user input events when window is destroyed
QCocoaEventDispatcher stores user input events in a queue in certain
cases. If the target of those events is destroyed, the events are later
sent to the stale window, causing a crash.

Task-number: QTBUG-39211
Change-Id: Ie55d2df5697c742bcb644ebf8c5028015a0b8148
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-06-03 17:25:36 +02:00
Gabriel de Dietrich 70e4428b6f Cocoa: Adapt to Xcode 6 clang version sudden pickiness
Yes, that means OS X Yosemite fix.

Change-Id: I236f7af7b803de24ff0895e04c9a9253b5cfdb3b
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-06-03 17:25:36 +02:00
Morten Johan Sørvig 9e02f9cf08 Cocoa: Make QMacNativeWidget event processing work
Don't interrupt the Qt event loop if the Qt event
loop isn't running (meaning processEvents has not/
will not be called). This can happen in the QMacNativeWidget
or plugin case where the native code calls [NSApp run]
and QApplication::exec() is never called.

In Qt 4 this was not necessary since UI event
processing was more direct: QCocoaView would call
QCoreApplication::sendMouseEvent/sendSpontaneousEvent
directly on mouse events.

Task-number: QTBUG-36225
Change-Id: I2894cbbca66a902652c9f8bc916e94ad8ce0e18e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-06-03 17:25:36 +02:00
Rafael Roquetto 365cd4adeb QNX: fix race condition when clearing transparent buffer
Block flush until all bits have been flushed. This prevents Qt from trying to
draw over the buffer while it is still being cleared.

Change-Id: I49b90a7653ec3768411a1a94837bb31fec4d44e8
Reviewed-by: Frank Osterfeld <frank.osterfeld@kdab.com>
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
2014-06-03 17:25:36 +02:00
Maurice Kalinowski 6b9a9a01e2 remove HSTRING instances
HSTRING needs to be released or handles will be leaked.
Instead use HString which takes care of resource management
on its own.

Task-Number: QTBUG-38115
Change-Id: I2c767776c1f22f45acd8dd77b693f30d63d894b9
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-06-03 09:55:30 +02:00
Rafael Roquetto 69e2d3b3e9 QNX: Fix compilation when OpenGL is not available
Change-Id: I67a1d095fc3efd58e9520c9cb3fad13e04a4d64f
Reviewed-by: Frank Osterfeld <frank.osterfeld@kdab.com>
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
2014-06-02 20:12:18 +02:00
Rafael Roquetto 6bd8c3742e QNX: Fix clearing transparent buffer
Testing whether alphaBufferSize() != 0 does not work, because when no alpha
channel is present, alphaBufferSize() can return '-1', which will cause
non-transparent windows to be  wrongly cleared and an artifact will appear.

Change-Id: Id9e985f105c0bb302cc6f53960a5dbae2acdb921
Reviewed-by: Frank Osterfeld <frank.osterfeld@kdab.com>
Reviewed-by: Wolfgang Bremer <wbremer@blackberry.com>
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
2014-06-02 20:12:10 +02:00
Jan Arve Saether bfc0b27b4b Do not resolve the java functions for each call
Instead do it only once (in registerNatives). This is seems to be the
preferred way of doing it in other parts of the platform plugin.

Change-Id: I361a7862bb5a24b4024c7c6a30ecb14fc515d4ff
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2014-05-30 13:58:27 +02:00
Martin Gräßlin c040ba18ae Dummy window for creating GLX context should be override redirect
Without having the dummy window being override redirect Qt might
confuse window managers. Window managers might react on the create
notify event, but there is no reason to do anything with the window
as it is most likely already destroyed at the time the window manager
receives the create notify event.

By marking the window as override redirect we indicate to the window
manager that they can ignore it.

Change-Id: I35259436da4548f4190b92de412fb0de1d2e8077
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-05-30 08:17:27 +02:00
Eskil Abrahamsen Blomfeldt 909b0de5d1 Windows: Fix another crash when creating QRawFont from invalid data
The sanity check added in d16508a285
didn't actually catch the case where the invalid data is large
enough to contain the offset table and table directory. Added sanity
checks to all the code that accesses the font data now, so this
should fix crashes with partial data as well as invalid data.

Task-number: QTBUG-37190
Change-Id: Ie43f10d8cf0b09007783b9b1c4d91bfed8c6b0f0
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2014-05-28 16:52:04 +02:00
Morten Johan Sørvig 530607d8ba Cocoa: Fix modal session cleanup.
Call [NSApp endModalSession] at the correct time.

Calling cleanupModalSessions() from processPostedEvents()
resulted in endModalSession being called from within
[NSApp runModalSession] - ending and cleaning up the
the modal session while Cocoa is still using it.

Move the cleanupModalSessions() call to to after
runModalSession returns.

Task-number: QTBUG-37699
Change-Id: I5868def36f6869667b0bbe33733286e3e49488eb
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-05-28 11:47:28 +02:00
Morten Johan Sørvig 11fdc4f6c0 Partially revert "Cocoa: support modal windows"
This reverts parts of commit d9875f7bff,
in particular the code for "2. Make interrupt() use [NSApp abortModal]"

abortModal is not the right way to end a modal session,
and introduced bad side effects, as reported in
QTBUG-34677.

Restore this part of the event dispatcher to the
Qt 4 state.

Change-Id: Iacc2d4a0757807c87c4320c93ed4db186622945c
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-05-28 11:47:20 +02:00
Morten Johan Sørvig 385ba9e7e3 Revert "Cocoa: Don't stop NSApp when showing a modal dialog"
This reverts commit ff3dcc49c4.

The reverted commit is an incorrect bug-fix for a
regression introduced by adding a call to
[NSApp abortModal] in change d9875f7b.

Change-Id: I1307d1790ada740e0552d62267b6009cbccd6c4c
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-05-28 11:47:16 +02:00
Morten Johan Sørvig 626e0f204e Revert "Cocoa: Post event to "show()" a modal window"
This reverts commit a9cbddf473.

The reverted commit is an incorrect bug-fix for a
regression introduced by adding a call to
[NSApp abortModal] in change d9875f7b.

Change-Id: If23463ebdfe2ff64c68739dbece73a13773683c9
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-05-28 11:47:11 +02:00
Martin Gräßlin 8746a6a3e2 Improve the implementation of the _NET_WM_SYNC_REQUEST protocol
This change improves the synced resizes of xcb windows and adds support
for synced resizes of glx windows.

The QXcbWindow keeps a better track on whether the window manager
expects a sync and can be in one of three states:
* no sync required
* sync required, but configure notify event not yet received
* sync required and configured

By tracking this in the QXcbWindow itself the backing store can make
use of this information and doesn't need an own heuristic to decide
whether a sync is needed.

Also this allows to add support for synced resizes of windows with an
OpenGLSurface. This is accomplished by checking the sync state after
swapping buffers. As the OpenGL context may be bound to a background
thread the sync is done using a QueuedConnection to ensure that the
sync happens in the thread which created the xcb window.
So far this is only added for GLX.

This significantly improves the resize experience of QQuickWindow and
also the initial mapping with a composited window manager in case the
compositor uses the sync protocol to determine whether the window is
ready to get painted on screen.

Change-Id: Ied0261873043d785dec652d2821fc3638292fa36
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-05-27 19:31:49 +02:00
Paul Olav Tvete b732e56969 Android: Report current selection to the input method
Task-number: QTBUG-39196
Change-Id: Ib798f1de83ccbe3830a746b6ddd435a0934c34cd
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-05-26 15:06:12 +02:00
Maurice Kalinowski 262d2cba12 WinRT: Fix compile warnings
Change-Id: If223dd73b9558a0f5144be38f19a61316f8c807b
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-05-26 15:06:12 +02:00
Morten Johan Sørvig b214c177ea Make QT_MAC_OPENGL_SURFACE_ORDER=-1 work better
Mark the window as not opaque and give it a transparent
background when layering OpenGL below the window.

Change-Id: I2188842249c592f17619f7a2c3ef1fd30958987e
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-05-26 15:06:12 +02:00
Morten Johan Sørvig 1ac0f953ba Cocoa: Remove the NSWindow -> QCococaWindow hash.
Cast the NSWindow to a QNSWindow instead. Now there
is no way we can fail to maintain the hash properly.

Change-Id: I5fd03b6fad964a61fadb3460b7063fd43ff25c79
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-05-26 15:06:12 +02:00
Morten Johan Sørvig 7ba0eb5a0d Cocoa: Prevent crash on QWindow delete.
Clear the QCocoaWindow pointer stored on the QNSWindowHelper
when detaching from the platform window. This makes
sure callbacks from cocoa does not try access deleted
Qt window objects.

Task-number: QTBUG-39141
Change-Id: I4672eae92940dcbd59a2848e56f94b50a828bbf6
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-05-26 15:06:12 +02:00
Louai Al-Khanji 8701c20f0d Direct2D QPA: Match raster engine line output
For whatever reason direct2d and the raster engine disagree by one pixel
about the positioning of positively sloping aliased lines. To get the same
output, we shift such lines by one pixel.

Change-Id: I4b20319770c02e3fdd212b3535ccae3c27ca9f2f
Reviewed-by: Risto Avila <risto.avila@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-26 15:06:12 +02:00
Andy Shaw 5d48eb8bbc Cocoa: Make sure modal windows get correct geometry on show
beginModalSessionForWindow will center the window and ignore
the set geometry. So to workaround this it checks the new value
against the old one and moves it back if need be.

Change-Id: I38bc74c04138992f2e0570fca666414025aeeba8
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-05-26 11:16:38 +02:00
Frederik Gladhorn 92c6bfa0b2 Fix loss of precision warnings
Found by http://www.viva64.com/en/b/0251

Change-Id: I2a0c3dba74fef07c3119c9e57b343a8253ee7daa
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-05-26 10:42:06 +02:00
Friedemann Kleint 57d0ed8f1e Remove unused variable in qwindowsmousehandler.cpp.
Change-Id: Iacfeec396c2eeef973b62bf78c698aa206b01c41
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2014-05-23 22:18:22 +02:00
Richard Moe Gustavsen 28f32afd3f iOS: Be more careful when hiding the keyboard upon enter
A typical pattern in an application is to listen
for "enter" in a line edit and transfer focus to
the next edit in the focus chain. This would currently
not work on iOS since we would force the keyboard down
after delivering the KeyPress/release events, effectively
overriding any focus handling done by the app.

This patch will hide the keyboard _before_ sending the
events, so that we don't override focus handling done
by the app. By also hiding the keyboard using
QInputMethod, the hiding will also be delayed a bit
(in QIOSInputContext) to catch subsequent hide/show calls.

Change-Id: Ic19511d494a55d1bda963ed9bc7185d63b51bc03
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2014-05-23 14:46:19 +02:00
Andrew Knight 05e8b54d23 WinRT: fix default font when DirectWrite is disabled
Instead of loading the default font "Helvetica", which is likely not
part of the package, load the first font found.

Change-Id: I225979986883a26c3fec72858cf32c3d1e45d902
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-05-23 11:39:25 +02:00
Louai Al-Khanji c6b8779172 Direct2D QPA: Fix HighRes painting
It turns out that supporting HighRes painting with Direct2D is quite
simple. Two things are necessary.

First, we set the unit mode to D2D1_UNIT_MODE_PIXELS on all our device
contexts, which tells Direct2D that we specify everything in pixels.
Direct2D will internally do the required conversions.

Second, we scale font sizes according to DPI.

Previously rendering errors resulted when a highres mode was used, this
fixes those errors.

Task-number: QTBUG-39105
Change-Id: Ibb4dbea4746687228249e2c36d48c4bd6c5c7bf9
Reviewed-by: Risto Avila <risto.avila@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-23 08:54:30 +02:00
Louai Al-Khanji 0057507184 Direct2D QPA: Add missing break statement
Change-Id: Ib40daa1ba56cce423b29ac8f1ab50e4638980728
Reviewed-by: Risto Avila <risto.avila@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-23 08:54:30 +02:00
Laszlo Agocs 39e0607825 Load winsys and gl dynamically in the windows plugin
The dynamic builds (-opengl dynamic) are now functional on Windows.

In such a build no components in Qt link to any OpenGL libraries directly
and qmake will not automatically add any such libraries to the
applications' makefiles. Instead, the libraries are chosen and loaded
during runtime and applications are expected to use QOpenGLFunctions
instead of direct OpenGLfunction calls.

Set the environment variable QT_OPENGL to desktop or angle to skip testing
and force the given implementation. The application attributes (AA_UseOpenGLES
and such) are also taken into account.

The testing logic is same as before: We try to load opengl32 and
resolve a shader related function. If this fails, ANGLE is chosen. This
allows utilizing full desktop OpenGL on systems that have proper drivers,
while a transparent fallback to ANGLE will be done automatically for
systems that don't. The latter includes also remote desktop connections.

Software rendering via Mesa llvmpipe is supported too. The fallback is
automatic on systems where the desktop test fails and ANGLE fails to load
or initialize (e.g. due to missing libs like d3dcompiler), as long as a
suitable patched build of Mesa is available.

[ChangeLog][QtGui] Dynamic OpenGL implementation loading is now supported
on Windows. This requires Qt to be configured with -opengl dynamic.

Task-number: QTBUG-36483
Change-Id: Ie8bb25a6d55b3a1609b00150aeccd909aec27313
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-22 22:00:59 +02:00
BogDan Vatra 09ed9e3eae Android: Extract data for native style on startup
When Ministro is not in use, we need to extract style
information on startup in order for the native Android style
to work.

The code to extract data from the device is contributed from
the Ministro project.

[ChangeLog][Android] Enable using native style also when
Ministro deployment mechanism is not in use.

Task-number: QTBUG-36019
Change-Id: I2afef5219b4e8fbb2f3e387cbc5e570da1f41011
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-05-22 18:20:02 +02:00
Simon Hausmann 2064bf6155 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2014-05-22 14:24:28 +02:00
Tor Arne Vestbø 6bebb58adb Remove two unused functions in the CoreGraphics paint engine
Change-Id: I5832d24e77e2f33f58a7c679de06e08dfc2a7384
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-05-22 13:20:36 +02:00
Andrew Knight eea02ff10d WinRT: Support High-DPI
Previously, the backing store and default framebuffer were created with
the logical screen resolution (in device-independent pixels), not the
the physical screen resolution. This lead to blurry text on high-DPI
devices. This change fixes this by creating those at full size, and
setting the device pixel ratio appropriately. Windows are still reported
in device-independent pixels, but text and images are now rendered
sharply for Qt Quick applications.

As QPainter does not support non-integer scaling, the backing store is
still drawn in DIPs and scaled by OpenGL.

Task-number: QTBUG-38464
Change-Id: I7377d4c734126825d670b8ebb65fd0dd1ef705f2
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-05-22 07:59:49 +02:00
Andrew Knight 4c9eb38390 Support Windows Phone 8.1 in WinRT QPA
- Unsupported code paths for WP8.0 are avoided, and new APIs are used
  where appropriate (virtual keyboard)
- DirectWrite fonts are loaded on WP8.1
- Platform dialogs are used on WP8.1

Change-Id: I721006ac943ad4e248f0f1590ce247a03e40fbc0
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-05-22 07:59:49 +02:00
Simon Hausmann 508b95899d Merge remote-tracking branch 'origin/stable' into dev
Change-Id: Ia36e93771066d8abcf8123dbe2362c5c9d9260fc
2014-05-22 07:46:17 +02:00
Louai Al-Khanji 26a2fb7448 Direct2D QPA: Move QVectorPath conversion function into private class
The function already needs information from the engine for conversion,
moving it into the private class makes it possible to get this info
directly in the method and makes calling the method nicer.

Change-Id: I47fa9a4531d0d0605aa587fba90fbfdf036f0998
Reviewed-by: Risto Avila <risto.avila@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-22 06:07:04 +02:00
Louai Al-Khanji bcab05cb4f Direct2D QPA: Get rid of QPainterPath conversion function
This function was used only in one place and duplicated a lot of logic
with the very similar QVectorPath conversion function. Just use
QVectorPath everywhere instead.

Change-Id: I3a4821f0452634c309ca0730047ea6ef7a7591ca
Reviewed-by: Risto Avila <risto.avila@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-22 06:06:56 +02:00
Louai Al-Khanji 8d7e23ea0b Direct2D QPA: Cache QVectorPaths if drawn more than once
Hooking into the caching mechanism gets us a measurable performance boost
for paths that are drawn repeatedly, around 10% on my machine when drawing
aliased arcs.

Change-Id: I32f4ed7daa8a51b5c5a9c6d5414ab5d4ef759f70
Reviewed-by: Risto Avila <risto.avila@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-22 06:06:51 +02:00
Jake Petroules 5d2939344e Trigger repaint of window when toggling unified toolbar on or off.
Change-Id: I5204e5c65ae3cf84459cc62f587ecccd855e02f8
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-05-22 02:52:54 +02:00
Christoph Schleifenbaum ff31090d07 Cocoa: Do not process ampersands in menus twice.
When syncing between QAction and native NSMenuItems, the ampersands
(mnemonics) were removed twice. This lead to double ampersands being
removed instead of replace with single ones.

Task-number: QTBUG-37933
Change-Id: If1d9cd247b467472647b22b38460b44b03f13d82
Reviewed-by: Liang Qi <liang.qi@digia.com>
2014-05-21 13:59:18 +02:00
Christian Strømme 849f8f58ce Android: Fix crash caused by unintentionally modification of env data.
The data given to putenv(3) becomes a part of the environment, as
described in SUSv2, so If the data is unintentionally modified or
deleted the consequence can be fatal.
In previous versions of Android, the putenv(3) implementation made a
copy of the data, so this bug has gone unnoticed.

Task-number: QTBUG-39042
Change-Id: I20559c848fded10eeae54c4700ba0f4669fe49fc
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-05-21 01:34:38 +02:00
Richard Moe Gustavsen bf50bf737b iOS: don't report negative selection ranges for backspace
Qt sometimes report that the selection anchor is placed before
the cursor when querying it for current selection. We need to
accomodate for this when reporting current selection back to
iOS, since it expects the range to always be positive.

When pressing backspace, iOS will select the letter that should be
deleted, and then call "deleteBackwards". If holding down backspace
for a while, it will start selecting whole words instead.
Since we reported negative ranges during this process, it caused
artifacts and stray letters to be drawn.

Task-number: QTBUG-39073
Change-Id: Ida9518307adce915adf49160b541a2f88637a0da
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2014-05-21 01:34:38 +02:00
Konstantin Ritt 4ee3c17944 Drop some qtextengine_win.cpp leftovers
Change-Id: Id0d39acfcb340b40e51b8d06a4308df809a8fc1b
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2014-05-20 14:33:32 +02:00
Friedemann Kleint 54da6c25eb Windows: Adapt custom cursors to observe the system metrics.
Change the cursors Qt provides to use freely scalable pixmap cursors
and scale them to observe system metrics. Make it possible to
use pre-saled bitmap data later by passing the system cursor size
and the intended target size into the creation function
createBitmapCursorFromData().

Task-number: QTBUG-37862
Change-Id: I23899a77f86d0b08b858a81870a57b2e6570ebbe
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2014-05-20 06:31:43 +02:00
Friedemann Kleint 043529c9dc Windows QPA: Remove dependency on swprintf_s() pulled in via _com_error::ErrorMessage().
Task-number: QTBUG-35617
Change-Id: I0ad926ac564612ebd0eb38f16b3e69cbcd48e62f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-05-19 15:52:58 +02:00
Frederik Gladhorn 6ef8eee8d4 Fix potential null pointer access
Change-Id: I7516ce88b38609ab9851419566141ba93a59aed3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-19 15:52:58 +02:00
Louai Al-Khanji 828656241b Direct2D QPA: Use correct buffer size constant
Change-Id: I2d8ec5faed959d6d642242b3e26ee0f185ee3d53
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-19 15:52:58 +02:00
Louai Al-Khanji 58caefa13e Direct2D QPA: Stroke using direct2d primitives
Use native direct2d stroking instead of falling back to
QPaintEngineEx::stroke which in turn calls the pure virtual
QPaintEngineEx::fill which is reimplemented in QWindowsDirect2DPaintEngine.

In some cases like arc stroking this is significantly faster (up to 3x in
my measurements) and results in better visual quality.

Change-Id: I1c86ff772ba591432ff6550c7c59704ace4f0e0f
Reviewed-by: Risto Avila <risto.avila@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-19 15:52:58 +02:00
Louai Al-Khanji 35766fbe47 Direct2D QPA: Fix version check
It turns out that the version we were testing against was more recent than
basic Windows 7 SP1 + Platform Update. The direct2d version that
combination produces without any other updates is 6.2.9200.16492, and it
is sufficient for us.

Change-Id: Ib9840647371e2bb5c71bf74486348444ed4b4c19
Reviewed-by: Risto Avila <risto.avila@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-19 15:52:58 +02:00
Frederik Gladhorn 1248eddd14 Accessibility Android: Fix states
Using the bit flags as parameters to the JNI functions would fail since
they'd always be cast to false instead of the c-style casts.

This fixes checkboxes reporting themselves as checkable and their check
state.

Task-number: QTBUG-38831
Change-Id: I30ab63ceabbec4cc2fbda9475e05523d915087fe
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2014-05-16 14:28:30 +02:00
Frederik Gladhorn 94f9c9678a Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2014-05-16 14:14:25 +02:00
Richard Moe Gustavsen 986309cbf0 cocoa: remove rtf converter from cocoa
There is now a modified rtf converter in qmacmime
that can also write rtf back to the pasteboard, and
that works on both OS X and iOS.
So we can therefore remove the one from the cocoa port.

Change-Id: Ieed04502752290d2f139f98cec69477ff1edbe4e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-05-16 14:10:36 +02:00
Richard Moe Gustavsen 6388163df8 qmacmime: rename and move QMacPasteboardMimePlainText to the cocoa plugin
com.apple.traditional-mac-plain-text is not in use on iOS
according to Apples UTType reference. So we enable it only
for OS X by moving it into the cocoa port.

The order in which we instanciate convertors matters when
the application is reading data from the pasteboard.
But since QMacPasteboardMimePlainText should come before the
other "text/plain" convertors on OS X, moving it to the cocoa
port is safe as those convertors are instanciated after
those in qmacmime.

Change-Id: I76b9b14e5ce78f34e0f1ecbfee71e48a27a4687b
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-05-16 14:10:32 +02:00
Friedemann Kleint 6a61a00ddb Windows: Use new clipboard API for listening to changes.
The currently used clipboard chain API has various problems with non-
responsive applications and requires checks for hung/debugged applications when
sending on notifications.

The new clipboard format listener API available from Windows Vista onwards
requires less code and does not have these problems, however the change
notifications now arrive asynchronously.

Change the tst_qclipboard  to be able to deal with asynchronous change
notifications.

Task-number: QTBUG-38670
Task-number: QTBUG-33492
Change-Id: I3c49e346a34310431c20f3051d12eaabf330a3ad
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-05-15 15:31:07 +02:00
Friedemann Kleint f618dbdd04 Windows: Refactor cursor creation code.
Factor out a function creating bitmap cursors, streamline code.

Task-number: QTBUG-37862
Change-Id: Id9d4af34acb2cf15d8553d5e5a6390fae6014ff6
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-05-15 12:53:09 +02:00
Tor Arne Vestbø a5ea74b98b qpa: Clean up and refactor qfontengine_qpa
QFontEngineQPA was really QFontEngineQPF2, and has been renamed. The
multi font engine in qfontengine_qpa.cpp was really a base implementation
of a multi font engine, used by other multi font engines, and has been
renamed and moved accordingly into qfontengine_p.h/cpp.

Change-Id: Iac7409c4dbf0fdc3ee993ce4f7dc96cb00a422e6
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-05-15 02:51:06 +02:00
Eskil Abrahamsen Blomfeldt 08117eee00 Android: Support QFont::Courier style hint
Android doesn't have a serif monospaced font, so for the courier
style hint we at least need to fall back to something monospaced,
which is "Droid Sans Mono" on Android.

[ChangeLog][Android][Text] Fall back to Droid Sans Mono for
QFont::Courier style hint.

Task-number: QTBUG-37844
Change-Id: Ib42caf53a8fb7b9958e10a8f123cac928eee7069
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-05-14 20:10:03 +02:00
Friedemann Kleint 70cd276db0 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2014-05-14 18:43:38 +02:00
Friedemann Kleint 800214f0b9 Windows: Improve checking of options to the QPA plugin.
Change-Id: I59129132c7caa13d5c9d8f1e6211da68505dd838
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-05-14 18:42:27 +02:00
Louai Al-Khanji bf284c2bbd Direct2D QPA: Fix check for cosmetic pen
When checking whether a QPen should be treated as cosmetic we need to
take into account the render hints set on the painter as well.

Change-Id: I8200611af08000d2d1626d8ef97eb3f6dac4951c
Reviewed-by: Risto Avila <risto.avila@digia.com>
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
2014-05-14 13:17:17 +02:00
Frederik Gladhorn cb3348dec9 Merge remote-tracking branch 'origin/release' into stable
Change-Id: If1abbe7810ea43ae750db91066f9f579c79b2289
2014-05-14 12:37:34 +02:00
Eskil Abrahamsen Blomfeldt d16508a285 Fix crash when loading invalid font data in QRawFont
When passing invalid data to QRawFont, we need to fail gracefully
and mark the font as invalid, instead of crashing. This crashed
because of different missing sanity checks in the Windows
and FontConfig font databases.

[ChangeLog][Text] Fixed crash when trying to load a font from
invalid data.

Task-number: QTBUG-37190
Change-Id: I62c81217ec7d873350b575c9d4ae8e6f0a939540
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2014-05-14 09:13:38 +02:00
Frederik Gladhorn 3d4aeb7919 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/gui/kernel/qguiapplication.cpp

Change-Id: Ibe75603dc8a51769db6550ea3f07bc8d19b0be85
2014-05-13 22:19:10 +02:00
Frederik Gladhorn 06e27c2a52 Accessibility Android: Fix crash for invalid interfaces
When asked for an accessibility interface with invalid ID we still
return an AccessibilityNodeInfo. But instead of setting that interfaces'
ID to the invalid ID, rather return one with no ID set so it will simply
fall back to the view.

Task-number: QTBUG-38829
Change-Id: If66f5b1b42ba46949d94a547050c7a2cfc7ee9b7
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2014-05-13 22:10:21 +02:00
Ivan Komissarov ba1262187b Moved qt_mac_toQColor(CGColorRef) to qcocoahelpers.
Change-Id: I8f8feab3f2b88373bf9ad4d69b8de56b480910ac
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-05-13 16:08:01 +02:00
Frederik Gladhorn ff334fd574 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2014-05-13 16:08:01 +02:00
Frederik Gladhorn b5552bab40 Merge remote-tracking branch 'origin/stable' into dev
Manually changed enum to LibGL in
    src/plugins/platforms/xcb/qglxintegration.cpp

Change-Id: If34ee6cce3d1d51fb4bb1fdfa59c30389ea0d207
2014-05-13 14:21:22 +02:00
Frederik Gladhorn 12ba0d2cb3 Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2014-05-13 14:16:46 +02:00
Andy Shaw 79d35b331a Fix horizontal scrolling on Windows when ALT + mouse wheel is used
Task-number: QTBUG-30833
Change-Id: I366d2979060ba67f745f7c783dee8d7669ebdf57
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-13 14:12:02 +02:00
Allan Sandfeld Jensen a8877f529d Scrolling devices should not override touch or tablet devices
XISelectEvents override any earlier set event mask for the same device
ids. This may cause touch devices to stop reporting touch events if they
export scroll buttons or axis.

The patch checks for each scrolling device if they are also a touch
devices and includes the necessary bitmask if they are, and skips
any devices also recognized as tablet devices as they already capture
all relevant events.

In addition tablet event handling will no longer block handling of wheel
button events for scroll devices with the same device id.

Task-number: QTBUG-38935
Change-Id: Ifd4657beb0a0cebffe89d3470ef2bd605eb3552e
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-05-13 12:47:16 +02:00
Allan Sandfeld Jensen 7cc175c9d6 Assume unlabelled mouse buttons are default buttons
This patch fixes legacy wheel scrolling for XInput2 drivers that fail to
label mouse buttons correctly.

Task-number: QTBUG-38937
Change-Id: I659890517e749dc0039489e0b7a8c38be1065d33
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-05-13 12:47:12 +02:00
Bernd Weimer 8094bb537a QNX: Silence startup warnings
Missing PPS objects for navigator, virtual keyboard and buttons can be
expected on QNX and should not lead to warnings.
Virtual keyboard info message does not contain locale object any more.

Change-Id: I447d439ffbf4ea6e03f6a8bca4422a9a121d85f4
Reviewed-by: Frank Osterfeld <frank.osterfeld@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2014-05-13 08:42:46 +02:00
Bernd Weimer da6dc40f75 QNX: Don't build QNX-only parts on BlackBerry
Only really required source files will be included when building for
BlackBerry.

Change-Id: Ic66b09221c48672358bba7601bc18663ad7fa07a
Reviewed-by: Wolfgang Bremer <wbremer@blackberry.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2014-05-12 18:15:20 +02:00
Andreas Holzammer 5883b6a22c [QNX]Clear transparent regions
If a region gets painted the buffer beneath needs
to be cleared, as it could be that there are
leftovers from the last blit.

Change-Id: I51f19aa010015059e9a6d9d5e5e4f25fb9532d4e
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
2014-05-12 17:30:57 +02:00
Frederik Gladhorn 73bc91c9df Merge remote-tracking branch 'origin/release' into stable
Change-Id: I9300572e2b74f0564b2589cbd0fbdf24850f68df
2014-05-12 14:01:46 +02:00
Louai Al-Khanji 6c42ddf31f Direct2D QPA: Choose linear interpolation for smooth pixmap transform
Let's do the same thing the raster engine does. Much faster too.

Change-Id: I88ea9d2c2ac78feee1193b75a9e96c62a7bd5979
Reviewed-by: Risto Avila <risto.avila@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-12 13:44:42 +02:00
Louai Al-Khanji 17dda3917d Direct2D QPA: Never queue more than one frame
Microsoft recommends setting the maximum frame latency to 1:

http://blogs.windows.com/windows/b/appbuilder/archive/2013/12/18/optimizing-directx-apps-for-low-latency-input-and-longer-battery-life.aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/hh780339(v=vs.85).aspx

Apparently it slightly reduces power consumption and it also slightly
increases performance. So let's set it.

Change-Id: I8a540f1e54e83d6dc13f25564e10b751e202ce66
Reviewed-by: Risto Avila <risto.avila@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-12 13:44:38 +02:00
Laszlo Agocs 0b5c0ad2ef Support adopting an existing EGLContext in eglfs and xcb
Add also a manual test application. For GLX there is an autotest since
that is likely to be run on one of the CIs. For EGL and especially
eglfs this is likely not the case so a manual test is better.

Task-number: QTBUG-37552
Change-Id: Ib09db5d909befb68d16f69abd401a56abe55f28a
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-05-09 13:24:55 +02:00
Louai Al-Khanji f85ab84414 Direct2D QPA: Bump copyright year to match reality
Change-Id: I443b74e3d464285febc28345f35d1445e8102015
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-09 12:17:44 +02:00
Jorgen Lind 5c28747454 Use QtPlatformHeaders to set platform specific functionality
This involves exposing a new function in the QPlatformNativeInterface
which gets a public function for QGuiApplication

Proof of concept is done through implementing _NET_WM_WINDOW_TYPE
setters for xcb

Change-Id: Ic9544e775fb71cc9b30273595ec41b1cdb1c9d64
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-05-09 11:03:30 +02:00
Rolf Eike Beer 6f6cfda8c4 kms plugin: use first returned mode if no preferred one is present
The list of returned modes is scanned for the first one marked as
preferred, and that is used. If no preferred mode was found then the
builtin default mode of 1024x768 is used. Use that builtin mode only if
no modes were returned at all, pick the first one if any were returned.

Change-Id: Ib355cc92219ced093c605f49dae4e34ff244b639
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-05-08 16:33:31 +02:00
Rolf Eike Beer 9c4996b709 kms plugin: do not needlessly query drm information twice
QKmsDevice already requested the drmModeRes and drmModeConnector
information. Simply pass them to the QKmsScreen constructor instead of
requesting and freeing them there again.

Change-Id: I4897d76d7b13d83297c928b6e10e17ccdfdbd242
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-05-08 16:33:21 +02:00