Commit Graph

18163 Commits

Author SHA1 Message Date
Samuel Gaist
afacf694d5 Use Finder bundle identifier over path for OS X bundle detection
Currently, checking if Finder is the application returned for
opening a bundle is done using its absolute path. Finder might
be relocated in future OS X versions which makes this approach
less clean.

Using Finder's bundle identifier allows us to ignore where it is
stored in the filesystem as the identifier will not change.

Task-number: QTBUG-31884
Change-Id: Ib4c3412fb206fadda04eb547bc6a4eef02ee949a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-04-03 11:07:07 +02:00
Dyami Caliri
2d8b40439d Cocoa: Fix crash when disconnecting an AirDisplay monitor.
There are some cases where unplugging a monitor temporarily leaves
a QCocoaScreen object with an invalid m_screenIndex. Debugging shows
that the OS does not report the screen update before Qt attempts a
repaint. This calls devicePixelRatio(), which calls osScreen(), and
the index for the screen is out of bounds.

By temporarily exiting updateGeometry() when the screen is unavailable,
we avoid the crash. The OS quickly reports the monitor state change
and everything returns to normal, unnoticed to application.

Task-number: QTBUG-37606
Change-Id: Iacb2ff22bd3df72a5d87b2289242fb393625af57
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-04-03 11:07:07 +02:00
Kari Pihkala
bdf55f62a2 Change the hidpi cursor hotspot coordinate mapping
All hidpi coordinates in Qt are device independent points and
the hidpi cursor hotspot should follow that convention.

Change-Id: Id5295cae7a463e9a3ea85d2b0a18a5020dc97656
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-04-03 11:07:07 +02:00
Morten Johan Sørvig
acebf67712 Cocoa: Close ToolTips on parent window move.
Treat Qt::ToolTip windows the same way as Qt::Popup
windows: The parent window keeps track visible
transient child windows of this type and closes
them when appropriate.

This improves the locator popup window behavior in
Qt Creator: It now closes when moving the main Qt
Creator window.

Change-Id: Ibc5d0713469b7c9aba2fd13fb1eb559706c8c4ed
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-04-03 11:07:07 +02:00
Morten Johan Sørvig
66178447e9 Mac: Use QString::toNSString in QtBase.
The string is now autoreleased.

This fixes a memory leak in qt_mac_QStringListToNSMutableArrayVoid

Task-number: QTBUG-20347
Change-Id: I11ebeb264af4c8ce98968f2221eea772f24c12d4
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2014-04-03 11:07:07 +02:00
Morten Johan Sørvig
d6202762c1 OS X: Fix QRubberBand drawing on retina displays
Extend the existing rect adjustment to cover the
upper/left edges as well. Check for a valid rect
before drawing.

Task-number: QTBUG-34534
Change-Id: I156abf4fb52924c350ec24fb44eadca86b2d5339
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Steve Mokris <smokris@softpixel.com>
2014-04-03 11:07:07 +02:00
Kai Koehne
b11adb825c Logging: Be also more strict with value of logging rule
Only accept lower-case "true" and "false", as documented.

The old check didn't match either the documentation, nor the QSettings/
QVariant behavior (where, for a boolean value, any lower-cased content
that not empty, "0" or "false" is considered true).

Change-Id: I317d29c16a27f862001b9dff02e8298df8acf5a6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
2014-04-03 11:07:07 +02:00
Laszlo Agocs
828cfb4019 Avoid double clicks confusing popups
Setting qt_button_down on DblClick is dubious and breaks popups like menus
since they won't appear correctly on every click anymore when clicking on
them rapidly several times.

Task-number: QTBUG-37891
Change-Id: Ic6cbbbe8b42891d2f9fa2ff66aa42bb89230d896
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Rick Stockton <rickstockton@reno-computerhelp.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-04-03 11:07:07 +02:00
Andrew Knight
4dd9a02001 d3dcompiler_qt: Fix default precompiled path
The trailing slash was missing, which caused the resulting path to be
wrong.

Change-Id: Iaa9dee15e744307c2d438181964b71c412fd9709
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-04-03 08:54:48 +02:00
Gatis Paeglis
0dbd8c0be7 Be less verbose about invalid keysyms
Report invalid keysyms only when DEBUG_GENERATOR is defined.

It is not unusal that Qt applications are used on old linux
distributions where Compose files might be far behind the current
development, therefore we should be less verbose when encountering
invalid keysyms. On Red Hat 5 compose key plugin reports ~3200 lines of
warning messages:

"Qt Warning - invalid keysym: U1001D1BC"
"Qt Warning - invalid keysym: U1001D16F"
"Qt Warning - invalid keysym: U1001D1BA"
"Qt Warning - invalid keysym: U1001D165"
"Qt Warning - invalid keysym: U1001D16F"
...

Task-number: QTBUG-34483

Change-Id: If0c51d300508ef164ad7fc59b0a76a838cd5a3b9
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-04-03 08:44:34 +02:00
Friedemann Kleint
d5ff16bc8e Fix access of tmpStorage in QODBCResult::exec().
Instead of using a list and appending / popping of elements, use
a vector of constant size and access via index to avoid
bookkeeping errors.

Task-number: QTBUG-37831

Change-Id: Icb5a182626c63e693b04daaf7a2f70997d9aeae1
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2014-04-03 08:20:48 +02:00
Lisandro Damián Nicanor Pérez Meyer
00cfcfefb3 Enable s390[x] detection.
It has been working in Debian for some time.

Change-Id: Ib5741a4ba68bf95c7020336c84bc66257ff27809
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-04-03 07:42:32 +02:00
Christian Strømme
c9241a1a7b Android: Don't accept the volume-key events.
On Android the volume keys are by default connected to the global volume
control and by accepting them we remove this feature. Meaning each
application would need to re-implement this functionality.
Ideally we should only accept the volume keys if they where accepted by
the user to avoid overriding default behavior, but we currently don't
have the infrastructure to do that.

To revert back to the old behavior the env. variable
QT_ANDROID_VOLUME_KEYS can be set.

Task-number: QTBUG-36570

Change-Id: Ib053a40383f2de452f385b19f7795c2fc23fc4fe
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-04-03 00:28:22 +02:00
Christian Strømme
5f6cbfb070 Android: Stop ART from complaining about missing thread names.
The new Android jvm (ART) complains loudly if we attach without
supplying a thread name.

Task-number: QTBUG-35441

Change-Id: I962d613be0db50f3ca9a4c786b36003f31c9db14
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-04-03 00:28:10 +02:00
Jocelyn Turcotte
b94493e6c8 Avoid an "OpenGL Error: 1282" output when resizing a QOpenGLWidget
When we delete the previous FBO in QOpenGLWidget::resizeEvent while
it is the currently bound FBO, the QOpenGLContextPrivate::current_fbo
will not be updated and will try to be bound during the initialization
of the new FBO.

Fix the issue by explicitly releasing the FBO on destruction if it
is current.

Change-Id: Id049889c4857526750bbecf3dd27343e44449c12
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-04-02 10:06:07 +02:00
Jocelyn Turcotte
f7971d37cb Add a way to share context between QtQuick and QtWidgets
This will replace QSGContext::setSharedOpenGLContext.

To be able to allow sharing the Chromium GL context with both
QWebEngineView and QQuickWebEngineView, we need some way of setting
the sharing within QtWidgets and QtQuick. Since they don't depend
on one another this patch allows the sharing context to be set
through QtGui.

Change-Id: I91b365dd06ec925b4c5a99ac82c222778781fe8e
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-04-02 10:06:00 +02:00
Jocelyn Turcotte
7672f25f44 Enable the depth and stencil buffers by default in QOpenGLWidget
QGLWidget rendered to the default framebuffer, which had a depth and
stencil buffer attached by default.

Keep this behavior by adding the attachments to the FBO by default
in QOpenGLWidget.

Change-Id: I6f72a444eac3d8eabb7a539ad12216f1e5d2183d
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-04-02 10:05:52 +02:00
Gatis Paeglis
ee3dea8d3f [xcb] Fix build failure
Build failure was introduced by 9bb634a617.

When linking with systems provided libxkbcommon, then DFLT_XKB_CONFIG_ROOT
can't be accessed directly.

The reason that this slip through CI is that on CI machines Qt
is build with bundled version of libxkbcommon.

In addition this patch improves keymap error message, by making it more explicit for
users what could be the reasons for "keymap compilation" failures and what should
be done to make input work. As it turns out this is a common issue on old systems,
servers and some VNC clients.

Task-number: QTBUG-37971

Change-Id: I77667a404150ee7ab8465a065e23ca5eea63c33b
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-04-02 08:47:36 +02:00
Jędrzej Nowacki
3b18ea3cb8 Re-add missing test to kernel.pro
Patch 9a08483d76 introduced a regression,
tst_qmetatype test was not meant to be removed.

Change-Id: I5456ffbbd9d9f8e461f828c6183e46dabf67952b
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-04-02 03:07:12 +02:00
Fabian Bumberger
2c36469a16 QNX: Fix OpenGL autotest
On QNX grabbing the frame buffer returns the content of the back buffer.
In order to execute the OpenGL tests properly a swapBuffers is executed before
in order to be able to retrieve the content of the front buffer.

The patch also documents this platform behavior.

Change-Id: I7a501818ec6eea061f2f54f95854f68cb72e0534
Reviewed-by: James McDonnell <jmcdonnell@qnx.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2014-04-01 23:35:21 +02:00
Simon Hausmann
30b334ffeb Remove docs for javascript core jit configurability
This should've been removed in commit 24f1025663

Task-number: QTBUG-37832

Change-Id: I3404f17c904dbb462773f40371d09b0e58a0930d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-04-01 23:28:17 +02:00
Friedemann Kleint
9a14731b7c Windows CE: Fix message about freetype font rendering.
Task-number: QTBUG-37976

Change-Id: Ib4bf6ba8f62e2dc4f3860313442fa57c67f06d9a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-04-01 19:18:43 +02:00
Laszlo Agocs
d8281a92b8 Do not set fwdcompat bit for a compatibility profile QGLFormat
AMD drivers do weird things. Provide a workaround.

Task-number: QTBUG-37909
Change-Id: Idabd6ebb6e1447cb9bd92c7711a50aaa8575b9d6
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2014-04-01 19:18:43 +02:00
Alberto Mardegan
0a86c31272 When looking up the window hierarchy, stop at foreign windows
If the window being activated is an embedded window, the parent window
will be a foreign window (usually not even belonging to the current
process); we shouldn't attempt to focus it.

Task-number: QTBUG-37984
Change-Id: I2ea03a86b30bbc43cde643e18e0e1d020e5f2c84
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-04-01 15:54:49 +02:00
Laszlo Agocs
b4128d0f7d Use an offscreen surface in VAO cleanup
Avoid failing the makeCurrent() on iOS that does not currently support
using a window with different contexts.

Change-Id: I2e10ad7e382161625a78518d02ad94edaff591ca
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2014-04-01 15:51:33 +02:00
Maurice Kalinowski
30db2159aa Fix offset calculation on WinRT
According to MSDN "the offset must be a multiple of the allocation
granularity". We use this already for the win32 version by splitting
into offsetLo and offsetHi. However, we did not convert it back to the
correct argument passed for MapViewOfFileFromApp.

Now all auto-tests for mapping succeed.

Task-number: QTBUG-37773
Change-Id: I7e43f906cb93164b58f4e5e3f88388cdace865d7
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
2014-04-01 12:29:14 +02:00
Andrew Knight
caf34b9f0a WinRT winmain: Pass ImagePath as part of ImageParams in Xap packages
ImageParams is used to pass arguments to main(), but when used the
original argv[0] is dropped. To remedy this, expect argv[1] to contain
the same value found in the Xap's ImagePath.

Change-Id: I2fb3b9956304fdcdeec4424ea56289d56ad4fe0b
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-04-01 12:28:10 +02:00
Konstantin Ritt
b0718bfaf4 Fix unused variable warning
> qstring.cpp:5325:1: warning: 'defaultCollator' defined
> but not used [-Wunused-variable]

Change-Id: I29fe2006a678f4f0b3b504b90120c0e99d7090fb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-04-01 12:20:16 +02:00
Kalle Viironen
3c070b58b2 Use configure -confirm-license option also in commercial Qt versions
Pass the -confirm-license option to external license checker which is
used in Qt commercial version.

Change-Id: I62326d1e6a8307dae64535ecf2ced762130b7e8f
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Samuli Piippo <samuli.piippo@digia.com>
2014-04-01 11:15:52 +02:00
J-P Nurmi
0cb2c760c2 Item views: respect selection mode when closing an editor
Task-number: QTBUG-31411
Change-Id: I1a52eb739e0bc2afa7227f006461916df8ecaf48
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
2014-04-01 05:27:00 +02:00
J-P Nurmi
cc08fc7bfd Item views: respect focus policy when closing an editor
Task-number: QTBUG-31411
Change-Id: Ib0a72755c35a553653ea014672d59979a550b7ae
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
2014-04-01 05:26:50 +02:00
Maurice Kalinowski
f4f23bd5b0 Add support for device capabilities on WinRT
WinRT distinguishes between regular capabilities and device
capabilities. For now the latter section are location, microphone,
proximity and webcam. Hence we must add those properly to the generated
manifest.

However, Windows Phone currently combines all of these into the
Capability section, so add a warning if someone uses devicecapabilities
for Windows Phone.

Task-number: QTBUG-37932
Change-Id: I8e9550f29b6afdea3737cc85bdc68344fc04223d
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
2014-03-31 19:50:37 +02:00
Andrew Knight
423823dd2d d3dcompiler_qt: Improve shader source structure
The following adjustments are made:
 - A precompiled path, defaulting to a QRC path, is added for looking
   up precompiled shaders
 - The standard service source/binary paths are created if needed, in
   order to avoid fast-fails when the service cannot create the structure
   itself fast enough.

Change-Id: I966e54c0b35bafdaf0b3a32b76eb896308aca6db
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-03-31 19:50:37 +02:00
Laszlo Agocs
c4aabeb2b8 Propagate textureChildSeen properly
even if setParent() is not called afterwards.

Change-Id: Ie54e227c7adda2710fbd46176e9a15252aef2985
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-03-31 19:50:37 +02:00
Friedemann Kleint
ebd8530cbc Make tst_qopengl more verbose.
Add more checks, compare size of converted images.

Task-number: QTBUG-31611

Change-Id: I995071f4be097c08aa2917be03fd7196882ae2c2
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-03-31 19:50:37 +02:00
Friedemann Kleint
18a444c330 Send touch update events to widget if there is a gesture pending for it.
Otherwise, touch update/end events were ignored and the gestures
were never triggered (unless a native widget was used).

Task-number: QTBUG-37759

Change-Id: I4b0145ffe535065e1458164b67bc8d9e33a4af97
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-03-31 17:30:32 +02:00
Konstantin Ritt
4a46b15514 Make QWindowsMultiFontEngine support deferred fallback families query
This finishes 800232e1d3, which encovered
a tricky issue in QFontEngineMultiQPA::createMultiFontEngine().

Task-number: QTBUG-37836
Change-Id: I6d432e09e755f5d9ded09752c4c092f4857ad224
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-03-31 17:28:00 +02:00
Konstantin Ritt
5f19e2c8f3 Fix QFontCache::Key comparison for custom font fallbacks case
Just a C&P typo, of course we have to compare lists, not their sizes.

Change-Id: I40542035b87f5bb8d75207cb02c0826cc3a2a413
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-03-31 17:27:47 +02:00
Konstantin Ritt
5dfe7b5fed Drop dead code
The QFontEngineMulti's `base` font engine always non-null.

Change-Id: I5092b66bc839a6a3216ffa0b0afe55a8b62be620
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-03-31 17:27:24 +02:00
Paul Olav Tvete
eccf1c51a6 Android: input method fixes for SwiftEdit keyboard
* Report correct pre-edit information when calling updateSelection()
  on endBatchEdit()
* Fix getExtractedText() to report the correct offset and cursor position,
* Fix setSelection() to use the correct cursor position.

Task-number: QTBUG-35689

Change-Id: I7e8427d0f5a18abf18ba2faf9d510756ddf6044b
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-03-31 14:01:35 +02:00
Tor Arne Vestbø
e432787ad0 iOS: Share default-FBO for windows between contexts in a share-group
The current implementation of QOpenGLContext sharing assumes that the
contexts form a tree and that leaf-nodes are destroyed before their
parents.

We build on this assumption and keep track of the default FBOs for
windows in the root context of the tree. This allows two shared
contexts to both makeCurrent() on the same window surface without
resulting in two FBOs being set up (which doesn't work on iOS due
to the CEAGLLayer already being tied to another render-buffer).

Change-Id: Ib9f8c597effe488480fe99e10846be22c257f490
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-03-31 13:48:52 +02:00
Marc Mutz
38b66bdcde QNX: use QStringList::join(QChar) overload
Doesn't construct a temporary QString.

Change-Id: I368c5f997f74c1ce6b2930ac4df292c7a6d5c87c
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2014-03-31 13:12:38 +02:00
Kai Koehne
b5731ceef1 Update copyright year in tools output
Change-Id: I9ee9604303b3cb29f89a4252df5af35e729f6249
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
2014-03-31 12:46:44 +02:00
Kai Koehne
1bc0df35d1 Updated outdated README for thread examples
Change-Id: I3fa8ac350dc89546793d49a31cc5a152c1f55958
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2014-03-31 12:46:38 +02:00
Kai Koehne
24ac0efd97 Update copyright year in LICENSE.LGPL
Change-Id: I38c4512751de33d813567bf41b249a7123c9a38a
Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
2014-03-31 12:36:33 +02:00
aavit
624ac989ce Fix compile for embedded Android
It also has a broken declaration of posix_memalign

Change-Id: Ie8f245564f80b04901425729b46953828204efaf
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2014-03-31 12:13:15 +02:00
Samuel Gaist
35a11d6fce OS X QSettings auto test/writing check update
This patch aims to provide an updated test that follows changes started
in 10.7: new rule is that only root can access SystemScope settings. It
also disables the sync() workaround code path which is at least not
executed during the tst_QSettings execution and returns wrong value to
the test.

From Apple's documentation:
"Note that modification of some preferences domains (those not
belonging to the “Current User”) requires root privileges (or Admin
privileges prior to OS X v10.6)—see Authorization Services Programming
Guide for information on how to gain suitable privileges"

https://developer.apple.com/library/mac/documentation/CoreFoundation/Reference/CFPreferencesUtils/Reference/reference.html

[ChangeLog][QtCore][QSettings] QSettings now returns the correct value
for isWritable() when using SystemScope settings.

Task-number: QTBUG-9824
Task-number: QTBUG-21062
Task-number: QTBUG-22745

Change-Id: Ib6a1490ec596b99d189ec4de9a0f28ecfd684172
Reviewed-by: Liang Qi <liang.qi@digia.com>
2014-03-31 12:12:21 +02:00
Maurice Kalinowski
0c7241ccf2 Add documentation for WINRT_MANIFEST
Basically a copy of the inline documentation inside the prf file.

Task-number: QTBUG-37788
Change-Id: Ie6df1597297223be778c748aad525f5521232cb7
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2014-03-31 12:09:43 +02:00
Andy Shaw
f2111ff1d7 NSScreen screens may be empty so add the main screen in that case
In some circumstances NSScreen screens can be empty yet there is still a
valid main screen so we prevent any problems arising by ensuring we work
with the main screen in that instance.

Task-number: QTBUG-37876
Change-Id: I5827009a9894eb8c1d4f5addc6c6f59e1c50c3d0
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-03-29 21:23:18 +01:00
David Fries
24ac9f518d XCB: use requested primary screen DISPLAY=:0.1 when possible
The current logic requires primary->output to not be specified, or
match the output number.  This fails when the output by that number
doesn't currently have a display attached, as non-connected outputs
are skipped.  This means setting the display to :0.1 for Qt5 will put
the window on :0.0 and it can't be moved to :0.1 after the fact.  The
solution is to pick the first output on the requested screen, then
override if an output exactly matches the primary output value.  That
way it will at least be on the requested screen.

Tested with Xephyr, ATI, and nVidia (proprietary driver), where the
nVidia had the primary output disconnected.

Task-number: QTBUG-15418
Change-Id: I7951dcef74cb135dc12a6e133a71c5852eae9778
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-03-29 21:23:03 +01:00