Commit Graph

30973 Commits

Author SHA1 Message Date
Edward Welbourne
a1c27748d2 Make QLocale consistent about special handling of the C locale
QLocale::matchingLocales() simply created each locale using the basic
data, without (unless the matching conditions stipulated Language C)
applying number-options hacks that it applies everywhere else, when
creating the C locale.  Thus the C locale in its returned list (if it
wasn't the only entry) ended up with the default number options,
without omiting separators in numbers.  Thus QLocale::c() didn't
actually appear as an entry in the list.  Discovered while
investigating QTBUG-58947.

Added a dumb autotest that checks various ways of getting the C locale
do actually give us equal locale objects.  Fixed matchingLocales() to
apply the same hack as is used elsewhere for the C locale.

Change-Id: I263f31da623052b63171f5b5a83c65802383df21
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-03-06 09:51:49 +00:00
Oleg Yadrov
f2e103296f QMenu: make wide submenu appear on the same screen with its parent menu
On a multi-display system wide submenu might either appear on wrong
screen or not appear at all (depending on the specific display
configuration).

Task-number: QTBUG-56917
Change-Id: I40013b0bee340a01ae1c08a5e074afa63da4dbfd
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Reviewed-by: Błażej Szczygieł <spaz16@wp.pl>
2017-03-04 05:37:30 +00:00
Oleg Yadrov
ad5565b643 Wide QMenu: fix size and position
This patch fixes 2 issues related to wide menus:
1) Menu took on full screen height when menu width was larger than
screen width;
2) On a multi-display system wide menu might appear on wrong monitor
(not the one where show event was triggered).

The idea is we limit parent menu and all its submenus within the screen
where it was opened.

Note that this patch fixes only geometry-related issues and there are
also some style flaws which need to be addressed (for example, currently
the text does not elide if it doesn’t fit to the menu’s width).

Task-number: QTBUG-56917
Change-Id: I7e9ff4a48bf03060d76e34d33a13ad6cc890c133
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
2017-03-04 00:43:50 +00:00
Oleg Yadrov
d46afc24c1 QMacStyle::sizeFromContents(CT_Menu): take proxy style into account
This is missed in 10d0f4cba9

Change-Id: If3566eb4b1f00f6882c290c83e10e51e1bf1d6d9
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
2017-03-03 21:21:45 +00:00
Jake Petroules
840aa67146 Fix Bitcode handling for both makefile and Xcode generators
This fixes an issue which caused certain iOS projects to fail to link
when building with Xcode, and also fixes an issue where projects were
only ever built with -fembed-bitcode instead of -fembed-bitcode-marker
for debug builds with the makefile generator.

Task-number: QTBUG-58754
Change-Id: Icf0c9f0d64dbc0b38d6c48bf635c5383a78bd6d5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
2017-03-03 20:25:52 +00:00
Thiago Macieira
b736d2d7ce Remove the last remaining non-SSL use of QMutexPool in Qt
Task-number: QTBUG-59164
Change-Id: Idd5ceba1eba34cb78c46fffd14a734735991f4fb
Reviewed-by: David Faure <david.faure@kdab.com>
2017-03-03 15:29:57 +00:00
Stig Bjørlykke
62e6aa6195 QVector: Avoid implicit conversion warnings
This fixes compiling an application using QVector and -Wshorten-64-to-32
on a 64-bit system without getting this warning:

 ... 5.8/clang_64/lib/QtCore.framework/Headers/qvector.h:695:18:
 warning: implicit conversion loses integer precision: 'typename
 iterator_traits<QString *>::difference_type' (aka 'long') to 'int'
 [-Wshorten-64-to-32]
    int offset = std::distance(d->begin(), before);
        ~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 ... 5.8/clang_64/lib/QtCore.framework/Headers/qvector.h:731:35:
 warning: implicit conversion loses integer precision: 'long' to
 'const int' [-Wshorten-64-to-32]
    const int itemsToErase = aend - abegin;
              ~~~~~~~~~~~~   ~~~~~^~~~~~~~

 ... 5.8/clang_64/lib/QtCore.framework/Headers/qvector.h:740:39:
 warning: implicit conversion loses integer precision: 'long' to
 'const int' [-Wshorten-64-to-32]
    const int itemsUntouched = abegin - d->begin();
              ~~~~~~~~~~~~~~   ~~~~~~~^~~~~~~~~~~~

Change-Id: I52d85908f4aac20c7e9ac8063ac760ce52f85541
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-03-02 20:03:03 +00:00
Olivier Goffart
2b13ba0ca0 Fix UB in QWidgetItemV2::~QWidgetItemV2
We might get there because 'wid' is already partially deleted (called
from ~QObject). In that case, it is an undefined behavior to call a
QWidget member function on it. Use QObjectPrivate::get instead.

Change-Id: I6da314bf8385684d1332aa031a2d92012941303b
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2017-03-02 15:31:28 +00:00
Olivier Goffart
8387d87bdc QDialogButtonGroup: Fix removal of deleted buttons
As the destroyed() signal is emitted from ~QObject, it is not allowed
to use static_cast to a QAbstractButton on that pointer anymore.
And the qobject_cast will also fail which will keep a dangling pointer
in the hash.

Change-Id: If0d22fcc30cde87e771e70914c3afb04ea207289
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2017-03-02 10:42:55 +00:00
Eskil Abrahamsen Blomfeldt
6965b8a592 Fix crash for glyphs with height > 128
In fe97ecf408 we added support for
arbitrarily sized glyphs, since there is no guarantee that a glyph
will fit inside the em square. There was, however, a hardcoded max
size in the distance field generator, so for very tall glyphs we
could potentially get a crash.

[ChangeLog][QtGui][Text] Fixed crash for very tall glyphs

Task-number: QTBUG-57241
Change-Id: Id95c0f10d82a1294f7e7a51ac32e88a5a2e0a790
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2017-03-02 07:47:03 +00:00
Gatis Paeglis
1a5deb7e0e xcb: fix misuse of xcb_send_event
This fixes the following Valgrind warning:

"Syscall param writev(vector[...]) points to uninitialised byte(s)
Uninitialised value was created by a stack allocation"

The xcb_send_event() requires all events to have 32 bytes.
It calls memcpy() on the passed in event. If the passed in
event is less than 32 bytes, memcpy() reaches into unrelated
memory. And as it turns out, this behavior is actually
described in the xcb_send_event function's documentation.

This patch adds a macro that declares an event for safe
usage with xcb_send_event.

Change-Id: Ifcaab5e9a3b52b7f64ac930b423e0c7798bbfedb
Done-with: Uli Schlachter
Task-number: QTBUG-56518
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2017-03-01 15:15:18 +00:00
Thiago Macieira
fe2ab724de tst_utf8: Fix one of the overlong sequences to be what we meant
C0 to DF take one continuation byte; E0 to EF take two.

It's invalid UTF-8 anyway, but at least this is what the test row meant:
overlong sequence with 3 bytes of what should have been two.

This updates the comment to match the character that we were actually
testing.

Change-Id: I85a8bd6da2c44f52b4e3fffd14a75df2600487aa
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-03-01 12:27:17 +00:00
Jason Erb
9c7ef72c87 Fix registry function link error on Windows
Added library required by registry functions called by
QWindowsFontDatabase::readRegistryString.

Task-number:  QTBUG-59160
Change-Id: I8f6beee3cff4443c56bd835021d15122867e76e3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2017-02-28 15:08:00 +00:00
Jesus Fernandez
706bfa499a Fix "zero as null pointer constant" warning
qsqlrelationaldelegate.h:60:52: error: zero as null pointer constant [-Werror=zero-as-null-pointer-constant]
     explicit QSqlRelationalDelegate(QObject *aParent = 0)
qsqlrelationaldelegate.h:72:87: error: zero as null pointer constant [-Werror=zero-as-null-pointer-constant]
     QSqlTableModel *childModel = sqlModel ? sqlModel->relationModel(index.column()) : 0;
qsqlrelationaldelegate.h:93:87: error: zero as null pointer constant [-Werror=zero-as-null-pointer-constant]
     QSqlTableModel *childModel = sqlModel ? sqlModel->relationModel(index.column()) : 0;

Change-Id: I6e7de3cccf705b74018f522165886104194bf9be
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2017-02-28 15:04:47 +00:00
Thiago Macieira
04b8db3d57 Fix parsing of day-of-week names that start with another name
Task-number: QTBUG-59159
Change-Id: I95c9e502ccc74af3bcf0fffd14a69e0cd27ce96b
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-02-28 10:40:40 +00:00
Stig Bjørlykke
2ae8292d03 QList: Avoid implicit conversion warning
This fixes compiling an application using QList and -Wshorten-64-to-32
on a 64-bit system without getting this warning:

 ... 5.8/clang_64/lib/QtCore.framework/Headers/qlist.h:897:26:
 warning: implicit conversion loses integer precision: 'long' to 'int'
 [-Wshorten-64-to-32]
           int removedCount = e - n;
               ~~~~~~~~~~~~   ~~^~~

Change-Id: I688ed086805c431821c2ee6078fa5aeb631e7a07
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2017-02-28 09:57:03 +00:00
Stig Bjørlykke
17d780ad45 QTimer: Avoid implicit conversion warnings
This fixes compiling an application using QTimer and -Wshorten-64-to-32
on a 64-bit system without getting this warning:

 ... 5.8/clang_64/lib/QtCore.framework/Headers/qtimer.h:171:21:
 warning: implicit conversion loses integer precision: 'rep'
 (aka 'long long') to 'int' [-Wshorten-64-to-32]
         setInterval(value.count());
         ~~~~~~~~~~~ ^~~~~~~~~~~~~

Change-Id: I3e0407a7193c841308f7271c41a8dd5a2eb2a534
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2017-02-28 09:56:13 +00:00
Nico Vertriest
657bea873b Doc: added info about return type for function QMutex::try_lock()
qmutex.cpp:266: warning: Undocumented return value

Change-Id: Ib93a5a2505f663f266871dbe5582fb5856096889
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
2017-02-28 09:34:05 +00:00
Simon Hausmann
4a31eca4ce Make it possible to specify the RCC data version format
After commit d207738245 we unconditionally
write version two, but it seems useful to allow users to specify the
version explicitly.

Change-Id: I81d3de3d7f87318653f89bf10e3618becd8329d6
Task-number: QTBUG-58769
Reviewed-by: hjk <hjk@qt.io>
2017-02-28 08:44:50 +00:00
Joni Poikelin
e7f019011a Fix wrong codec with MySQL plugin in newer versions
Since MySQL now properly supports UTF-8 through utf8mb4 option, it
caused regression on systems which did not use UTF-8 encoding by default
which caused queries to fail as they were converted into system codec.
To fix this, simply use UTF-8 encoding for queries when MySQL supports
it.

Task-number: QTBUG-59176
Change-Id: I21cc9102b15df15a31bc7c74469321c44a257946
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2017-02-28 05:10:47 +00:00
Olivier Goffart
740b5c1fea Fix UB in QWidgetResizeHandler::eventFilter
Unconditional cast to a QMouseEvent while the event might also be a
QKeyEvent.

Change-Id: If5eb6fbad6e4440c167ff95298f51efde1834217
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2017-02-27 18:25:00 +00:00
Ulf Hermann
44af54419e Properly use the "process" feature
Replace all QT_NO_PROCESS with QT_CONFIG(process), define it in
qconfig-bootstrapped.h, add QT_REQUIRE_CONFIG(process) to the qprocess
headers, exclude the sources from compilation when switched off, guard
header inclusions in places where compilation without QProcess seems
supported, drop some unused includes, and fix some tests that were
apparently designed to work with QT_NO_PROCESS but failed to.

Change-Id: Ieceea2504dea6fdf43b81c7c6b65c547b01b9714
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-02-27 15:44:46 +00:00
Oswald Buddenhagen
85b30fda7c fix detection of static icu under unix
the library has a dependency on libdl.

Task-number: QTBUG-58301
Change-Id: I36567ded32980b241ff2f01cfdec044510405a75
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2017-02-27 12:20:50 +00:00
Oswald Buddenhagen
0d7ed8f5f3 streamline libdl detection and linking
instead of having a library and a test, use a library with two sources,
the first being empty (i.e., just libc). this allows us doing away with
the "libdl" feature, and using just the "dlopen" one.

subsequently, replace all LIBS+=$$QMAKE_LIBS_DYNLOAD with
QMAKE_USE+=libdl.
the definitions of QMAKE_LIBS_DYNLOAD remain in the qmakespecs for
backwards compat only. n.b.: the only specs where it is not empty or
"-ldl" (i.e., what we support now) are the hpux ones, where the library
is called 'dld'.

technically, the "library" feature should depend on '!unix || dlopen', but
that's for a later patch.

Change-Id: Ib8546affc4b7bc757f1a76729573ddd00e152176
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2017-02-27 12:20:44 +00:00
Thiago Macieira
1b81f93183 forkfd: use SA_SIGINFO to pass extra information to chained handlers
This existed in QProcess before forkfd, but was lost in the port to it
(commit 1814142b7a). The original QProcess
fix was done in 97279d0582.

Task-number: QTBUG-57584
Change-Id: Ibc5c715fda334a75bd2efffd14a425871f3162b5
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-02-26 05:53:27 +00:00
Christian Gagneraud
e3bcab935c Fix documentation typos
This patch fixes 2 simple typos in QGraphicsItem and QPainter
documentation and a copy/paste error between QAbstractItemModel's
beginRemoveColumns and beginRemoveRows documentation.

Change-Id: I32bdc4dc69154a40fe30a5b8c08d0c3a001853f8
Reviewed-by: Harri Porten <porten@froglogic.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2017-02-25 00:16:28 +00:00
Gatis Paeglis
d37c353dc0 remove unused Xlib's XRender dependency
We do use xcb-xrender, and it has its own detection
logic in configure.json.

Change-Id: I20bbc1ddf5dd0c32e93ef2c12c7b0eda3f96f4f4
Reviewed-by: Alexander Volkov <a.volkov@rusbitech.ru>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-02-24 19:42:21 +00:00
Oswald Buddenhagen
b9c5c7139e don't assume that configure --foo options' value is 'yes'
otherwise, the invalid "--qpa xcb" would complain about "xcb" being
unknown, rather than "--qpa" missing an argument.

actual booleans are handled by the type-specific callback, just like
-foo would be.

Task-number: QTBUG-59062
Change-Id: I96632dacfb721cfcbf223b76f6c5c38c810e8d0e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2017-02-24 16:39:58 +00:00
Oswald Buddenhagen
0af9999c8b fix generation of QSql header
the classname definition must name the new real header, not the
generated deprecated one.

amends 7331d22c6.

Task-number: QTBUG-58844
Change-Id: I2721d1f682a4ca0f986184fe7c8321976a540b4c
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2017-02-24 16:39:50 +00:00
Oswald Buddenhagen
76d667eff5 make an effort to keep /src properties constant
writing $$PWD (via $$QT_SOURCE_TREE) into the new bin/qt.conf would
potentially change the path compared to the value originally written by
the configure script, as $$PWD is canonicalized. this in turn would
break the magic for delaying the loading of toolchain.prf.

so instead just write out the perfectly fine current value of
$$[QT_INSTALL_PREFIX/src].

amends 169a40d51, thereby fixing 6834d0eec on windows.

Task-number: QTBUG-58816
Change-Id: Ibbd44df8f3c825a97d9f4acb869e44c93acb835b
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-02-24 16:39:46 +00:00
Oswald Buddenhagen
611b7c9ce7 de-duplicate and simplify condition checking in qtConfProcessOneOutput()
amends 90eee08b3.

Change-Id: If1fa2b14d758cc252d9a2ec3f9deedd1dd200c5e
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-02-24 16:39:40 +00:00
Thiago Macieira
07fffa6010 QDateTime: Fix clearing the ShortData flag in setMSecsSinceEpoch
Unlike setTimeSpec, this forgot to clear the bit when detaching. So it's
possible that some further use of the flags could incorrectly conclude
that the data was short and then proceed to corrupt the pointer.

The example from QTBUG-59061 caused this because toUTC() -> toTimeSpec()
calls setMSecsSinceEpoch which left the bit set; then addDays() calls
setDateTime(), which calls checkValidDateTime() and that corrupted the
pointer. This problem was more visible on 32-bit systems because no
QDateTime was short (except for default constructed ones), but it
can happen on 64-bit with sufficiently large dates.

Task-number: QTBUG-59061
Change-Id: Ibc5c715fda334a75bd2efffd14a562a375a4e69b
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-02-24 16:17:03 +00:00
Olivier Goffart
4d3781b640 QDockWidget: Fix memory leak when dragging a tab outside of a floating tab window
A QDockWidgetItem will be leaked if a QDockWidget is dragged out of a
floating tab window, and then plugged back somewhere.

The problem is that QMainWindowLayout::unplug was not returning the
QDockWidgetItem* from the floating tab's layout. When that's the case,
a new QDockWidgetItem is created in QDockWidgetPrivate::startDrag
and will be put into the layout, leaking the old QDockWidgetItem.

Change-Id: Ifb9c1c562cb74383ebff1df0f91ee225c5cdb296
Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
2017-02-24 15:00:03 +00:00
Aaron Linville
c4f122927a Doc: Fix minor typos in QRectF
Fix a couple incorrect references to the integer precision classes.

Update snippet to use floating point precision classes.

Task-number: QTBUG-51630
Change-Id: I9b08cfb68937a8e1179ee414d7981956ef7bc106
Reviewed-by: Martin Koller <kollix@aon.at>
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2017-02-23 20:55:10 +00:00
David Faure
9ffc9e306f QUrl::fromUserInput(with cwd) fix handling of files with trailing spaces
The call to trimmed() makes sense for URLs typed in a browser's location bar,
but its use in every code path made it impossible to open a file with a trailing
space in command-line tools that uses fromUserInput(cwd) to handle command-line
arguments, as recommended. For instance kde-open5 "file.txt " would fail.

Change-Id: Ie61182684521d91f077d3e76f95b7240965ab405
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-02-23 18:12:35 +00:00
David Faure
8cb9314971 tst_qurl: use temp dir and create our own files for testing
This allows to test specific filenames without polluting the current dir.

Change-Id: Ieb99019a2e37e30f294d85c5d80af1de1b919019
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-02-23 18:12:13 +00:00
David Faure
11790f41a7 tst_qurl: replace all QDir::currentPath() calls with local variable
Change-Id: I70e4547ba87292c29dfab59950aa1214be8015a5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-02-23 18:12:06 +00:00
David Faure
90b48a70ff QTextFormatCollection: replace copy ctor and op= with clear()
operator=, which was only used for clearing, wasn't clearing the hash.
This led to a mismatch between the vector and the hash (given that the hash
points into the vector).

Spotted by interrupting kmail in gdb, and it was in this code
iterating over a 2000 entries hash (the first vector entries not matching
the hash, this code keep appending new entries for the same formats).

This fixes QTBUG-8862 again, the initial fix having been accidentally
reverted in 467b15a.

Change-Id: Ia34b3d002a0199e1930431a4bbdb2ec981ed4ffc
Task-number: QTBUG-8862
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2017-02-23 18:11:55 +00:00
Stephan Binner
8e95828475 Output "qml-debug" as privateFeature
Change-Id: Iecf59b5e4cd387e59b28a252d6cd8cdf411b3d41
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2017-02-23 14:11:54 +00:00
Edward Welbourne
2c13070162 Do not delete someone else's QSystemLocale when constructing another
The QSystemLocale constructor remembers the most-recently-constructed
instance - a dodgy enough proposition at the best of times - and
shares it with much of the rest of QLocale.  There is a global static
instance, actually of a derived singleton class, to which it is
usually set on program start-up.  However, the constructor deleted the
remembered instance before remembering any new instances; there was no
way this could not lead to bad consequences.  So let's not do that.

Change-Id: Ie8f3d655c9d4f75f6ec00a5861d98d6020ecc633
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-02-23 09:39:23 +00:00
Joni Poikelin
b56c8a3b3d Android: Fix always hidden software keyboard from popping up
Task-number: QTBUG-58803
Change-Id: I256e59cee9d131f88b83367b26dbc11de87319af
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2017-02-23 08:16:23 +00:00
Eskil Abrahamsen Blomfeldt
440ccba0ab Android: Fix OpenGL shader compilation on updated emulator
In 0ae4b948515af904dba397448839056d9b7965af, we added a work-around
specifically for the Android emulator, causing it to override the
precision qualifiers in shader code, since the emulator would send
the shader code directly to the host OpenGL driver and thus there
was no guarantee that the qualifiers would be supported.

Since then, the original issue with the emulator has been fixed,
so now Qt applications are failing because of the work-around.

[ChangeLog][Android] Removed old work-around which was causing
OpenGL shader compilation to fail on updated Android emulators.

Task-number: QTBUG-44697
Change-Id: I0da879b3a8fbe7cb2d0969cdf45664d0b3499891
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2017-02-23 07:56:14 +00:00
Thiago Macieira
6282948e96 Add CONFIG += no_moc_predefs to allow one to escape problems
Sometimes, users need to add compiler flags to QMAKE_CXXFLAGS that
aren't supposed to be passed to the predefs dump. That's especially true
for -include options, as that would change completely what's
defined. Not to mention that -include is a preprocessor option and
shouldn't be in CXXFLAGS in the first place (Automake has CPPFLAGS, but
qmake only has INCLUDEPATH and DEFINES).

[ChangeLog][qmake] Added the ability to suppress the collection of the
compiler predefined macros for moc's use. To disable the collection, use
CONFIG += no_moc_predefs.

Task-number: QTBUG-58857
Change-Id: I4139d5f93dcb4b429ae9fffd14a34d49825d9b85
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-02-23 07:51:50 +00:00
Sergio Martins
8c1f147eaf dockwidgets: recalculate the press position if the window resizes
A window can resize while dragging, this happens on Windows when dragging
across screens, to a screen with a bigger scale factor. When that occurs
it might lead to the press pos being outside of the window.

Change-Id: Ic61ec7088c8fa81395d43ce665952dbd2eecba39
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2017-02-22 23:11:01 +00:00
Pavol Markovic
dd4465f57c Wrap RunLoopModeTracker into Objective-C namespace
RunLoopModeTracker as one of Qt Cocoa classes was not wrapped
in namespace which limited its use in Objective-C single symbol space.

Change-Id: Ida2c62c6f543a3bf5107f28c78d27435bcb3470d
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-02-22 20:16:59 +00:00
Ulf Hermann
4e9f7807fb Move qJsonFromRawLibraryMetaData into qfactoryloader_p.h
This is still not a great place for it, but this way we can
Q_REQUIRE_CONFIG(library) in qlibrary_p.h and qfactoryloader_p.h is the
only private header that doesn't require library support in plugin.pri.

Change-Id: Ia6c1ac8799822eca1e0cbeca98d1c1b8de74beae
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-02-22 17:36:32 +00:00
Edward Welbourne
4c367833b4 Fix multicastMembershipHelper to not assume addresses are IPv4
Make it iterate the addresses available looking for an IPv4 address,
when that's what it needs, instead of just assuming the first entry in
the list (when non-empty) is IPv4.

Based on a suggestion by Dmitry Pankratov.

Task-number: QTBUG-27641
Change-Id: I1920f68ade44a996ea5c2ed691a87ff3e686f35a
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-02-22 16:58:46 +00:00
Ulf Hermann
46730ca610 Make the factoryloader test compile without library support
We define QT_STATICPLUGIN for the plugins in this case, so that they
define the factory functions needed to link them directly into the
test.

Change-Id: I0f2de7bf6bec5a6d53ec9ad92536817c1221b7d5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-02-22 15:53:13 +00:00
Stephan Reiter
1d44b6bedb QProcess::startDetached(): Support privilege elevation for non-.exe files
Pass classname 'exefile' to ShellExecuteEx() for UAC prompt.
This allows running executable files that do not have a .exe extension.

Task-number: QTBUG-59008
Change-Id: I88d669481e893db50edccd7b30259e5366477556
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2017-02-22 07:47:18 +00:00
Oswald Buddenhagen
dab0138043 make more use of 'use' in library detection
now that it works nicely, make use of it for the zlib deps, which are
not transitive when the detected library is built statically.

Change-Id: Iaed87a37b36f714f0b919244cd84809650102ba9
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-02-22 07:47:13 +00:00