The existing code doesn't work on 64bit machines. We must first convert
the list into a QVector, which guarantees that elements are laid out
correctly as an array.
Merge-request: 1467
Reviewed-by: thiago
(cherry picked from commit 00020eed3fa948f69cfa776e92121edec6f975cc)
Change-Id: I00020eed3fa948f69cfa776e92121edec6f975cc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This reverts commit f109f5b8a9.
Instead of disabling the asserts, rather enable the debug code
so the asserts actually trigger.
Change-Id: I6f62588d836de5c926294241e8d7196a963e4aac
Reviewed-by: Eckhart Koppen <eckhart.koppen@nokia.com>
"qsslconfiguration.cpp:204:73: warning: suggest parentheses around
comparison in operand of ‘|’ [-Wparentheses]"
Change-Id: I887ffdf3ef8263c35a8f391b3fc97faee41b7dab
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
This removes a change to libpng that was only relevant for building
a certain Qt 4 tool in certain environements without system libpng.
This is no longer relevant, so this kludge should now be removed.
Change-Id: I9a04ab0224f9e84ccab3ec27762582be439fe3ef
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
This is a source-incompatible change.
TlsV1 is ambiguous; what is actually meant is TLS version 1.0. There are
also TLS versions 1.1 and 1.2; we might want to add options for these
once OpenSSL supports them (apparently they will be with OpenSSL version
1.0.1).
Change-Id: I940d020b181b5fa528788ef0c3c47e8ef873796a
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Currently QTest::newRow function expects to have correct tag string for
each test data. This was enforced by a simple assert. By adding a
an assert with message we might simplify debugging of a test that
generates test cases.
Change-Id: I84ebb397264c99e7bb46d281fd38583dd2d6964c
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Certain Q_ASSERT usages are not compiling with -force-asserts since they
are checking for instance variables or other items which are not
available in release mode.
This fix guards the asserts to only be enabled in debug mode.
Change-Id: I2ed74e3d5118608361e8c924e93d8ff0efdc8eab
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
maybe if your trying to instansiate a QWindow before the QApplication has
been instansiated.
Change-Id: I68ed4ad1dbdfedc242a7cb27c1381d50a3d3dfa4
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Move the QDockWidget close and float buttons from the right end of the
dock widget title bar to the left end to avoid Mac App Store rejection.
Task-number: QTBUG-19493
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
(cherry picked from commit 3b2bd144b7873daf2e7119248dbac7c0f0253993)
Change-Id: I3b2bd144b7873daf2e7119248dbac7c0f0253993
The animations are now deleted in destruction of the Vista style.
With the previous implementation the animations were not deleted for
instance if you move mouse cursor off from a widget with hover
animation (like QPushButton).
Task-number: QTBUG-21532
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
(cherry picked from commit 261bbb12003dab0e45b5814f85dd74aa64bcfb79)
Change-Id: I261bbb12003dab0e45b5814f85dd74aa64bcfb79
So that it won't just return "Helvetica" that may not exist in
target system. Providing it seems to fix QTBUG-21833 as well,
thus we can remove the QEXPECT_FAIL statement in qlistview test.
'_' appears to reach the minimum right bearing in some fonts.
Task-number: QTBUG-21833
Change-Id: I2340af6ee736083ec4f6575e469840ebec4e545e
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Moving these classes to an unnamed namespace reduced chances of
a name conflict and size of executable. GCC 4.6 in release mode produces
a 5kB smaller binary.
Change-Id: Ie1819a88180f9db1cd32cc59ea6fe268ecbd5813
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
When a GL context group is destroyed, all multi-group shared
resources associated with the group should be cleaned up.
Otherwise we could get a double deletion in the resource's
destructor, because it still retained a pointer to the
deleted group.
The missing cleanup resulted in a crash when the global
static qt_gl_functions_resource was destroyed, first seen
in the tst_examples autotest in qtdeclarative. It possibly
didn't manifest before because it's event loop-dependent
(the contexts are deleted via deleteLater()).
Change-Id: I6b1e0bfdfbbb2bff8e795f545e680fcdfa094768
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Forgot to add a Windows-specific source file to the project
when the new V8 version was imported.
Change-Id: Id20dcba132bf2609338845e8a769fcc8c1cbc562
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
This commit adds the ability to perform legacy SSL renegotiation as
a fallback via QSsl::SslOptions. This is something that used to work,
but has been disabled by default in newer versions of openssl. The
need for this has been reported by users (eg. in QTBUG-14983).
Change-Id: I5b80f3ffd07e0c5faddc469f6a8f857bac5740f7
Reviewed-by: Corentin Chary <corentin.chary@gmail.com>
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
This code is totally outdated, and has never been used in Qt4 AFAIK
Change-Id: I775fe87532807e77fc94fe661e4b659c11bfd8be
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
The moc generated code would not compile otherwise
Keep Moc::parseFunction and Moc::parseMaybeFunction in sync
(the first is used for signals and slots, and the second for normal
functions such as Q_INVOKABLE)
Last patch that introduced function pointer updated parseFunction
but not parseMaybeFunction
When a slot return a reference, moc generate code that make the
MetaObject system think it is a void, so qt_metacall and invokeMethod
do not mess with the return value.
But when we want to take the function signature, in the IndexOfMethod
call, we need to have the exact return type.
Change-Id: I4661218d7ce367ad3934e73929e7d04f0a6dbc09
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
In Qt 4.x the serial number is reported by a mixture of the hex value
and the number, The hex is what is used by other tools, and we should do
the same.
Change-Id: Ia0361d43fb5b920d053c95e932e0c8a012436e5e
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
This caused a "deadlock" in tst_qobject::moveToThread
The problem was that QEventLoop::quit was called from the first
prcessed event in that loop, put calling process event a second time
deadlock because there is no more event to process
(In practice, some event can come from the window manager or the
inputs, but they may as well not come)
Change-Id: Ia469110eb9c9de57669e80cf19e933f410e469a4
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
QAbstractEventDispatcher() does no longer install itself into the current
thread. Instead the new methods QThread::setEventDispatcher() and
QCoreApplication::setEventDispatcher() allow to install a custom event
dispatcher into any QThread as long as there is no default event dispatcher
created yet. That is, before the thread has been started with
QThread::start() or, in case of the main thread, before QCoreApplication has
been instantiated.
Change-Id: I7367e13d8d8aebed5a5651260bb69b8818eb1b90
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
To instrument a Qt application or library with the TestCocoon coverage
tool, do `CONFIG+=testcocoon' in the application .pro file.
To instrument Qt itself with testcocoon, use the `-testcocoon' configure
option.
Change-Id: Ie77109a078d11ea51f7a073621e0df9c752c44ae
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
The QTest::qWait() function does not handle DeferredDelete, in this case
all deleteLater() calls before the qWait() won't be processed during the
wait. Add an explicit sendPostedEvents(0, QEvent::DeferredDelete) to fix
this problem.
Task-number:QTBUG-22633
Change-Id: I2c5574b4e7d3c070fad6382dc36ddfd1dfac50d6
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
QPlatformFontDatabase::populateFontDatabase() routine uses a different
usrPtr format which is not compatible with the one basic font db uses
(FontFile *). We shouldn't mix them together.
Task-number: QTBUG-22713
Change-Id: I239ea085e14261f6b9ba66b03710a590a44378f9
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
The received window position cannot be trusted blindly, e.g. in case
of resizing a window via the mouse or calling showMaximized() the
position is bogus (for our purposes). Instead, it needs to be queried.
Before 37f338e5ed an incomplete
workaround was in place however it got removed in that commit,
resulting in weird off-by-a-certain-amount mouse position issues in
certain use cases. This patch aims to fix the issue similarly to how
it was done in Qt4.
Change-Id: I2d2a69b81a2782117b700fe366fae4c102aca1f4
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Actually use the calculated size for needed space instead of just
ignoring the return value.
Task-number: QTBUG-16315
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
(cherry picked from commit 0792215fa8d227617a2080af9f12fd7f486b87d6)
Change-Id: I0792215fa8d227617a2080af9f12fd7f486b87d6
The QMacStyle is not built as part of QtWidgets at the moment (see the
TODO in src/widgets/styles/styles.pri), so disable the test for now.
I've included a comment in styles.pri to re-enable the test once the
style is done.
Change-Id: Ia6ea130135586f107ba257bf2c6c2c7187a830b6
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
that server was found out not to support HTTP pipelining.
tested manually; for more information see the task.
Change-Id: I9120e8be1a9a05f39f99752d6426c92fa3d093f2
(cherry picked from commit ec6d7694f72498d1b156bb0ae8d305e01931f7b2)
Reviewed-by: Markus Goetz
Task-number: QTBUG-21369
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit includes changes for mouse button support within the XCB
and XLIB platform plugins. Support in other platform plugins will be
added in the future. The namespace update is prerequisite to compile
the the Plugins, and the update in qguiapplication.cpp is required for
the enhancements to actually work.
Task-number: QTBUG-22642
Change-Id: Ie18fca3b9c86d0b6abbf2103a4f8582e6ce83e7d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
removes several files and cleans up the code, removing all Symbian
specific #ifdef's etc.
Change-Id: Ie457e54cb4b3a992f251383320d47822259c38f1
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
This change adds QMetaObject::IndexOfMethod as a parameter to
the qt_static_metacall function.
It lets the moc generated code return the index of a signal or slot
given its pointer to member function
This is required to support the new connection syntax
Change-Id: I39198c6699b5aa3599d3d282f7ac79b1e3684d33
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Currently isValid wrongly gives the impression it checks a certificate
for validity - it doesn't. It merely checks if the certificate dates
are valid and if the certificate is blacklisted. Since it's already
easy for users to check the dates, let's just give them access to the
ability to check for blacklisting.
Change-Id: I25be3bde6a01063034702a9574b28469bf4882cd
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
It is not possible to select text with keyboard when specifying only
Qt::TextSelectableByKeyboard flag.
Task-number: QTBUG-18952
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
(cherry picked from commit 054fa68b6ae852e84f2d44a73260b4282286f5ab)
Change-Id: I054fa68b6ae852e84f2d44a73260b4282286f5ab
Fixes an error in QIntValidator, which occurred because
locale.toInt() was missing a parameter for base value and this
led it to presume wrongly that a base 8 is in use.
Task-number: QTBUG-21602
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
(cherry picked from commit ee3f763f3642d1a098e6293fbc586b34a3e6e8be)
Change-Id: Iee3f763f3642d1a098e6293fbc586b34a3e6e8be
Handle mouserelease only if mouse is pressed in QGroupBox.
Task-number: QTBUG-19170
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
(cherry picked from commit df819cfe17f6dfd089096063524932fc4975804f)
Change-Id: Idf819cfe17f6dfd089096063524932fc4975804f
When the calendar pops up it moves the date to maximum instead of
keeping the current date. Problem was caused by QCalendarPopup
signalling date change to QDateTimeEdit during internal date
synchronization from QDateTimeEdit to QCalendarPopup.
Task-number: QTBUG-11422
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@nokia.com>
(cherry picked from commit b0c09896a239197411027e773214a2635744695c)
Change-Id: Ib0c09896a239197411027e773214a2635744695c
io/qfilesystemwatcher_fsevents.cpp:346:15: warning: 'stat64' is
deprecated [-Wdeprecated-declarations]
if (::stat64(it->absolutePath, &newInfo) == 0) {
^
According to 'man 2 stat' on Mac OS X, the stat64() function is
deprecated in 10.6 and above. Instead, we are supposed to define
the _DARWIN_USE_64_BIT_INODE which enables the 64-bit ino_t member in
the stat struct and uses function symbol suffixes to call the correct
version of stat with 64-bit inode support.
Change-Id: I697374186c7f4d69df783f06962ca5644222194d
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Fixes a bug in one of our patches that caused
hydrogen to optimize incorrectly.
Task-number: QTBUG-22679
Change-Id: I008088cd2b878f22e6a2ba4e002aeba9a3c70a22
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
It appears that the symbol_map we obtained with FreeType doesn't
work for common symbol fonts like Wingdings, in previous X11 code
we use the code path with normal charmap, to enable it we need to
make sure QT_NO_FONTCONFIG is not defined. And since the FcCharset
functions doesn't really operates on the font database, we can
safely skip the mutex calls.
Change-Id: I8c484de200be1d47c053b10be2c51d2273dcd359
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
We need to reregister fonts in initializeDb because basic font db
doesn't have an internal record like fontconfig does, so just
repopulating the font database won't work. db->reregisterAppFonts
is now used properly as intended (reregister application fonts
after the system font database has been cleared).
Also, static variable 'initialized' in initializeDb() is removed
since we check privateDb()->count to see if it needs to be populated
again.
Task-number: QTBUG-22063
Change-Id: Ifc66392b56b72acbe08b99256c61421c204be5d7
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Implement QCocoaPlatformTheme. The menus and dialog
API is moved from the platform to the theme plugin.
(Both APIs contain references to QtWidget classes,
which we are working towards removing.)
The theme plugin is created after the platform
plugin, first by asking the platform plugin, then
by looking for a separate plugin if the platform
does not specify a theme.
Initial-patch-by: Morten Sorvig <msorvig@trolltech.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Change-Id: I2778cdd3a205c4ce35ead93e39fe6b4cd58a39f9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Change-Id: Ie64215529139e18a0a575e149289b6fa9a699a69
Reviewed-by: Pekka Vuorela <pekka.ta.vuorela@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
We have the following scenario: Either you build a release package
without asserts, or a debug package with asserts. However, in embedded
development, we need asserts also in release packages. This flag allows
you to build a release package, but Q_ASSERTs still fire.
Change-Id: Icd1dd4dd63c3cafecf515b40741263d902ad42d1
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
- Introduce hierarchy of QPlatformDialogHelper-derived classes
for font, color and file dialogs.
- Start reducing dependencies on QDialog:
* Remove QDialog-specifics from interface, introduce enumeration
for DialogCode
* Make the helpers Q_OBJECTS to be able to add the signals
passed on to the QDialogs
* Remove QDialogPrivate pointer
- Split setVisible_sys() in show_sys() (factory method for native
dialogs) and hide_sys(). Pass parent window to show_sys(),
removing the necessity to query the QDialog for it
- Introduce a styleHint() similar to QGuiApplication's for
platform-specific
- Fix compile in cocoa/windows, reduce depency on QDialog
(-private) classes.
Change-Id: Ic1cb715e1edf767f2cb18b9780341d189339ef1d
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Watch for attempts to write to "Trolltech" preferences and use
QCoreApplication::organizationDomain() instead. If that doesn't exist,
then fall back to CFBundleIdentifier if possible. If that doesn't
exist, then follow the old code path and use the hardcoded string.
This change eliminates extra files being created which helps Mac app
store acceptance.
Change-Id: I1ba3984b46cf3888f371d87f6ad8ea6c2f26d2ec
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
The implementation of QProgressBar::setMinimum and setMaximum did not
repaint the widget. This caused the widget to be shown incorrectly in
case you call setMinimum or setMaximum but not setValue.
Task-number: QTBUG-22121
(cherry picked from commit b1998f4f59c3b10700963b2d13a17a0cc77ef665)
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Change-Id: I331d37ab4451d9e096cdf91a9e0a0286bc3cdffb
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
On Windows you will get a lot of timer events if you use QProgressBar
widget. This is because QWindowsStyle uses a timer to animate a
progress bar with unknown state (min and max values both zero). The
issue was fixed by starting the timer only if needed.
Task-number: QTBUG-10501
(cherry picked from commit 72e61b127470b044e370af7017fa8a5b0538244f)
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Change-Id: If9ff2ab99929d9b85a7ffa8f6fd47b045b982f67
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
For -O2 gcc activates -fstrict-aliasing. As a result the compiler is
allowed to assume that pt[1]=px[1]/3+B1 does not affect t.
Therefore the result of _fast_cbrt() was always 0.
Using a union for casting avoids this issue.
For more details see:
http://labs.qt.nokia.com/2011/06/10/type-punning-and-strict-aliasing
Also the updated code respect endianness.
Change-Id: Id4bed16efac52e494e7357dc2f23f94e8c525df1
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Calling setTextModeEnabled on a QIODevice that is not open generates
a warning as a result of QTBUG-20905. Previously, it caused incorrect
behaviour when called with true.
Now only call it if the QIODevice passed in is already opened.
If not open, then it is opened by the xml reader without text mode,
so there is no difference in behaviour.
xml autotests still pass, although this removes several QWARN messages
from the qdom autotest.
Task-number: QTBUG-22659
Change-Id: Ie3137e44fe776bff6371ebd008428110168717ec
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
We only need to match the closing parentheses if there was an opening one
This has caused mis-parsing of tst_qbytearray.cpp
Change-Id: I9d52916e3ed8549c5ddd968092451fef7389a952
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Added forward reference to QDataStream instead
In the new connection syntax, I want to include qmetatype.h from qobject.h,
in order to handle metatype for queued connection.
So qdatastream cannot be included here (as it inherit qobject) else it would
lead to circular inclusion.
QDataStream is only used in templated code that is dependent on the
template parametter so it is fine to have it forward declared.
Change-Id: I08ea479f481262a80451a277ee29533c42cb9f89
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
gcc 4.2.1 complains about the use of C++-style cast in the macro.
error: template argument 1 is invalid
. Changing the bool-cast to a C-style cast makes the test compile.
Change-Id: Ie9082a3adbfd53147bfd0bfe36dd9e7328e01ee8
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Available on plain text for now, html support still pending.
Change-Id: I0818b97874e80c8c1b33a9127aa7bb3330a8761d
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Also cleaned up the doc, removing references to the buildkey() function
that has been removed.
Change-Id: I2cb403f93d93c0b2f71c8502818d669f7bfbfbec
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
QNSPanel must be a NSPanel and not a QNSWindow
subclass.
Change-Id: I1de31e147757824610f4aabc0ef66ae3906dc0f6
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
The QWindowSystemInterface mouse functions now have keyboard
modifiers parameter, make use of them.
Task-number: QTBUG-21743
Change-Id: I65ba1095825b81d575d314c1de2a45cef28e697a
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
The QtWidgets module doesn't contain any code that needs these custom
compilers (that code has been move to QtGui).
Change-Id: I655e478908bfa0b646e68210f6215d9ffbb1f81e
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
When normalizing timevals, we need to bound the tv_usec member to
0-999999 inclusive, otherwise select() may return EINVAL.
When rounding timevals to the nearest millisecond in the UNIX event
dispatcher, pass the timeval through normalizeTimeval() when returning.
As discovered on Mac OS X with tst_QFutureWatcher, starting a 10 second
timer would end up calling select() with timeval = { 9l, 1000000 },
resulting in numerous "select: Invalid argument" warnings being printed
to the console.
Change-Id: Ic539e935bf847e0d4c22a73ad203e3a7a81d0690
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Assigning an int variable to itself is unnecessary and pointless, remove
them.
styles/qplastiquestyle.cpp:932:23: warning: explicitly assigning a
variable of type 'int' to itself [-Wself-assign]
width = width;
~~~~~ ^ ~~~~~
styles/qplastiquestyle.cpp:939:23: warning: explicitly assigning a
variable of type 'int' to itself [-Wself-assign]
width = width;
~~~~~ ^ ~~~~~
Change-Id: I0118874028bf43992bcce07f87b46b48868436cc
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Was marked internal earlier because of missing implementation. That
should be now in place.
Change-Id: I9005da4455299386556e567847474c8d8b6fd5ea
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
QMetaType::isRegistered and QMetaType::typeName are quite expensive.
To compare two custom objects we need to have their type name (for
dereferenced comparison). If the name exist we know for sure that the
type is registered and we do not have to call QMetaType::isRegistered
anymore.
Change-Id: Iba631e012504c8633868a902880fa30d38afb917
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
That was strange that QPolygon was know to QMetaType class but QPolygonF
not.
Change-Id: I67bb99644b8b1d0fe1aec730619d8048cb78219b
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Each QVariant instance has internal storage which may be
used for well-know basic types. This patch changes the
behavior by delegating type dependent operation to QMetaType
class which knows more types than QVariant itself.
The patch significantly reduce amount of code in QVariant
implementation.
There are few side effects of this patch:
- better performance:
* for Core types when using Gui (QGuiVariant is able to
construct Core types)
* for small custom types (QVariant::Private::Data is used for all
types that has size small enough)
- comparing two QVariants can give different result for small custom
types (binary comparison instead of pointer comparison)
Change-Id: Ic17fa500d6a882110bfba896fd456c8e6c7a63a9
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Currently one of the most common coding pattern, when working with
QMetaType types, is to switch over all types ids to convert a given
type id to a real c++ type. The pattern is not perfect, because of:
- code duplication - to convert type id to a real type a user has to
write own switch case
- maintenance - adding new type to QMetaType::Types doesn't propagate
to other parts of code.
Proposed type switcher can solve the issue by switching type id and
delegating found c++ type.
The class is created for internal use only and was created to simplify
common problems in QtDeclarative, QtScript and QVariant.
Change-Id: I0567ef908024b3b05ee18126f98a73a74748fbd2
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
From time to time it is necessary to know from which module a type comes
from. This information couldn't be part of QTypeInfo as id doesn't work
for forward declared types.
QTypeModuleInfo should stay for Qt internal usage only.
Change-Id: Ia53747c88293fc0cdaffef919b94c653412779d3
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
QMetaType::Type enum is the main source of type ids. Currently
there are many tasks that can be replaced by a smart macro that
can iterate over all types. The patch introduces series of FOR_EACH_
macros that may be used for code generation.
As the first step the macro was used for Q_DECLARE_BUILTIN_METATYPE
to make sure that no type was forgotten.
Second step was to use created macros in autotest to improve tests
coverage.
Change-Id: I34e9ad7bacf02b44b028bc1aad20b1241aacebd3
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Currently, qInstallMsgHandler() does not return the
handle to the default message handler. This patch defines
a default message handler. This is returned by
qInstallMsgHandler() when called for the first time. A call
to qInstallMsgHandler(0) will restore the default message
handler as was the case previously.
Change-Id: I42f06654d45fb0e633f3c6d912fc8f05c23249aa
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Two problems:
- The signal cacheCredidentials was not connected in the synchronous
case while it must be connected. (Regression when the threaded http
was merged)
- We cannot cache the credidentials when we proceed the url because
at that point, we do not know the realm (this basically reverts
9bc5a32b875b812c3a706034c8c27614f86bd138)
Task-number: QTBUG-18411
Change-Id: I8ea11fa23db4314c3f17ed06d2d7f9ee934ccdba
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
Since platform font database will be populated in QFontDatabase::load,
no need to do it here in QFont::initialize.
The change was in cd781b732e but lost
in previous merge.
Change-Id: Iaa56fea5765d94e4f7b58409654bc218808086cd
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
... as did browser vendors.
Tested manually with affected CA certificates.
Reviewed-by: Richard J. Moore <rich@kde.org>
(cherry picked from commit e1d6df4e5931ee49b4b68dd5a33146f5639268b7)
Change-Id: I5bf6c147abf6d2de0f313d65faa2d9a1e9684cea
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
Apply the same solution to QFileInfo (no public detach(), but a
non-inline d_func instead).
Change-Id: I31c4c759f44a0649b97f7884b078b174c9c00f22
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
The previous fix a05270f435 is not correct,
QPainterPathPrivate(other) should be QPainterPathPrivate(), as there
is only a default ctor for QPainterPathPrivate and ref is initialized there,
use copy ctor just copies the ref value which makes all detach() calls broken.
Add an unit test for this as well.
Change-Id: I658f0a977664d5ec523af3f8a48c1a866eda6ab0
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Move subpixelPositionForX from QTextureGlyphCache to QFontEngine,
since some font engines like QFontEngineFT may need a custom
implementation or tweak it a little bit.
In QRasterPaintEngine::drawCachedGlyphs, do not add aliasedCoodinate
to x offset as that will break subpixel positioning.
Change-Id: Idbcec617509459b80965220ceb07b17737649bbf
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
The method was missing from QVariant perspective (QVariant::isNull
supposed to call isNull not isEmpty).
Change-Id: Ic1ac9f662e275ac73908809f2c4ac59679b40b00
Reviewed-by: Olivier Goffart <ogoffart@kde.org>
Re-add base class initialization accidentally removed by
e277575987.
Fix warning: 'base class 'class QPainterPathPrivate' should be
explicitly initialized in the copy constructor.
Change-Id: Ie94fa82eeeb3a8ddc69aef447f73ce36da616916
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
The minimum compile version is 0x050000 now, it cannot be less. Remove
checks for 0x040200 in the widget code, which provided compatibility in
the 4.x series for binaries compiled with 4.0 and 4.1.
Change-Id: Ia01da90de26dca6aeeb79d29c754cbeeecf809af
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
QQuickTextInput tries to set the UseDesignMetrics text option on its
QLineControl but this is overridden by the options set in
updateDisplayText(). Apply the new options in updateDisplayText to
the existing options.
Change-Id: I6789c3c2d6e496c1594d586bd075473983978f77
Reviewed-by: Martin Jones <martin.jones@nokia.com>
... by adding a new class QSslCertificateExtension and methods in
QSslCertificate to support extensions. This is needed e.g. for OCSP
(checking revocation status of a certificate) or Extended Validation
certificates.
Change-Id: I5c5d9513fa640cd487786bb9a5af734afebd0828
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Simplifying input context mouse handling rules by making
the editor in charge when text gets committed and selected.
This includes:
- Allowing selection to start on top of preedit. Commits once a
single character gets selected
- Double click to commit preedit before selecting a word.
- Only sending events to input context that happen on top of preedit.
- Committing preedit when a mouse press happens outside of it,
allowing to move cursor to click position.
Change-Id: I9dab00ea3445055ffd0d7cae540a1197c5748509
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Tentative commit string allows input method to notify editor
what is expected to be committed in the place of preedit.
This commit adds such support in QLineEdit.
Change-Id: If855619bc6843652db0d6254f7e7063bb8ad0936
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
- Selection can start on top of preedit
- Mouse press outside preedit commits
- Double click to commit on top of preedit
Change-Id: Ia2698d97d354a677d935de1a8fd9ed53a161ca5e
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
(Note: This feature is ported from Qt 4.8.
See the following commits:
01575deafb7d26ca2431374e92c6d71de96547c7
4866d1ba8afbab61e102942d1ea93b81fea053d6
)
Passing the -datatags option to a QTestLib program prints the
available data tags to standard output.
For completeness, the test case name is also printed
at the start of each output line. (Although the file name
is supposed to match the lower-case version of the test case
name, this is currently not true in all cases (particularly not
under tests/benchmarks/). Even if there was a script to enforce this
convention, the -datatags option provides this information in a
reliable way.)
Data tags for each test function (f() in this case) are printed in
four different ways depending on the presence of local and global
data tags:
Case 1: No tags:
tst_MyTestCasetst_MyTestCase f
Case 2: Local tags only:
tst_MyTestCase f local tag 1
tst_MyTestCase f local tag 2
...
Case 3: Global tags only:
tst_MyTestCase f __global__ global tag 1
tst_MyTestCase f __global__ global tag 2
...
Case 4: Local and global tags:
tst_MyTestCase f local tag 1 __global__ global tag 1
tst_MyTestCase f local tag 2 __global__ global tag 1
...
tst_MyTestCase f local tag 1 __global__ global tag 2
tst_MyTestCase f local tag 2 __global__ global tag 2
...
...
Note that the string __global__ is assumed to be highly unlikely to occur
in a data tag (if it does, an ambiguity results).
Change-Id: Ib51aa0c3c32ad52e52ce519729292cf8f0ec5d50
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
Implement QPlatformDialogHelper for file dialogs based on
IFileDialog. Add prototypical implementation of color dialogs.
Change-Id: If3c7470be6c0b8fbf8cfea1b6638bda43afafea7
Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com>
This reverts commit 8dcb52df8e.
Turns out that hint style is retrieved from font match instead of
pattern match, which shouldn't be retreived until font engine
creation.
Change-Id: I90e779a3823e6a6604cdadb52586fcd5e22c295b
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
The gamma lookup tables can be allocated and computed on demand, as
they're not always needed, depending on the platform and the use case.
Change-Id: I2d4c2860746366a0e46edb53bd4ecd2778de2464
Reviewed-by: Olivier Goffart <ogoffart@kde.org>
This reverts commit 9358f7eaa4.
The change is source incompatible and hasn't been agreed upon. Revert
it even though it's correct in principle. It's simple to keep the old
enums around for compatibility.
Change-Id: I8d9d33868e44d0299a3f081833b06cedf0ed4345
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Only properly implemented on unix (XDG), falls back to Document location
on Mac and Windows, because not easily available with the current API
being used by either one.
Change-Id: Id269f0e3c4e3a68e19205de96c0b39980fde80ff
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
When moving cursors, non-stop positions are skipped, however certain
input sequences can still lead us there. In such cases we should
simply ignore those positions in cursorToX.
Task-number: QTBUG-7076
Change-Id: Ia0a25931f4043359f72a6c0c14a74b905e40b93e
Reviewed-by: Eskil
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
5f2b6dd2a50275bc05ae5d7e9dd8902d6d49d9df increased refcounts for
font engines in QTextEngine cache, we need to decrease them when
the QTextEngine is deallocated.
Task-number: QTBUG-21222
Reviewed-by: Eskil
(cherry picked from commit 8935a84e18804c7ff4b7336e3cfdf1cd558eaf1c)
Change-Id: I079c903d60e1bbcf78f555f8044dde69af82cf0e
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
- Create helper only once and ensure deletion
- Move nativeDialogInUse into QDialogPrivate, ensuring the native
modal helper is called from QDialog::exec() only if it is true
Change-Id: Id92b278bb051ce254458f276fbf7075689a7d491
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Fixing `macros' function test of `tst_headers'
Task-number: QTQAINFRA-324
Change-Id: Ib6fcf276108bbb5515a72f3f17b373de82a599fc
Reviewed-by: Olivier Goffart <ogoffart@kde.org>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
- Do not mix QStringLiteral and Q_TR_NOOP.
- Replace static QString member variables by
- static member functions to return the strings.
- Use tr() since QAccessibleActionInterface declares it.
Acked-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Change-Id: Iabbee8ef61a5d7bfd35978a3f1cce1866329d065
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
If a widget has got a parent widget but also is a toplevel widget it
should not return its geometry relative to its parent.
In addition to that, child widgets which are not toplevel should not
change their left and top values according to their parent but also
keep their width and height intact.
Change-Id: I5e641abf5ddc0b8d056ba023f8de52af1d2ccc9f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
and isRunning() should return false.
This restore the Qt 4.7 behaviour
In Qt 4.7, the finished() was called with the thread's intenal mutex
locked. Which mean that:
- Call to isRunning or isFinished called from a slot connected to
finish within the thread would deadlock. (Hence no compatibility
to keep here)
- Call to isRunning or isFinished from a slot connected with
QueuedConnection in another thread would lock the mutex until
the destructors are finished. and then return as if the thread have
finished.
Change-Id: I963eccae8f7634aff90cc4bbab6ca886a78e35eb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Rationale is that it makes it possible to deprecate functions without
breaking other modules.
After the feature freeze, this should be reset to 5
Notice that QT_DEPRECATED is not defined while bootstrapping Qt
(QT_NO_DEPRECATED defined)
This also means that compilation is tested
Change-Id: I85f0e65ac3a160e9aba3833787ded3f94304cb90
Reviewed-by: David Faure <faure@kde.org>
Class complex enough already without int i as member variable.
Furthermore, some methods use loop variable with same name, shadowing
the member one.
Change-Id: Idf2f5e34f130a60eb6121480e596e443f23641dd
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
The standard C getenv() returns NULL if the requested environment
variable is not found.
In Qt4 and later, qgetenv() does not return a null pointer if the
requested environment string is not defined. Instead it returns a
QByteArray containing an empty string. If using qgetenv(), there is no
way to tell the difference between an undefined environment variable
and one which is defined to be the empty string.
In testlib, all calls to qgetenv() were checking whether the returned
QByteArray's constData() returned a null pointer, but that would never
happen. These calls must instead check whether the QByteArray contains
a non-empty string.
Change-Id: I342f0e8b196896c26cccce3ff169fa1b9669b5ff
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
I added the possibilty to define Bezier/TCB splines and use them
as custom easing curves.
Note:
Splines have a parametric definition. This means we have a
function/polynom of t that evalutes to x and y. x/y = f(t).
For our purpose we actually need the function y = f(x).
So as a first step we have to solve the solution x = f(t) for a given
t and then in a second step we evaluate y = f(t).
f(t) is a cubic polynom so we use cardanos formula to solve this equation
directly.
For the casus irreducibilis we need 3 functions that are a combination of
arcos and cos. Instead of evaluating arcos and cos we approximate these
functions directly.
TCB splines are converted into the corresponding cubic bezier spline.
Change-Id: Id2afc15efac92e494d6358dc2e11f94e8c524da1
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
qnsview.mm:171:45: warning: semicolon before method body is ignored
[-Wsemicolon-before-method-body]
- (void)handleMouseEvent:(NSEvent *)theEvent;
^
Change-Id: I0b2fdd9c28586ce03f14f784d35e88dbbb5bd8f4
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
This is a 3rd-party submodule that we do not directly modify. Warnings
from this code is of no value to people diagnosing and fixing warnings
in Qt code itself.
Change-Id: If17d9ce6509abb7d7aa1f00daf7e771fc6231993
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
Link ApplicationServices in the non-qpa case (CoreServices
present).
Change-Id: I7555243aa480a7a4db84731a797924a97bf200cd
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
The original intent was most likely to memset() the entire MD5Context to
zero at the end of MD5Final(), which we do now.
In file included from tools/qcryptographichash.cpp:49:
...qtbase/src/corelib/../../include/QtCore/../../src/corelib/tools/../../3rdparty/md5/md5.cpp:139:24:
warning:
argument to 'sizeof' in 'memset' call is the same expression as
the
destination; did you mean to dereference it? [-Wsizeof-pointer-
memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */
~~~ ^~~
Change-Id: I793c6f0944b89c0e4c5f9253cdb1071175c17152
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Variadic macros are not supported by C++98 standard.
Change-Id: Ib520297e43b654b46925f3ee2735a975ebbe8e35
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This means we can expose the API to QML in a simple way.
Change-Id: Ibc36711071d288ed78ce833a64d6be2f22fc4b62
Reviewed-by: Leonardo Sobral Cunha <leo.cunha@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
QAtomic* has a copy constructor, so it may make sense to allow
assignment of one atomic variable to another.
Change-Id: Ic754d13765080e2fcd13dc583940e354ad4404cd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
... since the latter is now deprecated and will be removed.
Change-Id: I456c1bf93ebf119c028bc4a63f1f8a31f069b83b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Adjust to changes in the QPlatformInputContext
and implement commit(). Fix a bug that caused the
cursor to be hidden after the first commit.
Change-Id: I85e59a72766d1180a54df412cf33beb653af4e7b
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
Clean up and remove Symbian specific code and
data.
Change-Id: I41794085fd5122310b1fdf4c524c6e77d22e8500
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
The Proxy-Connection header is a non standard header, but is widely
used so forming a de-facto standard.
Some proxies use the official Connection header, so we should check
for that in responses. Otherwise https connections over http proxy
fail in case the proxy sends "Connection: close" with the 407 reply.
Task-number: QTBUG-22177
Change-Id: If6cfa4ebb7ac9d97d65b6ddcc8257aee20ac0448
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
(cherry picked from commit 9d5c920bb23b949a0b98f1268679a0a2c06dd1d9)
Change-Id: Id99040051afe97bca3b1a8e4e3ae5a4c7f617cc9
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
Symbian is no longer a supported platform.
Change-Id: Ifcb2e05661b16acc6307a4ccfaa42586750734c1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
This should be API-compatible with Qt 4, but is not ABI-compatible, due to
removing the enum from QUdpSocket.
Task-number: QTBUG-121
Change-Id: I967968c6cb6f96d3ab1d6300eadd5bde6154b300
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This should have always been the case, as it simply makes sense, but the
upcoming moving of binding to QAbstractSocket will require this for autotesting.
Change-Id: Ieef70196616227e7914c76fff5388a4068c36efb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
This function is not implemented, and the declaration hides the virtual
QPlatformPixtmap::fromFile():
../../include/QtGui/5.0.0/QtGui/private/../../../../../src/gui/image/qpixmap_raster_p.h:70:10:
warning:
'QRasterPlatformPixmap::fromFile' hides overloaded virtual function
[-Woverloaded-virtual]
void fromFile(const QString &filename, Qt::ImageConversionFlags flags);
^
../../include/QtGui/../../src/gui/image/qplatformpixmap_qpa.h:90:18:
note:
hidden overloaded virtual function 'QPlatformPixmap::fromFile' declared
here
virtual bool fromFile(const QString &filename, const char *format,
^
Change-Id: Iedbc4acd9f9218f8fe72a44a9eff6a35b5494d75
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
This method is private, and only called from the QPrinter constructor.
This also removes warnings about overloading the virtual
QPaintDevice::init() method interitted form QWidget:
../../include/QtPrintSupport/../../src/printsupport/kernel/qprinter.h:259:10:
warning:
'QPrinter::init' hides overloaded virtual function [-Woverloaded-
void init(PrinterMode mode);
^
../../include/QtGui/../../src/gui/painting/qpaintdevice.h:93:18: note:
hidden
overloaded virtual function 'QPaintDevice::init' declared here
virtual void init(QPainter *painter) const;
^
Change-Id: I7c5203a1264b0ad825ed4075b66017fef22a40fb
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart <ogoffart@kde.org>
QMutexPrivate takes more memory than necessary, and also initialize
platform specific ressources.
Change-Id: I70be1b89b1c21499645785ae47693a6b2514e28b
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Because we use d as a local variable.
We used this->d to refer it, but this can be confusing to have twice the same
name
Change-Id: I570aa5f444ada358eb456d6b3d9b8bfa60b10bbf
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
QStringList is used by the inline code.
(I did not see that before because I was using precompiled headers)
Change-Id: Ieea4f13c143495f841b5246d835b584cc7404ac6
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Allow passing of null windows or widgets to keyClick().
In that case route the event through the normal Qt event
processing. This allows e.g. shortcuts to catch the
key event.
Change-Id: Ic9455ea9be5164918b1c0bccbd58dd32eae74ff1
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
When passing floating point constants make sure
to cast them as qreal's.
Change-Id: I17e7ee407ac4f92ce947f6a384aa4d64edb8e983
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Clean up and remove Symbian specific code and
data.
Change-Id: I89976fd087d485e04d37eccd3aeb3d2beac59b0a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Those are already outdated and do not compile anymore
(QMutex has changed too much)
Better to remove that dead code so it do not show up in grep anymore
Change-Id: I096e7a73e23cbb77050843c2e1c10929086fdb8f
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Without this make -jx would often fail as some of the
dependencies of the platformsupport lib weren't built
yet.
Change-Id: I1e4fea5fa6f0dd5751b6b53458f1f14bfeb225b2
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Qt/Embedded and Symbian are no longer supported.
Change-Id: Ifb86a384c666f389a166efe798d4792115731adb
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
This is dead code, unused with QPA in place, so remove it to avoid confusion
caused through grepping for class names existing in both old and new places.
Mac code is left in place for now, as some of it is still in use.
Change-Id: Ia82cd5bbabe71285ca997f79d8fd9c0504e32c28
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Add Q_DECL_DEPRECATED to all methods that are pending removal once
http://codereview.qt-project.org/#change,6243 is merged.
This is necessary to give people time to react to the source
incompatible change.
Change-Id: Ia72f184d630d593f96dd1d95ad6cd0d3bd5d811c
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
ES 1.0 didn't have glTexParameteri, which is why we sometimes used
glTexParameterf. However, we shouldn't use glTexParameterf because
that's treating integer values as floating point, which is not type
safe. ES 1.1+ and ES 2.x have glTexParameteri, and we don't really care
about supporting ES 1.0 in any case in Qt 5.
Change-Id: I6b586b31ddc418ba319c4cc88f6bb3978fdbd040
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
If the face is unlocked in this case, calling unlockAlphaMapForGlyph after doing
the operation will cause an assert.
Change-Id: Icb2310a3b139e5bedf24f9c3794bd7d3fd38cfea
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
queued_activate() sets the argumentTypes atomic pointer on first use, which
mixes a load, memory initialization, test-and-set-ordered, and
another load. The explicit memory ordering is necessary to ensure
that the memory stores happen in program order.
Change-Id: Id1f8641f9cd081ce81aa8e830692f7af8261e84b
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This function is only used in src/tools/moc/moc.cpp and
src/corelib/kernel/qmetaobject.cpp. We don't need to include the
static, non-inline declaration and definition every time
qmetaobject_p.h is included.
This also silences the related warning from clang:
../../../include/QtCore/5.0.0/QtCore/private/../../../../../src/corelib/kernel/qmetaobject_p.h:171:19: error:
function 'normalizeTypeInternal' is not needed and will not be emitted
[-Werror,-Wunneeded-internal-declaration]
static QByteArray normalizeTypeInternal(const char *t, const char *e, ...
^
Change-Id: I6dfb2cb4d9d82a2ae7795f91169aa62f9a5f2c2f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Fixing `macros' function test of `tst_headers'
Task-number: QTQAINFRA-324
Change-Id: I9e78d5f33dcd89718d90e0d2a40a02eba80f6ca9
Reviewed-by: Liang Qi <liang.qi@nokia.com>
After reinterpret_casting to const NSString *, we need to const_cast to
drop the cast to match the return type.
Change-Id: I3d202aec10e719a48f29d96b81621492936ac6ad
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* QDataStream format documented
* Added Unit test for QDataStream operators
* Updated Unit test
Change-Id: Idbcfcb0b927e6369e8d31b57693c7aa0d1a154e7
Reviewed-by: Olivier Goffart <ogoffart@kde.org>
The implicit casting results in unnecessary volatile loads. The
test-and-set-ordered doesn't need full ordering, test-and-set-release
is enough to ensure that the memory initialization done by
buildReverseMap() and test-and-set happen in program order.
Change-Id: I168b504271aeba050d6b8396becbdeb3ef938213
Reviewed-by: Olivier Goffart <ogoffart@kde.org>
This platform input context plugin is based on the dbus protocol used in MeeGo
1.2 Harmattan's input method server.
It supports composition, mouse-click-on-preedit as well as basic input method
hints. Missing are: Copy & paste, preedit injection, key redirection as well
as a bunch of other smaller MeeGoTouch specific features.
Change-Id: Ic3a8741f7a5ed18b379985e316cb137f7b8f6a8e
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Reviewed-by: Kenneth Rohde Christiansen <kenneth.r.christiansen@nokia.com>
* New API: QPlatformDialogHelper to support native dialog on QPA.
(Currently, It supports only file dialog.)
* Modify QDialog* and QFileDialog* to support native dialog.
* Add native file dialog support to cocoa platform plugin.
Change-Id: I957f046748a27a33fd9f8af3c525feabd1b0f582
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
If we have two timers running in an application with the same timeout
and started almost at the same time by the code, they would trigger two
sleeps, the second of which very short (under a millisecond).
This causes us to match the Glib and Windows event loops, which round
all timers to millisecond anyway.
Change-Id: I7eb531e02dadf75925c01192b0f33ef3641ae1ea
Reviewed-by: Olivier Goffart <ogoffart@kde.org>
Remote globalGeometry which was completely wrong,
replace with flipRect which converts from Qt
screen coordinates to OS X screen coordinates.
Change-Id: Ie560cb7c2266fe779da8a44a35596d2d12af77f5
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
- Add swapInterval as additional format
- Query context format correctly and store in separate struct
(default vs requested/obtained)
- Cosmetics, rename enumerations, structs.
Change-Id: I381cf8e1bde33e6624feb549437c7b95dd85e93c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
We have proven that the regions cannot overlap. The root problem must be
somewhere else.
This reverts commit d96b7b809e.
Change-Id: I3446487f2a1a5bd322379b8adb788c26ff3e08e2
Reviewed-by: Thiago Macieira (Intel) <thiago.macieira@intel.com>
The ISCII and TSCII codecs are not compiled in due to QT_NO_CODECS,
likewise for all of the system locale implementations due to
QT_NO_SYSTEMLOCALE.
Since these sources do not result in any symbols, there's no reason
to compile them.
Change-Id: I3b65c156f594366850df9f44406ba7638ad735ba
Reviewed-by: Thiago Macieira (Intel) <thiago.macieira@intel.com>
It was originally added to keep compatibility with the bearer management module from Qt Mobility, and no longer needed in Qt 5.
Change-Id: I187494e02a71c3d39a52f8c0bd4d0c7cc23d0b4b
Reviewed-by: Aaron McCarthy <aaron.mccarthy@nokia.com>
The prepared plugin architecture for
printing support was used as much as
possible but some functionality had to
be done in src/printsupport.
Change-Id: Ic8446cb8018a0970b4da97c1912ba6dc20d2a09f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
the generic systemProxyForQuery will use http_proxy from the
environment, if it is set.
Change-Id: Ie685c47eb6df1fdd2ab223defc7172bb25e6fe30
Reviewed-by: Thiago Macieira (Intel) <thiago.macieira@intel.com>
Clang does not accept this syntax, see
http://llvm.org/bugs/show_bug.cgi?id=8875
The work around is to not use the typedef name. NS() around the
template parameters is necessary to match the real types (and
not the QMetaType::Type enumerators), otherwise we get the following:
kernel/qmetatype.cpp:1647:72: error: template argument for template type
parameter must be a type
...NS(QVariantMap)* >(where)->NS(QVariantMap)::~QMap<QString, ...
^~~~~~~
Change-Id: I3afa0cbbe4ef7ad899cfa9eafb3bcc10bedc20b3
Reviewed-by: Wolf-Michael Bolle <wolf-michael.bolle@nokia.com>
Reviewed-by: Thiago Macieira (Intel) <thiago.macieira@intel.com>
That codepath is taken in qml when an Image specify with and hight and
is not smooth, and the image contains alpha contents
The changes in qdrawingprimitive_sse2_p.h just put some code from the
BLEND_SOURCE_OVER_ARGB32_SSE2 macro into a sub macro to allow its reuse
The code that is not SSE2 in qt_scale_image_argb32_on_argb32_sse2 comes
from the qt_scale_image_argb32_on_argb32 in qblendfunctions.cpp
Change-Id: I071a040af4514fb21777dead9f7c5baf16071d59
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Various places in QtNetwork checked for Localhost or LocalHostIPv6,
i.e. 127.0.0.1 or ::1. By using the isLoopback API, other loopback
addresses are treated the same way (e.g. 127.0.0.2 and ::ffff:127.0.0.1)
Task-number: QTBUG-22246
Change-Id: I46f55630d8646fd68034a509969a0b7cb72ca77c
Reviewed-by: Thiago Macieira (Intel) <thiago.macieira@intel.com>
The standard IPv4 loopback address is 127.0.0.1, however anything in
the 127.0.0.0/8 range is also a loopback address.
isLoopback returns true for any address that is in the IPv4 loopback
address range, or is the single IPv6 loopback address ::1
Task-number: QTBUG-22246
Change-Id: Ic39100e2e97a52db700e01b109998a1cfd4335e3
Reviewed-by: Thiago Macieira (Intel) <thiago.macieira@intel.com>
Calling setTextMode() before open() would make the device appear to be
already open and cause later errors.
Added a qWarning and documentation update to prevent this API misuse
Task-number: QTBUG-20905
Change-Id: I2e06cd8e79f4afcf27417ac0eae6ebef980a17aa
Reviewed-by: Thiago Macieira (Intel) <thiago.macieira@intel.com>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Q_WS_QPA is the only active code path after merging
refactor, other Q_WS-macros are no longer used.
Enable compilation without -qpa.
- Remove Q_OS_MSDOS, Q_OS_OS2
- Remove Q_WS_QWS
- Remove/replace definitions/conditionals of Q_WS_XX
- Remove qpa branches from profiles
- Replace Q_WS_MAC by Q_OS_MAC
- Replace Q_WS_MAC && !Q_WS_QPA by
Q_OS_MAC && !QT_NO_CORESERVICES
- Similarly in profiles: mac:contains(QT_CONFIG, coreservices)
- Replace Q_FS_FAT by Q_OS_WIN
Change-Id: Icce5a6c55b052c8f72b3b979ddf31a4f388ea9c9
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
If we only keep single QFontEngineFT in QFontCache, then when we
are looking for the MultiQPA next time with the same QFontDef,
the FT engine will be returned and we get no font fallback support.
That's why we need to keep the Multi engines in QFontCache as well
and distinguish them from the single item. Since QPA doesn't use
'screen' field of QFontCache::Key structure, we use it here to
indicate that we are caching a multi font engine.
Change-Id: Id899d5c5ba52f4bccf134bcd6b1c6386ba22063c
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
This method allows calls to stationary() to automatically remember
the previous position for a given touch point id. Example usage:
QTouchEventSequence sequence = QTest::touchEvent(&window);
sequence.press(0, QPoint(10,10)).commit();
sequence.stationary(0).press(1, QPoint(40,10)).commit();
Task-number: QTBUG-22057
Change-Id: I489ab3d61f4637d2ed97d09ed0854afa814407a1
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
The queries were limited to current block, because that is the
available surrounding text. Input method side, however, cannot then
distinguish between anchor being really at start or end of the
surrounding text, or beyond it. Without the limitation there at least
is a way to know anchor is at unknown territory.
Change-Id: I388d33566388344ec816ea7d86662b7e36a3d7d0
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
Which required porting the related unittests to qstandardpaths
Change-Id: I6eb63c46845f05cd29cc42b59872707526277c90
Reviewed-by: Thiago Macieira (Intel) <thiago.macieira@intel.com>
These headers should have been private from Day One. Make them private
now so that nobody will be tempted to use them outside testlib in the
future.
Change-Id: I5361777ade124d8187176f9af3cc79cd1a8ecb4f
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Qt would dlopen both libqcocoa.dylib and
libqcocoa_debug.dylib, causing duplicate implementations
if the classes in the cocoa plugin (QNSView etc)
Fix this by building the release version only.
Change-Id: I1244a83c49999ce28edd97400e792fa2a0665fec
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
The method allows to retrieve the object that currently
has the input focus inside the Window. This is e.g.
required to correctly determine the context for keyboard
shortcuts.
Change-Id: I9e05ef62717973bac275ce34cc70fb86aa2d1e5b
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Shows that there should be an automated build with
QT_DISABLE_DEPRECATED_BEFORE set to 0, too...
Change-Id: If154786ea26bcbfab41efcd7001c222cc258a8af
Reviewed-by: Olivier Goffart <ogoffart@kde.org>
When using methods from a template base class, the lookup needs to be
qualified. See http://clang.llvm.org/compatibility.html#dep_lookup_bases
Change-Id: I5b7cd71e0d45414ac0eff97fe9ba5d3ccd5bd9e6
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Thiago Macieira (Intel) <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart <ogoffart@kde.org>
These types now technically are trivially-constructible and
standard-layout in C++0x.
Change-Id: I455bd905fd6e237a1dff517b86dcbe59d571266f
Reviewed-by: Olivier Goffart <ogoffart@kde.org>
While this was safe, it was also over-zealous, disallowing the path from
ending with the placeholder... Incidentally, the default.
Laughed-at-by: w00t_
(cherry picked from commit 7b693627ee2a17718cb6d8bee5e3deb5a97b307f)
Change-Id: I61a1511bca5cafe2edde20ef38c23154200dfcab
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
This no longer necessary template specialization went unnoticed inside
the Windows/Symbian #ifdef. It breaks compilation on those platforms,
now that qstringbuilder.h is not included and QConcatenable is unknown
to the compiler.
(cherry picked from commit 9e656ce0f7bda4bca4ae55a7aefe1617bc2805ac)
Change-Id: Ie7145c25bca01b808fa6a3fd99e34baa8375d304
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
With this change, the file template is always processed in original
QString format. Trying to generate native paths before adding a missing
placeholder mask could change the meaning of templates, such as "." and
"..", which are now tested to mean "..XXXXXX" and "...XXXXXX",
respectively.
After ensuring the template includes a placeholder mask, the path is
converted to a native *absolute* file path and the mask is sought for
again. On Windows, native paths were already absolute. On Symbian, we'd
need at least a clean path, as "." and ",," are not natively understood.
There is a requirement that the placeholder mask /XXXXXX+/ makes it
through this conversion unaltered, which relaxes prior requirements on
*nix platforms. On Windows and Symbian the conversion is under Qt's
control and not user-configurable.
Reviewed-by: Shane Kearns
(cherry picked from commit 401722ef9e6fe79bd41f9d5f79668f5c4997c8e6)
Conflicts:
tests/auto/qtemporaryfile/tst_qtemporaryfile.cpp
Change-Id: Iac823881c865adf0931dc4f429c6c1ef135eeb56
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
And don't rely solely on "local8Bit" conversions.
QFile defines an API for overriding how encoding conversions are done
for filenames. In generating unique names, QTemporaryFile ignored that
API and hardcoded the use of local 8-bit, implicitly assuming that that
was appropriate.
With this change, we switch that assumption to one where user supplied
encoding function keeps the byte value of 'X' and '/', also assuming
that encoded 'X' takes up a single-byte (i.e., the byte sequence for
"XXXXXX" remains unchanged).
There was also, and there still is an assumption in name generation that
byte values for ASCII alpha-numeric characters are valid in the "native"
encoding.
In practice this change is compatible with UTF-8, Latin-1 and other
ISO/IEC 8859 encodings. At any rate, it's very likely that only UTF-8 is
relevant here.
Reviewed-by: Denis Dzyubenko
(cherry picked from commit 0de701d01cb221464eed773fd3751aff73fe4d60)
Change-Id: I9ee0fe8e3cad48694d5ec9a2bedd5412cfc0d172
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
These are already required and included by qfsfileengine_p.h.
(cherry picked from commit a153d50eea2dea0925695a90af2c12f1887a9020)
Change-Id: I9efb635373239f6e6778eb4a3ee85c396cfeeeb5
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Besides generating a unique name, createFileFromTemplate now also
acquires a file handle on all platforms. The file engine's native handle
is passed by reference and modified in place.
This fixes a long standing security issue on Windows.
On Windows and Symbian platforms we directly use the "native" file path
when processing the template and generating the unique name. Since the
native encoding is known, conversions at this point are safe.
Errors other than "file exists" are propagated to Q(Temporary)File,
and result in a failure in open(). The changes also unify error handling
and should give consistent behaviour across all platforms.
Worthy of note, there's a change in behaviour on Windows and Symbian:
fileNames returned by QTemporaryFile on Windows and Symbian are always
absolute after open has been called. This has to do with how
QFileSystemEntry::nativeFilePath works on these platforms. (Test was
updated to reflect change in behaviour.)
Reviewed-by: Gareth Stockwell
Reviewed-by: Shane Kearns
(cherry picked from commit ff9b69838ec146aeb43d4af8a03043f9c5f0454d)
Conflicts:
tests/auto/qtemporaryfile/tst_qtemporaryfile.cpp
Change-Id: Ibc9affb321ea4f4b193efc1f7336c9770b43d8df
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
With minor adjustments, createFileFromTemplate is made to work directly
on (UTF-16) QString data, which is already in the native encoding for
Windows and Symbian. This is possible because the function only fills
out the placeholder sub-string, without touching adjacent characters.
This eliminates unnecessary conversions on those platforms.
Reviewed-by: Gareth Stockwell
Reviewed-by: Shane Kearns
(cherry picked from commit 9a76587363a2f37312326286e08cce502f7fe27e)
Change-Id: I8732b88ece5e2befb2da2e717758954c9aa7e5b0
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
This avoids modifying the original string in the case where a
placeholder marker is not found. By marking the variable const we
further avoid checks on the reference count and detaches, also allowing
us to safely reuse it later in the function.
The new approach also fixes an issue where suffix wasn't empty, but the
toLocal8Bit conversion would be. This resulted in a buffer overflow
inside createFileFromTemplate.
Reviewed-by: Shane Kearns
(cherry picked from commit d71d3b1ce31ffc585258330d825ff8ea535254ef)
Change-Id: I6cb3fbc6c653d8a881426fddbc433826365d4816
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
On the one hand, we stop using OpenC here. On the other, we no longer
use an atomic create and obtain file handle API -- just as we don't on
Windows yet.
This is a stepping stone to removing back and forth conversions of path
names when generating unique names and also towards the use of native
APIs for creating and obtaining a file handle atomically.
Reviewed-by: Gareth Stockwell
Reviewed-by: Shane Kearns
(cherry picked from commit 63bb67d3107b03f399cddf4c9cca9c7eb347b62d)
Change-Id: I97b3b6179dff053807acc8d4469fdf57f57f68a6
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
, where we actually control how we use the pointers. Reduce some code
duplication in #ifdefs.
(cherry picked from commit d69788728ccd843e3d4a372680185fdf5e711c86)
Change-Id: I50aafbcac520837f9dc751e85f59a482a2f5225f
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
This should not be done on the input level but we should handle the
requests on the QWindow to grab/ungrab the pointer
Change-Id: Ibc61b300bf8de20f576fb8972fadf18de4a142c1
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
The code is based on Qt 4.8 DirectFB support, it was reduced
in size (cosmetic changes, by using the outPtr()) and it has a
bugfix to pass loadAsBitmapOrPixmap that assumes the loadFromFile
routine will add '.png' and other extensions to the file.
Change-Id: I25b11206053c02be5c04730fba5bb42bd07426d1
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Right now we assume to use 32bpp but depending on the hardware
this might not be optimal at all. Begin to prepare the code for
not having a 32bpp surfaces.
Change-Id: Iedfa49c568559e074dfaeae2a216c9eb93721d2c
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Attempt to fix a memory leak on exit by deleting the font database.
Change-Id: I07b0865c97bb8ef26950bf231b5239ca01e95c56
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Introduce dfb_blitter_capabilities that returns the QBlittable::Capabilities
of the DirectFB blitter.
Change-Id: Ifb803ff4f07376d5333ad2d05ff72d9a63d17fff
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
The QDirectFBIntegration is responsibe for deleting the DirectFB
instance but it can only initialize the DirectFB instance after
the DirectFBInit has been called. Change the order. This issue
got introduced by myself in 3faa89f4.
Change-Id: Ia67d439152d895e2e0a47f35eed57348c629f79f
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Introduce QDirectFBPointer and use it throughout the code to
fix various resource leaks in the DirectFB backend. Fix the surface
ownership of the IDirectFBSurface in the Blittable/BackingStore
code.
Change-Id: I0d4572eaab80b3558e644f26d76222461bf37bbb
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>