Commit Graph

25441 Commits

Author SHA1 Message Date
Alex Trotsenko
1e32ade79c QIODevice: fix interleaving read() and write() in text mode under Windows
Skip the correct number of bytes in the read buffer when expanding '\n'
into "\r\n" upon writing.

Change-Id: I5b01fc47c330dee5c83001abf0acd7d63d790b96
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-10-27 18:24:34 +00:00
hjk
33486e0ae7 Use QFileInfo::exist(f) instead of QFileInfo(f).exists() if possible
Faster.

Change-Id: I91aa67462e11ff3258600d7f158de79942d0dc81
Reviewed-by: Marc Reilly <marc.reilly@gmail.com>
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
(cherry picked from qtcreator/a439483d704113286370e7e93e0e6bc16199d8ab)
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-10-27 17:54:51 +00:00
Daniel Teske
99a4a62977 QMakeGlobals::expandEnvVars: Make sane
Use indexOf() to match individual characters, which is a lot faster than
QRegExp. As a side effect, don't try to expand what we just inserted.

Change-Id: I964fbd92055f2f2649e7d8ed5739cf1fc7cae927
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
(cherry picked from qtcreator/2cc17a61eb6d0fee80fd388fcc5be03a59e4f2b5)
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-10-27 17:54:48 +00:00
Christian Kandeler
b7205053ed Remove Qt version checks.
Qt 5.3 is the minimum requirement these days. Remove all fallback code
from sources and project files.

Change-Id: If6188a471197acadda4d6baee71804ba1a8026c6
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
(cherry picked from qtcreator/847f10e9ccc8c3541782a790e04c85c6b4c701da)
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-10-27 17:54:43 +00:00
hjk
ba2d6bb968 Use Qt 5's QStringList::join(QChar)
Less typing and less cycles than join(QString) where appropriate

Change-Id: I6ebc0e17e4d7fd9845864dd95b7de4ba4dad6906
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
(cherry picked from qtcreator/6431ab2c799553623ec3fe6a79f1e85484558dd6)
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-10-27 17:54:30 +00:00
Oswald Buddenhagen
7b1a8e047c consider qt resource paths absolute
this fixes an assertion failure with qt4 mingw specs when PATH contains
a "." element.

Task-number: QTCREATORBUG-12528
Change-Id: I2b6b7e02cf38881d40bd78bb0d705f7d58d0736c
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
(cherry picked from qtcreator/d0428a05220ed0550dd84cdb8299a1fb37b0fe72)
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2015-10-27 17:54:27 +00:00
Oswald Buddenhagen
193c6d2ebb avoid that a bad qmakespec path crashes the evaluator
assigning a relative path to QMAKESPEC or QMAKESPEC_ORIGINAL (in the qt4
windows legacy code) would lead to an assert further down the line.
just ignore such attempts silently.

Task-number: QTCREATORBUG-8477
Change-Id: Ie53d0ef004c743284b85de4e89f112e0161ff4b7
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
(cherry picked from qtcreator/e017a1dc8b2030e509d6198315e9f6a9869667e7)
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-10-27 17:54:19 +00:00
Daniel Teske
b4e6409fea add ProFile::tokPtrEnd()
just syncing up with qtcreator.

Change-Id: I2bda6961f6f1164bdc58acd78fa3d2221977f0cf
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
(cherry picked from qtcreator/765ad6c3d28813d4baa0aeafd03076ba76557d3d)
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-10-27 17:54:15 +00:00
Oswald Buddenhagen
a8010f2d03 fix raw data leak in $$sprintf()
it could be only triggered by abusing the function (no expansion
actually done), and nobody is using this to start with, but still ...

Change-Id: I3d4a23ae4d1eea07955572d8213094e0dc218f6d
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
(cherry picked from qtcreator/cdc2a0f72334268684e0407e9b04b3188e00d4bf)
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-10-27 17:54:11 +00:00
Oswald Buddenhagen
07ada2fb60 micro-optimization: use ProStringList::join(QChar) overload
Change-Id: I25c6205df78da7fbee0ad1b04476f528f376b7a6
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
(cherry picked from qtcreator/701a82d3a2185702c09dfecb361853fc18947807)
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-10-27 17:54:08 +00:00
Tobias Hunger
eba9769b7e QmakeParser: Do not leak temporaries into cache of files
This prevents an access to free'd memory when opening qtcreator.pro.

Looks like qml2puppet.pro gets added to that cache in QMakeVfs::writeFile
with part of the including pro-file's filename in it. That part gets
cleaned when that containing ProFile goes out of scope, leaving a key in
QMakeVfs::m_files free'd but accessible.

Change-Id: I80b43d2fbb66c214647497ea97e6e3a587e274d6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
(cherry picked from qtcreator/336c3159617cdb3edd35021b5fb312d4d43f9a84)
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-10-27 17:54:05 +00:00
Daniel Teske
771724d2f4 ProParser: Plug raw data leak
QProcessEnvironment caches keys, so we must not pass it QStrings created with
fromRawData()

Task-number: QTCREATORBUG-9142
Change-Id: I29fade02f3bc4110fafb1b04d44f2e653951a2ae
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
(cherry picked from qtcreator/99f15f1706868c4b2f84bc4164451bd69b3b8188)
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-10-27 17:54:02 +00:00
Oswald Buddenhagen
bbf2f1dbbf don't complain about missing include()s during cumulative evaluation
it produces simply too many false positives.

Change-Id: I3dfa109866450babe5c16f84665ad22024d99e42
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
(cherry picked from qttools/08bae158320f6d73bf44fcf43f45f51a01334544)
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-10-27 17:53:58 +00:00
Oswald Buddenhagen
3f723ff9a9 execute some loops even in cumulative mode
we execute foreach loops now. this is (mostly) safe nowadays, because
a previous change added precautions against exponential value list
growth, so it's unlikely that two nested loops would keep the cpu busy
for a day as before.

we continue to exclude forever loops and loops with excessive integer
counts.

Task-number: QTBUG-8550
Change-Id: Iaa116086986cc7fd5023834753f791dd205102e5
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
(cherry picked from qttools/dd4d594c787a62fa8aa12695c5d115c71b59bacd)
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-10-27 17:53:54 +00:00
Daniel Teske
e59d39c6fd QmakeProject: Fix crash on updating sources
ProFileCacheManager::discardFile(s) may remove an entry from
the ProfileCache only when it is unused (which is the case iff
ent->locker is zero).

Change-Id: I9df2079087af6bd0d35dd121db6222e8a6ec9389
Task-number: QTCREATORBUG-14730
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
(cherry picked from qtcreator/dedcd25924743e494055c1e0195aeef0f3983a1d)
(cherry picked from qtcreator/b335b2a083e456e2b44b1e9454a0f4cd41e2a397)
(cherry picked from qtcreator/a027cbcd7051c634a51b6029dcb8a5b4bfe8b046)
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-10-27 17:53:50 +00:00
Friedemann Kleint
69032adda0 Windows QPA: Fix debug operators.
Enclose all debug operators within QT_NO_DEBUG_STREAM, declare
all public ones and make the others static. Add operators for
POINT and WINDOWPLACEMENT.

Task-number: QTBUG-48449
Change-Id: I33f2dba2bf486a8f5cb11f11f4e2b37cce086def
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-10-27 15:27:05 +00:00
Gabriel de Dietrich
8b9346c740 Item Views: Avoid reentrant call in updateEditorGeometries()
This may result in incrementing an invalid iterator after the
iterator's container has changed. Also, for this to happen,
the view needs to have an active editor.

The reentrant call happens as follows in QTreeView, after the
model adds new rows to the view:

    QTreeView::rowsInserted()
    QAbstractItemView::rowsInserted()
    QAbstractItemView::updateEditorGeometries()
    QTreeView::visualRect()
    QAbstractItemViewPrivate::executePostedLayout()
    QTreeView::doItemsLayout()
    QAbstractItemView::doItemsLayout()
    QTreeView::updateGeometries()
    QAbstractItemView::updateGeometries()
    QAbstractItemView::updateEditorGeometries()

Other concrete item view classes may be prone to the same issue.

The fix consists in relayouting the items if needed, which should
trigger calling updateEditorGeometries() again. This doesn't
invalidate previous optimizations regarding item relayouting since
we only force relayouting when it'll be done by visualRect().

Change-Id: Id31507fdc8d9a84d50265298191d690d1a06792b
Task-number: QTBUG-48968
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-10-27 11:58:32 +00:00
Marc Mutz
29a7f5571c QtWidgets: use printf-style qWarning/qDebug where possible (I)
The printf-style version of QDebug expands to a lot less code than the
std::ostream-style version. Of course, you pay in type safety (but
compilers warn about it these days), you cannot stream complex Qt
types and streaming QStrings is awkward, but in many cases you
actually improve on readability.

But the main reason is that something that's not supposed to be
executed under normal operation has no business bloating executable
code size.

This is not an attempt at converting all qWarnings() to printf-style,
only the low-hanging fruit.

In this first part, replace
   qWarning() << "...";
with
   qWarning("...");

Change-Id: I1f6869b024103c98262f1deae014e0d7337a541c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-10-27 11:10:24 +00:00
Marc Mutz
f8eeabcf5c QNetworkReplyHttpImpl: convert some QDateTime::currentDateTime() to currentDateTimeUtc()
The latter is much faster as it doesn't have to deal with
time zones.

This change is safe, because the QDateTime is only used to
compare against a copy of itself, adjusted by some seconds,
which doen't care which TZ the date-time is in, to get a
time_t, which is much faster done from a UTC time, and
to calculate the seconds to expirationTime, which, from a
quick glance around, seem to be mostly, if not exclusively,
in UTC. secsTo() works across time zones, but the comparison
between UTC date-times is fastest.

Credits to Milian Wolff, from whose QtWS15 talk this advice is
taken.

Change-Id: I22aa5350b29493f01fb503ef5ec68a964ca95cf3
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2015-10-27 11:10:01 +00:00
Eskil Abrahamsen Blomfeldt
39e023b805 Remove historical +4 padding in QFontEngine::alphaMapForGlyph()
Back in the old days, we would pad the output from the font engines
to work around problems with the GL1 paint engine such as issues
with linear sampling, etc. This is no longer needed. Padding is
moved into the glyph cache, and in addition to reducing performance,
the extra padding is also making alphaMapForGlyph() and
alphaMapBoundingBox() fall out of sync when you fall back to
QPainterPath drawing the glyph. The result of this was that,
when prepared, the glyph cache was sometimes not made large enough
to hold what alphaMapForGlyph() actually produced, depending on
the size and order of glyphs, and glyphs ending up at the end of rows
would sometimes be missing from the output.

[ChangeLog][Text] Fixed some instances of missing glyphs when
drawing large fonts.

Change-Id: Ia5982392fe1637f6ebc740db9f226fbb91f75166
Task-number: QTBUG-47547
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2015-10-27 09:01:47 +00:00
Liang Qi
e0d0e4a9a2 Merge "Merge remote-tracking branch 'origin/5.5' into 5.6" into refs/staging/5.6 2015-10-26 21:29:32 +00:00
Thiago Macieira
00f35b4ae7 Move pointer size detection entirely to qprocessordetection.h
This commit removes the legacy ptrsize check, which was deficient
because it did not work for multiarch systems (when we supported fat
OS X binaries) and did not work for bootstrap builds because the size
might be different when cross-compiling.

Instead, let's rely on the predefined preprocessor macros to detect
correctly. As a nice side-effect, this fixes 64-bit Android builds
cross-compiled from Windows.

Task-number: QTBUG-48932
Change-Id: I1d0f78915b5942aab07cffff140f9a52b9342f23
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
2015-10-26 19:57:54 +00:00
Andy Nichols
3b447ae1f3 Add qgltf support to qmake
qgltf is a tool provided by the Qt3D module that enables 3D assets to
be defined in qmake project files, and have them converted to an
efficient binary format at build time.  The qmake feature will convert
all 3D assets specified by the QT3D_MODELS variable to the qgltf
format and add the new model asset to the project as a Qt resource
file.

Change-Id: If7250d6f23a06254b1ed0e408057723763aad8c8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-10-26 16:29:25 +00:00
Maurice Kalinowski
30d02f468f WinRT: Retrieve color settings on Windows 10
Windows 10 uses one enum for all target platforms. Use
ApiInformationStatics to identify whether enum values are accessible at
runtime.

Change-Id: Ib77c9d2a2b5cf1655fbe7d937d0c83cc4cdd9ee9
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2015-10-26 12:19:47 +00:00
Paul Olav Tvete
7532fb4e61 Xcb: fix crash on screen power save
Handle various cases where we have null QScreen or QPlatformScreen
pointers. With this change, I can run Qt Creator for several days.
Before, it would crash multiple times per day with a two-monitor
setup.

Change-Id: I0923d886ae2a4199ac37edd711ddd4f6f99df93d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2015-10-26 10:05:20 +00:00
Marc Mutz
a38df3f3ba Android: use Q_UNIMPLEMENTED()
... instead of explicit qWarnings()

Change-Id: I986a11bf519eaefd400813776d173b0ab2c2bc62
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2015-10-26 09:29:58 +00:00
Morten Johan Sørvig
b2d24dc347 Android: Add opt-in high-dpi support
Opt-in by setting android.app.auto_screen_scale_factor
to true in AndroidManifest.xml. This will enable
devicePixelRatio scaling in QtGui using a scale
factor provided by Android DisplayMetrics.

Note that the Android style is not currently supported:
it already accounts for different display densities
which results in incorrect visual sizes when enabling
devicePixelRatio scaling.

Implementation: Bring DisplayMetrics::density through
to setDisplayMetrics in androidjnimain.cpp, similar
to what is done for "scaledDensity". Override
QPlatformScreen::pixelDensity(), which forwards the
scale factor to QtGui.

[The difference between "density" and "scaledDensity"
is that the former is a physical display density factor
which corresponds closely to devicePixelRatio in Qt,
while the latter also includes the Android global font
scale factor.]

Scale the global font pixel size in qandroidplatformtheme.cpp
to keep the visual font size constant.

Based on an initial patch from Daiwei Li <daiweili@suitabletech.com>

Task-number: QTBUG-46615
Change-Id: Ia51f99bf6dda485a57413949246c7b32cb47e8dd
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2015-10-26 09:27:54 +00:00
Morten Johan Sørvig
45bb9c29e8 Fix QHighDPiScaling initialization issues
Call QHighDpiScaling::updateHighDpiScaling() in init_plaform(),
after the platform integration has been created and most platforms
have populated the screen list. Keep the existing udpate call for
the platforms that don't, but guard against calling it twice.

Task-number: QTBUG-47947
Change-Id: Ib73bea7c4ab42e7acf6532f3a3100e1fc29acc2c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
2015-10-26 09:25:38 +00:00
Marc Mutz
a681b90418 QNetworkAccessCache: convert QDateTime::currentDateTime() to currentDateTimeUtc()
The latter is much faster as it doesn't have to deal with
time zones.

This change is safe, because the timestamp member is only
ever handled inside, and the calculation of the time difference
does not depend on any particular time zone.

Credits to Milian Wolff, from whose QtWS15 talk this advice is
taken.

Change-Id: I6c9190a4253ce5972871ab1f12870f8ae9891966
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2015-10-26 09:00:26 +00:00
Eskil Abrahamsen Blomfeldt
4f4da7462b Support overlapping contours in glyph rasterizer fallback
Truetype fonts should be rasterized with a winding fill
as documented in e.g. Microsoft's specs.

Failing to do this caused a bug when doing native
rendering in Qt Quick for fonts that were large enough
that the fallback path was taken when drawing the glyphs
into the cache. If the glyph had overlapping contours,
they would be subtracted from the shape.

[ChangeLog][Text] Fixed an uncommon rendering error with
fonts containing overlapping contours.

Task-number: QTBUG-41197
Change-Id: I0e4a4432ba3f902bc3ea59d8f4dbd12a295630b2
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2015-10-26 08:07:55 +00:00
Maks Naumov
1721c83c27 QPathSegments::Intersection: reduce struct size 24 -> 16 bytes
Only for systems where qreal is double(8 bytes).

Change-Id: I3fd6b5d4279c41102ead24eef287bb37847398c1
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
2015-10-26 08:23:45 +00:00
Shawn Rutledge
51dac9890d xcb: better error reporting when shmget() fails
Change-Id: I160ebc07f25fd08b86ca5494cb149c5fc7c70086
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-10-26 07:34:13 +00:00
Samuel Nevala
a8455ac5fa ANGLE: Fix winrt backing store to support feature level 9_3 devices.
Partially revert c7abf81786. Instead of using the ES3 entry point,
use ES2 for framebuffer blitting. This means that a small change is
required to ANGLE for the blit behave the same as ES3 (applied only for
Windows Store apps).

Task-Id: QTBUG-48266
Change-Id: Idc51f00a659c91f740876be071eb71bff69e0e38
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
2015-10-24 09:41:03 +00:00
Liang Qi
7df107f026 Cocoa: Implement QPlatformInputContext::locale().
Listen to NSTextInputContextKeyboardSelectionDidChangeNotification.

Task-number: QTBUG-48772
Change-Id: Icea4ef61fd184edbe65a7f195318832a22c312ab
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
2015-10-24 05:51:20 +00:00
Liang Qi
6bc1ce9c16 Merge remote-tracking branch 'origin/5.5' into 5.6
Conflicts:
	src/corelib/kernel/qcfsocketnotifier.cpp
	src/tools/qdoc/qdocindexfiles.cpp

Change-Id: Iae365b23afc611de8794f22cceae8b210d25aa8a
2015-10-23 23:14:22 +02:00
Frederik Gladhorn
129d268246 Fix alignment in qConvertARGB64PMToA2RGB30PM_sse2
_mm_load_si128 requires 16 byte alignment. This crashes on 32 bit Windows
builds.

Change-Id: Ib6c30eba726747bbab56467eada820521981a80c
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-10-23 21:11:43 +00:00
Alex Trotsenko
ccca3ffdc2 QNativeSocketEngine: declare PacketHeaderOption enum as a bit field
It should be possible to use these constants simultaneously and to
handle them separately from each other.

Change-Id: I0c48a3c25456b487c9d6139b05105ada20f34be6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-10-23 18:21:07 +00:00
Alex Trotsenko
192606a9fd QIpPacketHeader: correct the type of hopLimit member
In other places, it's referenced as int.

Change-Id: Ic66f33a34d45208686ad0e229644d3ef33c55a62
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-10-23 18:20:49 +00:00
Thiago Macieira
f3e4769d05 Compile the 64-bit version of some code on all 64-bit processors
This is true for ILP32 on x86-64, IA-64 and AArch64.

Change-Id: I1d0f78915b5942aab07cffff140f9d4c277bb5d4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-10-23 18:10:27 +00:00
Thiago Macieira
f0c915de70 Autotest: remove AIX-related QT_POINTER_SIZE code
This test hasn't been run for years, so clean up. And besides, it's
extremely fragile and would depend on how IBM packages their OpenGL
libraries.

Change-Id: I1d0f78915b5942aab07cffff140f9db5a09ee7e2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-10-23 18:10:22 +00:00
Marc Mutz
2cdafb0999 Convert some QDateTime::currentDateTime() to currentDateTimeUtc() (I)
The latter is much faster as it doesn't have to deal with
time zones.

This change handles the trivial ones: Either the call to
currentDateTime() is immediately followed by a call to toUTC()
or toTime_t(). The latter is much faster on UTC QDateTimes, too.

Credits to Milian Wolff, from whose QtWS15 talk this advice is
taken.

Change-Id: I872f5bbb26cbecedc1e5c0dbee4d5ac2c6eb67ee
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
2015-10-23 18:09:18 +00:00
Alexander Volkov
8a8a5813a9 QMenu: Fix a typo EventShouldBePropogated -> EventShouldBePropagated
Change-Id: Id9439bd749576d1f7dfcb1653905f5de47b825b4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-10-23 14:03:15 +00:00
Yoann Lopes
0f54343808 Configure: don't enable the WMF multimedia backend by default.
This means we now use DirectShow as default multimedia backend
on Windows.

Task-number: QTBUG-45597
Change-Id: If95bbb8e7b33d73d80f7ba42de63ac54539e15b8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-10-23 13:45:18 +00:00
Andy Shaw
3890988bb6 Add support for -Zc:throwingNew option to vcxproj generation for 2015
Task-number: QTBUG-48898
Change-Id: I56abae0cbc56e07fd9bb554b84927c327c1b3232
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
2015-10-23 13:03:12 +00:00
Topi Reinio
b29d18f736 Doc: Edit description of QSslSocket::AddCaCertificates()
The QSslSocket::addCaCertificates() variant that takes a path
argument uses QSslCertificate::fromPath() in its implementation.
Edit the description of the former to match that of the latter.

Fix minor issues in QSslCertificate::fromPath() documentation;
add a missing word, limit code snippet line width.

Task-number: QTBUG-47359
Change-Id: Ibead74c998503e60a67d0b8eb551536bd20feff8
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-10-23 12:38:09 +00:00
Gabriel de Dietrich
b50ee28eb5 QWidgetAction: Don't deactivate the current window on Mac
We check the name of the window class the widget's QNSView
changes window and set a flag when the that window is a native
Cocoa menu window. Later, only those views not inside a native
menu can become first responder, ensuring Qt won't deactivate
the main window.

We're allowed to reject becoming the first responder mainly
because Cocoa itself doesn't support sending key event to menu
views and, therefore, it doesn't change what's already possible.

This patch also sets the widget action visible, which needs to
be done right after reparenting it to the container widget.
Besides that, it also contains a few small code cleaning changes
related to Cocoa's support of QWidgetAction.

Change-Id: Ia2170bdc5e1f40bfa2f1091c05e9e99397c47187
Task-number: QTBUG-44015
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2015-10-23 11:28:49 +00:00
Erik Verbruggen
07475c662e OSX: replace use of deprecated API.
dragImage:at:offset:event:pasteboard:source:slideBack: on NSView is
deprecated since 10.7. Use the one on NSWindow instead.

Change-Id: Ia1c2ea367ae2ca5194b52ea57ab261461bf8b529
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
2015-10-23 07:51:34 +00:00
Marc Mutz
8515aa1871 QTextStream: optimize streaming of QLatin1String and const char*
Instead of converting the QLatin1String to a QString at the first
opportunity, keep it around until it is appended to one of the
internal QStrings in write().

Avoids a memory allocation per QLatin1String / const char* streamed.

Change-Id: Id973a9b743e5a6696defbc4ef4ed2db1ef54e9cc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-10-23 05:51:00 +00:00
Thiago Macieira
be926e412c Prevent the pixmap cache from crashing if it's been destroyed
In case the static destructor has already been run, make sure we don't
crash. This shouldn't happen, but could happen if the QApplication
destructor is run in a weird order (after the static destructors have
begun running).

That's not usually a case we'd fix (unsupported), but since this change
improves the code and also avoids creating the pixmap cache if it hadn't
been used up until this point, the change is a net benefit.

Task-number: QTBUG-48709
Change-Id: Ia505aece07bf4e13a1faffff140f3e119cfc773e
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
2015-10-23 00:16:01 +00:00
Lars Knoll
cefc393059 Respect QPen::dashOffset when generating PDF
Change-Id: I26de1cd4a14d1b8978be6d0377cb2cba573fc82a
Task-number: QTBUG-47164
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-10-22 20:18:39 +00:00