Commit Graph

26608 Commits

Author SHA1 Message Date
Andy Shaw
82b8158022 Windows: Extract the suffix from the simple file filter case
Since the filter can either be something like "*.txt" or "Text Files
(*.txt)" then it should have the suffix default to "txt" in both cases.

Change-Id: I36a72f5bf0fb12c84db103f91c4fca94d0d933ae
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2016-03-02 14:24:45 +00:00
Oswald Buddenhagen
3bcc303711 fix non-git non-prefix shadow builds
turns out we need forwarding .pris in this case: without them,
QT_MODULE_INCLUDE_BASE points into the build dir, so we fail to find the
pre-generated headers.

an alternative would be writing primary module .pris which already take
that into account, but that would just add even more arcane code paths.

Task-number: QTBUG-51521
Change-Id: I59f2a0d3f2095c9dfa0a8d1cabfc007a30bd2d23
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2016-03-02 11:06:39 +00:00
Alex Trotsenko
0db793fe41 QAbstractSocket: fix a possible crash in waitForReadyRead()
waitForConnected() could return 'true' even when the socket was
disconnected.

Change-Id: I99d9c9730f4e9b6c8a54696eb92c24c3ef36d261
Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com>
2016-03-02 11:04:03 +00:00
Romain Pokrzywka
359546b069 evdevtouch: ensure touchpoints released with typeB mtdev drivers
This happens in one particular case: when the touchpoint corresponding
to the last slot is reported as released and a new point is reported
as pressed right after, so that both events happens within a same sync.
In this case, there will be two ABS_MT_TRACKING_ID events received,
first with -1 to report the released touchpoint, then with a new id
to report the pressed touchpoint, then the SYN_REPORT afterwards.

This results in m_contacts[m_currentSlot].state being updated to
Qt::TouchPointReleased then Qt::TouchPointPressed, with the former never
being reported during the handling of SYN_REPORT.
To handle this scenario we need to inspect m_lastContacts for a change
in tracking id for a particular slot combined with a non-null state,
indicating that slot has not yet been reported released and processed
in the previous sync. (the state for processed released points is reset
to zero at the end of the SYN_REPORT handler)

Task-number: QTBUG-51563
Change-Id: I01493008cf9f267e758d974dab29556d0a1425ea
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
2016-03-02 06:34:06 +00:00
Vincas Dargis
361142b5fc PostgreSQL: Fix memory leak in subscribeToNotification() and unsubscribeFromNotification()
Both subscribeToNotification() and unsubscribeFromNotification() are missing PQclear calls
to free PGresult.

Task-number: QTBUG-51412
Change-Id: I72ec3438b22bc99205c984b67b922766bcdbed08
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2016-03-01 22:46:16 +00:00
Frederik Gladhorn
ae2d11df10 Add changelog for 5.6.0
Change-Id: Ib3177028cf1cbd124ebf1449d5e00039f38b1a92
Reviewed-by: Tuukka Turunen <tuukka.turunen@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
2016-03-01 11:23:43 +00:00
Friedemann Kleint
defd302f64 qt_handleMouseEvent(): Scale coordinates.
Fix tst_qwindow::testInputEvents() to pass when High DPI scaling is in effect.

FAIL!  : tst_QWindow::testInputEvents() Compared values are not the same
   Actual   (window.mousePressLocalPos): QPointF(6,17)
   Expected (local)                    : QPointF(12,34)
.\tst_qwindow.cpp(771) : failure location

Task-number: QTBUG-46615
Change-Id: I1ccacc807f3390b6ab26a369d13fd7896e64cbca
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
2016-03-01 11:05:53 +00:00
Andy Shaw
bd43dcae8a Only copy the data if the image is not null
If the image was unable to do the smooth scaling due to running out of
memory then it will return a null QImage, so this should be checked before
copying the data to prevent a crash.

Change-Id: I82a6443ce2d701c45110b5dd3c5ed4813d078312
Reviewed-by: aavit <eirik.aavitsland@theqtcompany.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
2016-03-01 10:12:33 +00:00
Maurice Kalinowski
cb6d751efa Fix tests for platforms without process support
Change-Id: I2d1cefdb5ff574635a75b54499efc392aba84434
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2016-03-01 09:27:13 +00:00
Tim Blechmann
495e8c2054 corewlan: avoid unnecessary currentInterface.serviceActive checks
currentInterface.serviceActive is relatively expensive and causes
significant spikes in cpu load. Luckily, we can easily memorize
the result.

Change-Id: Ic7983b63bba5507bc1e34b0644e73365dc44f200
Task-number: QTBUG-45798
Task-number: QTCREATORBUG-15741
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
2016-03-01 09:20:41 +00:00
Tim Blechmann
c2530c7d20 Windows QPA: QWindowsWindow - always treat WM_ERASEBKGND as handled
under certain conditions, a WM_ERASEBKGND message is sent, to a window
without update region. in this case we declare the message as 'handled'
to avoid flickering.

Task-number: QTBUG-48235
Change-Id: I2ed27e020db4b54ec93a445cb219de00f38a62fd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2016-03-01 09:20:31 +00:00
Venugopal Shivashankar
d7d4a3ecfc Doc: Add the missing \l command and the target section title
Change-Id: I8478467a074ecff9834850c36961ae8e218cea02
Task-number: QTBUG-51290
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
2016-03-01 08:56:48 +00:00
Marc Mutz
3e58e15c3d QJsonPrivate::q_littleendian: mark as primitive/movable, depending on T
Inherit the type-classification from the underlying type.

This amends commit 4889269ff0,
which introduced a QVector<QJsonPrivate::offset>, but failed
to mark the payload as primitive.

Change-Id: I525a0456a550e0694b33b36b4aa71475aeac192b
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-03-01 08:48:52 +00:00
Gabriel de Dietrich
8b94ceaff8 QMacStyle and QCocoaTheme: Fix selected item color for non-native menubar
Change-Id: I3b55e9ce896383338cf6ed768d912ca1835b7742
Task-number: QTBUG-28960
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2016-02-29 22:52:06 +00:00
Gabriel de Dietrich
717ff94639 QMenuBar: Acknowledge AA_DontUseNativeMenuBar
Change-Id: I756f4181d66ef6e79ab7b7be8a23a10171a9f30c
Task-number: QTBUG-28960
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2016-02-29 22:51:57 +00:00
Joerg Bornemann
6f75c189e1 Fix crash in QProcess::waitForFinished on Windows
Suppose the user connects QProcess::readyReadStandardOutput with a
slot that calls QCoreApplication::processEvents.
Assume the event loop did not handle events between QProcess::start
and QProcess::waitForFinished. The process writes to stdout and exits.
QProcessPrivate::waitForFinished calls drainOutputPipes which calls
QWindowsPipeWriter::waitForReadyRead. This in turn will trigger
_q_processDied via the readyRead signal and processEvents.
_q_processDied will delete the pid object and set pid to null.
After drainOutputPipes returns, _q_processDied is called again but it
must not be called if pid is already destroyed.

Prevent calling _q_processDied if pid is null.

Task-number: QTBUG-48697
Change-Id: Iee047938ee1529057a1a43d71f4e882750903c7e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-02-29 17:52:58 +00:00
Friedemann Kleint
c7e213334b tst_QDialog: Instantiate test dialog on the stack.
Remove the member variable and instantiate only where needed
on the stack to prevent it from interfering with windows created
by other tests.

Remove flag Qt::X11BypassWindowManagerHint as it does not seem
to have any effect.

Task-number: QTBUG-51516
Change-Id: I3bf88bf148f365c57aaf989671f8b9c3c3f0d8e2
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@theqtcompany.com>
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2016-02-29 15:04:40 +00:00
Friedemann Kleint
837d75eed5 qt_handleTouchEvent(): Scale coordinates when converting touch points.
Remove outdated static functions to convert touch points and use
QWindowSystemInterfacePrivate::fromNativeTouchPoints().

Fix tst_QWidget::underMouse() to pass when High DPI scaling is in effect.

.\tst_qwidget.cpp(9000) : failure location
FAIL!  : tst_QWidget::underMouse() 'childWidget1.underMouse()' returned FALSE. ()
.\tst_qwidget.cpp(10161) : failure location

Task-number: QTBUG-46615
Change-Id: Ie73dba610da357e7be396f2ea0229987f7503462
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
2016-02-29 15:04:26 +00:00
Joerg Bornemann
d345783e4d Remove superfluous Windows CE special cases from tst_qprocess.cpp
Use default timeouts for wait functions. The increased timeouts will
only have an effect if the tests fail.
Print process errors if the process could not be started, while we're at
it.
Contract consecutive "#ifndef Q_OS_WINCE" blocks.

Change-Id: I6324e4c5b91b89ebb2580635b88705bbda922907
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2016-02-29 10:01:40 +00:00
Gabriel de Dietrich
f253f4c331 Track target widget when wheel events are received
This issue is reproducible on OS X when using a Magic Mouse
or a combination of Magic Trackpad and regular mouse. In these
cases it's possible to start a scrolling gesture on one widget
and move the mouse cursor over another widget.

Although we send the wheel event phase information, we never
made any use of it. This means that a widget would start
scrolling even though it never received a ScrollBegin event.

In this patch, we make sure the scrolling cycle is respected
and that once a widget starts scrolling, it'll be recieving
all the wheel events until a ScrollEnd event reaches the
application.

For those input devices not supporting a proper phase cycle,
we introduce a new (undocumented) phase value, NoScrollPhase.
If the wheel event phase is NoScrollPhase, then we ignore
the current scroll widget and proceed as usual. This value
is the default for wheel events. It's up to the platform
plugin to set the proper phase value according to the data
received from the OS.

Finally, we fix a few of QWheelEvent constructors to properly
initialize the phase and source properties.

Task-number: QTBUG-50199
Change-Id: I3773729a9c757e2d2fcc5100dcd79f0ed26cb808
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-02-29 08:19:51 +00:00
Boris Pek
a17a7d37c2 Update QMAKE_LIB in win32-g++ mkspec
`ar' tool from latest binutils shows warning:
ar error: `u' modifier ignored since `D' is the default (see `U')

Warning message includes word "error" so QtCreator processes it as
error in UI.

`ar' command-line option `u' might be dropped safely because it is
unnecessary. Option `c' is added to suppress extra `ar' warnings.

Other build systems are also affected. For example, automake:
https://bugzilla.redhat.com/1155273

Change-Id: Ia378b720503d93b0c0c12ae7a5f38f4d7c32eee5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-02-27 08:09:15 +00:00
Friedemann Kleint
c3761bf6a7 tst_QDialog::snapToDefaultButton(): Do not check on exact cursor position unless hint is set.
Given the flakyness of cursor positioning, loosen the check to only verify
that the cursor is outside the window. The hint is only active on Windows
depending on a system setting.

Task-number: QTBUG-51516
Change-Id: I474d251cc41e68f182baf8dba84eaf38d914d7ee
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2016-02-26 19:17:19 +00:00
Friedemann Kleint
9f134750a1 QPlatformWindow::screenForGeometry(): Do not call mapToGlobal() on top level geometry.
Use mapToGlobal() only for foreign windows passing relative coordinates.
Amend change 9915630d08.

Task-number: QTBUG-50206
Task-number: QTBUG-51320
Change-Id: Idee60cc8ea8004c0355ce78a00f807798836b49c
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
2016-02-26 09:48:39 +00:00
Edward Welbourne
45ae0cb780 Remove a mis-placed QSKIP().
It made us skip the rest of the test, not just the small set of
sub-tests that were conditioned by the if () in whose else it sat.

Change-Id: I5e914e0aeb9d5ba44b21966d071aaccbc590365d
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
2016-02-26 09:22:35 +00:00
Marc Mutz
0a8fd9c620 tst_qguimetatype::flags(): port to QTypeInfoQuery
QTypeInfoQuery was introduced for 5.6 to decouple isStatic
and isRelocatable so old code continues to work. But since
this test still uses !isStatic to mean trivially-relocatable,
it will fail as soon as one of the checked types is marked as
Q_RELOCATABLE_TYPE instead of Q_MOVABLE_TYPE.

Incidentally, such a change is in the pipeline for Qt 5.7/5.8,
so fix the test by porting to QTypeInfoQuery. Do this in 5.6,
because that's when QTypeInfoQuery was introduced.

Change-Id: I06f815f26ca9b430e124c4a2f8de2a729999762b
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-02-26 09:12:23 +00:00
Kai Koehne
c320d5221f Win: Prevent crash in qt_message_fatal()
The source argument can be nullptr, e.g. if debug information
has been stripped out.

Task-number: QTBUG-51195
Change-Id: Ie229c82278c420200cad33c19e8c3f52ab7f12c3
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-02-26 08:41:39 +00:00
Friedemann Kleint
4905bf0654 Windows Accessibility: Fix warnings as shown by Qt Creator's Clang based code model.
Introduce C++ casts and add some conversions. Where possible, increase
const-correctness. Remove trivial conversion function
BSTRToQString().

Task-number: QTBUG-50804
Change-Id: I1820d4693db8bc0dfa6c4a5fecd768cf64a4405c
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2016-02-26 08:24:38 +00:00
Friedemann Kleint
403b7d4a21 Windows Accessibility: Refactor code creating COM arrays.
Introduce a convenience function for allocating arrays and use
algorithms.

Task-number: QTBUG-50804
Change-Id: Iead75f8297923fd13efcfc7987f76262777d074b
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2016-02-26 08:24:34 +00:00
Friedemann Kleint
7984f24b1f Fix potential crash in QWindowsIA2Accessible::QueryInterface().
QWindowsIA2Accessible does not implement IAccessibleRelation (found
when replacing the C-style casts by static_cast<>). Remove the
corresponding branch.

Task-number: QTBUG-50804
Change-Id: I80901634044f85e413666f34b91be2e6ad70da91
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2016-02-26 08:24:31 +00:00
Friedemann Kleint
d1dfcc776f Windows QPA: Apply scaling when fixing maximized/frameless geometry.
Task-number: QTBUG-8361
Task-number: QTBUG-51327
Change-Id: I590702df8f6313701fe69d0873657c6af53fee16
Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
2016-02-26 08:24:27 +00:00
Friedemann Kleint
cf846d6a8a Fix QHighDpi::fromNative(QRect, QScreen *, QPoint).
Call fromNative() instead of toNative().

Task-number: QTBUG-46615
Change-Id: I1e648a2680126d1f560e71573f7346b053fe676b
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
2016-02-26 08:24:24 +00:00
Friedemann Kleint
827420c4c6 Windows QPA: Fix scrolling down with mouse wheel.
Use GET_WHEEL_DELTA_WPARAM() instead of HIWORD and casting.

Fix breakage introduced by b20548f999 .

Change-Id: I11bd97d73c12d72e824e3f769e9c402975f27d48
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2016-02-26 08:24:21 +00:00
Friedemann Kleint
ea757da436 QWindowsTheme: Run SHGetFileInfo() in a thread.
Windows 10: SHGetFileInfo() (as called by item views on file system
models has been observed to trigger a WM_PAINT on the mainwindow
for totally obscure reasons, causing a recursive repaint. Suppress
this by running it via QThreadPool.

Task-number: QTBUG-45298
Task-number: QTBUG-48823
Task-number: QTCREATORBUG-14888
Change-Id: I7479102b9b8fb0771681260298c3d735e66f220f
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2016-02-26 07:17:00 +00:00
Friedemann Kleint
c0963486ce QScreen::grabWindow(): Scale the coordinates.
The coordinates need to be scaled before calling QPlatformScreen::grabWindow()
On return, set a devicePixelRatio on the pixmap.

Adapt the QWidget test to scale the grabbed pixmaps.

Fixes pixeltool displaying the wrong part of the screen when High DPI scaling
is in effect.

Task-number: QTBUG-46615
Change-Id: I12de7df0da669230cf0fae74f4a42d43f061d5ff
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
2016-02-26 07:16:48 +00:00
Kai Pastor
44357dbe42 QMacPrintEngine: Really set the printer resolution
As already reported in 2009 (Qt 4.6) QPrinter never actually set the
printer resolution. This change adds the necessary call to
PMPrinterSetOutputResolution (available since OS X 10.5).

[ChangeLog][QtPrintSupport][OS X] QMacPrintEngine now really sets the
printer resolution.

Task-number: QTBUG-7000
Change-Id: I3e851b62e1a7ed78564a8a6fd576b0a18d7eff63
Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
2016-02-25 18:42:47 +00:00
Jan Arve Sæther
debc44cf11 Add missing initializations in QWheelEvent
Change-Id: I77f014934b97aa6729d568996f0e6c03feb44588
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-02-25 18:39:21 +00:00
J-P Nurmi
45feee5f93 Fix QDBusPlatformMenu::menuItemAt()
Other platform menu implementations check that the index is not out of
bounds, so make QDBusPlatformMenu::menuItemAt() do the same.

Change-Id: I1d2e42681f2dbfff8b80044141d620bddbc3b6aa
Task-number: QTBUG-51372
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
2016-02-25 18:33:34 +00:00
Simon Hausmann
38944d662e Fix syncqt.pl not respecting #pragma qt_no_master_include in files with Windows line endings
We need to do the same chop trick that we do further down the file.

Change-Id: If4f832f375a11473e66adfcfa76a3b4504b3d406
Task-number: QTBUG-51324
Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-02-25 16:25:37 +00:00
Thiago Macieira
469e293286 Fix crash when a standard bus isn't available
Commit 1f6fa1f37a added a way of
suspending delivery of messages to standard buses when they connect and
resuming delivery when the main loop starts. As a side-effect, we caused
an attempt to do dispatching even after the connection failed. The D-Bus
library doesn't like that.

Task-number: QTBUG-51299
Change-Id: I0c94a5c2846b48c8aea7ffff143564f7fcede890
Reviewed-by: David Faure <david.faure@kdab.com>
2016-02-25 16:25:29 +00:00
Friedemann Kleint
e695b92464 QWindow: Use scaling when calling QPlatformWindow::mapTo/FromGlobal().
The platform window API uses native pixels.

Task-number: QTBUG-50206
Change-Id: I1385d34bb0eacd61d77cad483e2a863d129ed129
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
2016-02-25 11:20:18 +00:00
Mark Brand
1db9962cef QSqlDriver::sqlStatement: documentation fix
Change-Id: I12bd612c48020594b5377b04aeccc51f7c4be53d
Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
Reviewed-by: Vyacheslav Grigoryev <armagvvg@gmail.com>
2016-02-24 16:38:09 +00:00
Joerg Bornemann
696a4bc2f9 Remove legacy from tst_qprocess.cpp
The windows.h include is not needed, the enums are properly known to
the metaobject system nowadays, and qprocess_p.h already has a
QT_NO_PROCESS guard.

Change-Id: I6bbdce19f097feb8260c51a29425279049aa0192
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2016-02-24 16:05:05 +00:00
Joerg Bornemann
479167cd4e tst_QProcess: Transform loop into additional test rows
Do not use a loop to execute similar but separate tests in
tst_QProcess::softExitInSlots. Use separate test rows with
distinguishable data tags instead.
This way we can deduce from CI output which part of this test failed.

Change-Id: Ic9bc996f2ced11b2bb1c33c1970e64937d860976
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2016-02-24 16:05:03 +00:00
Anton Kudryavtsev
9e59174b49 QPixmap: check data ptr in isQBitmap()
Task-number: QTBUG-51271
Change-Id: I670e074ced1217d2614fa334eb365e40ef80b8b1
Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-02-24 12:13:56 +00:00
Eskil Abrahamsen Blomfeldt
d8e65d5756 Fix font dialog with missing font family and pixel sizes
Two related errors: When a non-existent font was set on
the font dialog, the GTK native font dialog would just pick
a default one. Also, if the font size was specified with
pixel size, we would request -1 as the point size from
Pango.

The fix for both is to resolve the font before applying
it to the font dialog, and set the actually resolved family,
as well as point size. Note that if the point size is
explicitly set, then we pass this to the font dialog,
since the one returned by QFontInfo will always be
calculated based on the (rounded) pixel size, so it will
usually not match the request.

This fixes tst_qfontdialog::setFont().

[ChangeLog][GTK2][Dialogs] Fixed requesting a font from
font dialog with a non-existent family name and/or pixel
size.

Task-number: QTBUG-51148
Change-Id: Id9c783407778546b0cf3f9c3ab19f124e76c878e
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
2016-02-24 09:06:06 +00:00
Błażej Szczygieł
544bbcbcda QtWidgets: Always deliver the wheel event to submenus
When mouse events are delivered using XInput2 then the wheel event is
missing on submenus, because XInput2 delivers the wheel event only to
the root menu.

Task-number: QTBUG-50996
Change-Id: I757c0b5e3aea4606d2e45dfc8180c263e02167ca
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-02-24 09:03:53 +00:00
Błażej Szczygieł
7091be1b79 xcb: Deliver mouse enter event to window when closing modal window
When a modal window is closed and the mouse is not under the modal
window - find a proper window and send a fake enter event.

Added auto test for checking enter event on window when modal window
is closed.

Task-number: QTBUG-35109
Change-Id: I370b52d386503820ac9de21e6d05fd019ca456ec
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-02-24 09:03:14 +00:00
Eskil Abrahamsen Blomfeldt
63b5f5cb98 Disable ligatures using existing mechanism in HB, not workaround
This is a partial revert of fef629cd91.
When doing the original fix, I didn't realize that there was a
mechanism for disabling specific OpenType features in Harfbuzz.

This commit reverts the hack to disable GSUB completely and disables
the ligature features instead.

Task-number: QTBUG-44393
Change-Id: I30f0080eb3897f37219df7f2d50843f3a4556e13
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2016-02-24 09:01:29 +00:00
Friedemann Kleint
bf44f002ca Blacklist tst_QTreeView::setSortingEnabledChild() on Windows.
Task-number: QTBUG-51149
Change-Id: I7887aea5a6046353e235655665e53b5953f0854b
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
2016-02-24 08:20:11 +00:00
Błażej Szczygieł
57ecd5aeeb QtWidgets: Proper delivery of enter/leave event to context menus
First-level context menu grabs the mouse, so all mouse events are
delivered to it. This menu passes the mouse events to submenus. Any
platform delivers mouse enter/leave event differently when window is
grabbed. This patch unifies event delivery to context menus - it can
block some unwanted events and it emulates fake events if necessary.

This patch can reduce duplicated events and can provide proper enter
or leave event to additional widgets in the context menu. It can also
prevent submenu from unwanted close on Windows and X11.

Added autotest.

Task-number: QTBUG-45565
Task-number: QTBUG-45893
Task-number: QTBUG-47515
Change-Id: I7dd476d0be23afa34e947e54aef235012d173dcf
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-02-24 04:33:36 +00:00