make sure we keep track of when we can load root certs and when we
cannot (we cannot when the developer set the certs explicitly). This is
implemented the same way for QSslSocket already, and needs to be
duplicated because we have 2 methods for setting CA certificates: one in
QSslSocket and one in QSslConfiguration.
In addition, adapt the auto test which checks whether setting a default
QSslConfiguration works: There is no way to set on demand loading
through the API, so it should be enabled by default.
Task-number: QTBUG-29103
Change-Id: I5146128aaa385dfcc0ad1e0ef81a92d9350ec5f2
Reviewed-by: Richard J. Moore <rich@kde.org>
Introduces the methods QImageReader::supportedMimeTypes and
QImageWriter::supportedMimeTypes which corresponds to the similar
supportedImageFormats methods, except they return lists of MIME types.
Task-number: QTBUG-28177
Change-Id: Ibb0e264a12eaf972a8bfd6bd891dcd9f89efd085
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
This allows easy unsetting of the variable in a shell like:
QT_FATAL_WARNINGS= progname
Change-Id: Ie9cfb6ebfd4931de1c90af68bfeeae1e9f3d4b9d
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Required to prevent crashes and incorrect behavior in
https://codereview.qt-project.org/#change,44201
Change-Id: If6025429caabafd150cdd44fec152ff584232220
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
We don't need to stat(2) the file to check if it exists before
creating it. We're about to open(2) with O_CREAT|O_EXCL, which will
not recreate it if it existed.
Change-Id: I2d2176054e7776a32a4520832ee104b9c4ccf748
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
This allows shared texture uploads in a background thread.
Change-Id: Ib390243bc9dfabd6c579dff9b74e7f44211739d3
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
As Gatis found out the copy text bug is caused by the xcb plugin's
handleEnterNotifyEvent() receiving an event with a seemingly random
"time" member. That is however not due to a bug in the X server but
rather due to a missing break statement in the event dispatching in
qxcbconnection.cpp, causing an xcb_client_message_event_t to be treated
as an xcb_enter_notify_event_t, and thus an xcb_window_t to be treated
as an xcb_timestamp_t.
The other xcb_enter_notify_event_t values would of course also be
complete garbage.
Task-number: QTCREATORBUG-8476
Task-number: QTBUG-28398
Change-Id: Id8c09a6682f78b646a0d1d27b0650248bbfa1046
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
Keeping accessibility and only disabling the bridge will
enable more builds to work.
Warning about disabling accessibility disabled is needed
because in QStyle it is used to discover semantics about widgets
(if a toolbutton is in a toolbar).
Change-Id: Iae4e6ab63479743bdd70cba4b1954ec7cf3f88e9
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
VxWorks has defined variables with same name as in Qt's headers.
Undefine those variables to avoid naming conflict.
Change-Id: Ia8ca04a66acece683cd6c7f71df7e5a2800ec98d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
In VxWorks qfunctions_vxworks.h file includes correct time
related headers and it is included already at file
qplatformdefs.h for all mkspecs targets.
Change-Id: I8677eef8c79cebb445d89203284f3af27abbdd7f
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
VxWorks compiler fails to compile *.c file with C99 style comments on it
Change-Id: Ib5c5ff14006c17f9392b77363232b8b7cc112d34
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
In VxWorks set default values for scheduling priority to use
SCHED_FIFO_HIGH_PRI and SCHED_FIFO_LOW_PRI defines for other scheduling
policies than SCHED_RR or SCHED_FIFO.
Change-Id: If78b84cd9ef94d7712206e9442e96cdba727610f
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
VxWorks does not support to globally lock and unlock the scheduler from
process. In kernel mode (DKM) above functions disable preemption from
requested task and such functionality does not exist for process.
Change-Id: Id41eab4c1973e4181e82539d08707659e0780f99
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
VxWorks does not have concept of users and therefore has no function
getpwnam. Use QDir::homePath() which returns actually QDir::rootPath()
if there is no HOME env variable set.
Change-Id: I15fe15862c4491b56cfa13bbdb218ef00dfd1f15
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
VxWorks has no concepts of users and groups, therefore no such functions
exists on VxWorks. Use stub functions from qfunctions_vxworks.h for
those, so we don't need to make major source code changes.
Change-Id: Iaad80ec18441e3d3e9c0f96e92ccc3766b27d976
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Vxworks does not have gettimeofday function, use function
implementation from qfunctions_vxworks.h/cpp instead.
Change-Id: Iad2a71c8484ba00dd9406706b1c136297260de4b
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Shared libraries cannot be used in kernel mode (DKM), only at process
mode (RTP).
Change-Id: I8cecc12461aa4417b16577db3bc9cd85a1aa7efa
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
VxWorks simulator (VxSim) maps SDK rootdir usable as normal directory.
Mapped directory name is either host: or <hostname>: and can be used
without prepending prefix containing colon. Strip prepending string and
colon to get valid native path to host SDK rootdir running VxSim.
Change-Id: I9d2829e32431c2d50fefe55c93780cd37165e565
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
The uniprocessor taskIdCurrent global variable (declared in taskLib.h)
does not exist in VxWorks SMP, because of concurrent execution on
multiple CPUs. Any uniprocessor code that reads taskIdCurrent should
make calls to taskIdSelf() instead.
Change-Id: I4e0efef32297f339d6121c7d4bca3820e0fc9294
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Check if _WRS_KERNEL is defined so we are compiling for DKM mode.
Change-Id: I15801b0575d3fe6e543f81a177fd01d015d9085f
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
VxWorks don't have gettimeofday function so we always use the one
implemented in Qt. VxWorks DIAB compiler is not supported building Qt
for VxWorks 6.9.2. Anyone using older VxWorks should also not be
affected so use new defines VXWORKS_DKM and VXWORKS_RTP for VxWorks
version 6.9.2 onward.
Change-Id: I2e9546a101256ea0557b65163b40cd0f28be8519
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Qt does not print debugging in released versions. We print warnings in
case of error in using the API, but that's not the case here.
Change-Id: I14d54be5d6a1d4e1f147afd091ba850670972cdf
Reviewed-by: David Faure (KDE) <faure@kde.org>
This replaces the implementation from ac9ab9703f.
If the number of active children drops to zero, we know we can simply
delete the vector of children. We know none that might be there are
active.
If the number is not zero, but is considerably smaller than the vector
size, we can shrink the vector by reordering the elements, skipping the
inactive ones.
We use qMove, which expands to std::move on C++11, but a regular copy on
C++98.
Change-Id: I2e74446081f91fbd698425b08910fbda4746d673
Reviewed-by: David Faure (KDE) <faure@kde.org>
The new member variable activeChildren shall contain the number of
direct children that are active. This number differs from
children.count() because the vector may contain empty entries that
haven't been garbage-collected yet (obj == NULL and activeChildren ==
0).
When this count drops to zero, we know we can simply erase the vector of
children.
Change-Id: Ia20604d3fac852ea4a6e8862d934fbb936fa5e18
Reviewed-by: David Faure (KDE) <faure@kde.org>
The current implementation is a loop. We need it to be recursive so that
we can execute more operations when unwinding. This will be necessary
in the next commit.
Change-Id: Ia3c98fed0719cede0a0d92d3e343cf016ec7baf2
Reviewed-by: David Faure (KDE) <faure@kde.org>
It helps in valgrinding applications. It's the difference between:
==17609== Address 0x38 is not stack'd, malloc'd or (recently) free'd
and
==19789== Address 0x598f478 is 56 bytes inside a block of size 112 free'd
==19789== at 0x4A0736C: operator delete(void*) (vg_replace_malloc.c:480)
==19789== by 0x53A77CD: QObjectPrivate::~QObjectPrivate() (qobject.cpp:239)
==19789== by 0x53B4EB5: QScopedPointerDeleter<QObjectData>::cleanup(QObjectData*) (qscopedpointer.h:63)
==19789== by 0x53B3980: QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::~QScopedPointer() (qscopedpointer.h:99)
==19789== by 0x53A8EEC: QObject::~QObject() (qobject.cpp:750)
Change-Id: If42107c94401a96c05caa511442d6bd010fd4e29
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Unlike the previous implementation, this implementation is locked:
only one initialisation is ever run at the same time. It is
exception-safe, meaning that a throwing constructor will restart the
process.
Also, start using the thread-safe behaviour that GCC has offered for a
long time and C++11 requires.
Change-Id: I20db44f57d258923df64c0051358fd0d9a5ccd51
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: David Faure (KDE) <faure@kde.org>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
The aliases for the TIS-620 codec were not available before loading it.
This led to the following intermittent failure:
QWARN : tst_QTextCodec::threadSafety() WARNING "MS874" not found?
Change-Id: I8ed037d3238c04e1d35ed49e833ac01b7501d3e8
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Only QStringList was handled before, now any QList is handled.
A specialization for QStringList is still needed though, due to the way
template matching works.
Example with QList<int>. Before:
FAIL! : tst_QTextCodec::threadSafety() Compared values are not the same
Loc: [../tst_qtextcodec.cpp(2057)]
After:
FAIL! : tst_QTextCodec::threadSafety() Compared lists differ at index 0.
Actual (res2.toList()): '0'
Expected (mibList): '3'
Loc: [../tst_qtextcodec.cpp(2057)]
Change-Id: If0fdec3236ddb78a679ee549aba569ef5571c395
Reviewed-by: Jason McDonald <macadder1@gmail.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Currently, there is no concept of not having a cursor set on
a Window. Qt::ArrowCursor is always set instead. This causes
bugs when native child widgets are involved, for example setting
a cursor on the native widget's parent no longer works since
the child's Qt::ArrowCursor applies.
Introduce QWindowPrivate::hasCursor tracking whether a cursor
has been explicitly set and clear in QWindow::unsetCursor().
Handle 0 in QPlatformCursor::changeCursor() to mean
"unsetCursor()":
- Windows: Introduce default constructor for QWindowsWindowCursor
meaning "0". Search for applicable parent cursor in applyCursor.
- XCB: No big changes required, set XCB_CURSOR_NONE for no cursor.
- Other platforms: Assume Qt::ArrowCursor when cursor = 0 is
passed for now.
Task-number: QTBUG-28879
Change-Id: Id82722592f3cd5fe577a5b64dcc600c85cfea484
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
- Correct modality check.
- Allow for properties to be set if there is no native dialog.
- Make dialog thread for non-modal call back into dialog helper
for exec().
- Introduce QWindowsFileDialogSharedData to contain data to be
cached while no native dialog exists and to be updated by the
change notifications of the IFileDialogEvent interface to avoid
querying the dialog results after the dialog has closed. Reduce
virtual methods of QWindowsNativeFileDialogBase accordingly.
This also fixes a bug in the previous implementation causing
the directory not to reported back since the native API would
not return the directory after closing the dialog.
- Support nonmodal native dialogs when constructed on a QQuickWindow.
- Delete native dialogs after exec as QtQuick keeps the
dialog instances around.
Change-Id: Id1169d6657d9476afe12fb9909c36cbd03aa2a40
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
There is an assumption that the interface returned from iface->parent()
would have iface as one of its children (thus,
parent->indexOfChild(iface)
should always return an integer != -1, indicating that it is a child.
This is a good assumption, otherwise an hierarchy would be presented
differently depending on how it is traversed.
However, a QMenu created like this:
QMenu *menu = new QMenu("weird parent", mainWindow);
mainWindow->menuBar()->addMenu(menu);
will have a different ancestor sequence than a menu created like this:
mainWindow->menuBar()->addMenu("ok parent");
This is because it will walk up the QObject hierarchy.
This patch tries to deal with that by looking at which widgets the
action of the menu is associated with before determining which should
be the accessible parent.
Change-Id: I00dad8a94463f772d7b1f5d66fdb36b2e8d3aea2
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Instead of always using a non-transformed glyph-cache we now allow a scaled
glyph-cache so that retina-screens can take advantage of this. We take
the cache's scale into account when positioning and drawing the glyphs
so that the scale is not applied twice.
Change-Id: Ia927656f0070df61e78da76e97d2c49de4d856d9
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
The mingw headers lack the IPV6_V6ONLY define, depending where you get
them from. Currently the headers provided by mingw-builds are more
complete than those from mingw.org itself.
I have removed the compile time check, defined the macro if it is
undefined, and it should be just a runtime check for if you are running
on windows XP you get no dual stack binding.
Task-number: QTBUG-28787
Task-number: QTBUG-28971
Task-number: QTBUG-28972
Change-Id: Iafadbb55d367c44ba9f812a24115e65591701b54
Reviewed-by: Ilya Sidorov
Reviewed-by: Peter Hartmann <phartmann@rim.com>
(cherry picked from commit d3c4296198)
Depending on the implementation updating an input method can be
expensive and various widgets will at times call setInputMethodHints
with unchanged hints. QGraphicsView being a notable offender due to
the complexity of the circumstances in which the hints can change.
Skipping the update here ensures the input method isn't updated
unnecessarily for all widgets.
Task-number: QTBUG-19854
Change-Id: I36ae35585ee20a4e01ca0d62c71e896dbdb51a3f
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
For use with public API in QtMacExtras.
This goes into Qt stable: Fix for new functionality,
and close a feature regression against Qt 4.
Change-Id: I555fdff3ddb39336ccd72f9711d465f1c18c6b45
Reviewed-by: James Turner <james.turner@kdab.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
The pcre(3) man page says that the 4th argument of pcre_fullinfo,
when requesting PCRE_INFO_OPTIONS, should point to an unsigned
long int variable.
Change-Id: I72cd5ab208687715329566556c5f279db57f7872
Reviewed-by: Richard J. Moore <rich@kde.org>
These classes moved as well, but were missed in commit c07408e2. This
fixes uic generating invalid code if any of these classes are used in
an .ui file.
Change-Id: I0359157f540a5f4979cca781169e5a9b2a0afad7
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
This associates properties with member variables and
avoids writing getter and setter methods manually.
The metaCall() method directly accesses the member variable,
so additional method calls can be avoided.
The metaCall() setter code also supports NOTIFY signals,
which means the according signal is emitted when the property
gets written.
Task-number: QTBUG-16852
Change-Id: I88a1f237ea53a1e9cf65fc9ef2e207718eb8b6c3
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Since we have to add the filters one by one to the Mac file dialog it
was finding the one that would match the filter by comparing the start
of the filter string. However it would continue to check the start of
other filters even if it had already found the one it should be using.
Now it uses either an exact match or the first one that it matches the
start of.
Change-Id: Ie6441acd48e45ec9c712afc12a2ea47755835bb3
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
If the sheet is not ended then subseqent calls to show a sheet will not
work correctly.
Change-Id: Ib8a43a1c96a3dadff196c433e822f7579ad87b8b
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Some times a platform might want to exclude certain configs, for example
based on EGL_NATIVE_VISUAL_ID. This patch introduces a new
QEglConfigChooser class which has a virtual filterConfig() function
which can be re-implemented in a sub-class to give finer control of how
configs are chosen.
Change-Id: I8b684f01be95a47307b1e429857f01337a9a38d8
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
ls(1) with the -i option and stat(1) show inode numbers in decimal. If
anyone ever tries debugging this problem, we should present the
information that other tools would show too.
Change-Id: I54b24edba5b028cc86744ca302ab918f8baa2d2b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Fixes performance issues in apps which register and deregister objects
very frequently (like nepomukstorage).
Change-Id: Ib4ce8d65868f0e26cd45f1053e4b2f4c13528cfa
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This QIODevice uses a temporary file for writing, so that in case of
write errors, the writing operation is canceled, without losing any
existing file. It also avoids having a partially-written file visible
by other processes, at the final destination.
Change-Id: I9482df45751cb890b1b6f1382ec2eea3eb980627
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
They are not supported anymore.
Use the standard Qt dialogs instead.
Change-Id: I2b6c7688e24e4345a95d3a9a062f9670cb1a845f
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Bernd Weimer <bweimer@rim.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Mesa has started defining glXCreateContextAttribsARB even when it is not
supported as a feature. To be sure it is safe to use, we need to also check
if it is supported extension.
Change-Id: Ie160dc2b2418a726957b59f47bd290b742562ae3
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Triggered for example by Qt Designer's new form dialog.
Change-Id: I63a1f1e5425e8d5fc60c10418a715143e65443f1
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Since Qt4, there is a bug which causes Qt to drop dead key modifiers
(like graves and acutes) if the user types enough fast on MS Windows.
This happens because of an extrange behavior of Windows, which drops
dead keys on ToUnicode() calls.
This patch tries to workaround that.
Task-number: QTBUG-8764
Task-number: QTBUG-10032
Change-Id: Ifdde25817743194fd5c0b7533c27f46a7a108ca4
Reviewed-by: Friedemann.Kleint@digia.com
Reviewed-by: oliver.wolff@digia.com
Reviewed-by: marc.mutz@kdab.com
Reviewed-by: bjoern.breitmeyer@kdab.com
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Useful for not having to fall back to QPainterPath drawing when using
the raster engine with a retina screen (which has a 2x scale).
Change-Id: I0a9f754d31b0ecd8e8daf7a01331d19716bab680
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
This currently fails on case-insensitive file
systems since the check for existence then triggered
and indicated "file already exists".
Check on the file id (inode or file id) whether
the target file is really a different file for a
case-changing rename.
Task-number: QTBUG-3570
Change-Id: I1b2d40850692e02142ee23d2c753428de00aedc6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This is necessary for initializing things in a library, which require
a QCoreApplication instance (unlike Q_CONSTRUCTOR_FUNCTION, which runs
before that). Example use cases: KCrash (segv handler), and KCheckAccelerators
(debugging tool triggered by magic key combination).
Change-Id: I5f4c4699dd4d21aea72b007989ba57467e86ed10
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This is a partial revert of 7abf623. The desktop components have been
fixed to call QStyle in the main GUI thread.
Change-Id: Ifd8364269b7d2e350f34647c128ff2fbde70afd6
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
When re-applying window flags in setParent, force top level on
or off according to state.
Task-number: QTBUG-28872
Change-Id: If931fcb38394f472a6cdf260aa935c1d03779611
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Make sure that dpy->request == dpy->last_request_read after setting
up a new window. If we don't do this, last_request_read might never
be updated until the difference hits a limit that can lead to hangs
in the application (see e.g. QTCREATORBUG-8373).
Task-number: QTBUG-29106
Change-Id: I390493ca6f966dc105d3ea3a2c48abec01177bc2
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
GCC 4.3 had support for decltype but not the new function syntax (which
we call "auto function" for short). That meant the code did not compile.
qtconcurrentrun.h:105: error: expected initializer before ‘->’ token
Task-number: QTBUG-28984
Change-Id: I792276ec59c4f6e73f6137c517636e70c71ed849
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Drop the read and write permissions for group and other users in the
system.
Change-Id: I8fc753f09126651af3fb82df3049050f0b14e876
Reviewed-by: Richard J. Moore <rich@kde.org>
eventfd(7) uses less resources than a pipe, as it only needs to store a
single 64-bit integer, as opposed to a full buffer.
It was introduced first on Linux version 2.6.22 and glibc 2.7. However,
both the configure-time test and the runtime usage require the use of
EFD_CLOEXEC for thread-safety, so this code will be enabled only for
Linux 2.6.27 and up as well as glibc 2.9 and up.
Change-Id: Ic7e10b28d7b1d4ca24be614ed84055c4429a68e4
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Some of it still referred to classes that were cleaned up in Qt 5.0
Change-Id: Ief4ed4b4fce074884f755b0d18a526ac40ad1b0b
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
This is a very common thing to do, e.g. in order to send urls via DBus.
Change-Id: I277902460ee1ad6780446e862e86b3c2eb8c5315
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Had to move QTextStreamPrivate to a private header, to be able to use
its new internal Params struct from qdebug.cpp
Change-Id: If28e25f27bbd04b1825a5eb3e2ef83ecad72e7b2
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This is needed by QSaveFile.
Move QTemporaryFilePrivate to that header too, to avoid any confusion.
Change-Id: I8dce8a4fb853a9823c49ec565867432331e748cd
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
QFSFileEngine::rename() on Windows doesn't overwrite the existing destination.
Keep that unchanged (it's the desired behavior in QFile::rename), and
provide cross-platform rename-overwrite behavior in the new method.
This is needed by QSaveFile.
Change-Id: I5e753d289d8a53692530a48a1783d62e26169cdc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
ShellExecute fails to open a share folder due to using '/' instead of '\'.
Windows API doesn't support forward slashes for extended-length path.
Extended-length path are path that start with a "\\?\" prefix. For example,
"\\?\c:\very_long_path\foo\bar.txt", or in the case of a UNC path that
would be "\\?\very_long_path\foo\bar.txt". [1]
[1] http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx#maxpath
Task-number: QTBUG-13359
Change-Id: Ibb113abeebd56f106f76520bc23dba797de548fa
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
QMessageAuthenticationCode is HMAC implementation based on
QCryptographicHash abilities. HMAC is often used in OAuth and similar
authentication protocols.
Change-Id: Ifc73947ad06c36a1b770315b7e89ba5c01c5e79e
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Restrict disconnect() to the clicked() signal, leaving connections
to destroyed() (as used by QStyleSheetStyle) intact.
Task-number: QTBUG-20292
Change-Id: I7471b4d1262ec0684e4446b5c17513717c502749
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Avoid using realpath(X,0) on Mac OSX at all, since
even on versions of OSX where realpath(X,0) is supported,
we still get the legacy version due to our compiler flags.
If we were to change the -mmacosx-version-min to 10.5 or
higher then this patch would be safe but unnecessary.
Task-number: QTBUG-28282
Change-Id: Iee21003f3e9616482483a05ceee706b476091914
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
in qt5, gtkstyle use gtk_widget_send_focus_change, this had a side
effect that will trigger real gtk im module, if qt load the same qt and
gtk im module for same input method, it will cause conflicts for qt im
module. The only gtk widget have im-module property is GtkEntry and
GtkTextView, since only GtkEntry is used here, we only need to override
im-module for GtkEntry.
gtk-im-context-none exists in gtk+ since 2.19.5, and for older version,
it will also harmlessly fallback to gtk-im-context-simple.
Change-Id: I4ffb93453e77c8d5db3349b084342bdca8e4a571
Reviewed-by: Liang Qi <liang.qi@digia.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Because this method creates a QSocketNotifier, it needs
to be split into a part that is run on initialization, namely
QQNXLocaleData::initialize(), and one that is run delayed
through event loop invocation, namely QQNXLocaleData::installSocketNotifier().
Task-number: QTBUG-28701
Change-Id: Ib60000902692bbca4820d3d0bc7719212668dfa9
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Change-Id: I3ea2556769703a8cd4c2931cc2332ab0733fbea6
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>