| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
The '!' binds to a, so the comparison is not what is expected.
Change-Id: I9192d16e901a9ba6dd13625be544cce6b2fd78c6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
This is (!a) == b which is not what is intended here.
This exact bug was fixed in a couple of other instances of the QmlJSParser
(in QtCreator and Qt itself) by now.
Change-Id: I46a50153d7c349f21e0a888e2e3b4c4fa65c27c0
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
| |
! binds to a, and that is wrong here.
Change-Id: I746d2b82bbd03635b3aa06abb0c5566f84a03128
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"Make QGuiApplication::exec() run within NSApplicationMain()"
"Make Qt process native and timer events on Cocoa applications"
"Cocoa: Fix QFontDialog, QColorDialog auto-tests"
This reverts commits
1e14762b8d79118540bd09a84dd3e48f4f5e113e
e4b2a0b4bab2a17a65fedafe9bae50af1fe019f6
df7944e7d7dd8b2bbccbd639eff0ab09745d6cc3
Change-Id: I80b65b5ee0297b090f807bd420664233dfc44f7b
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
| |
order is either Ascending or Descending (0 or 1), so this comparison is
unnecessary.
Change-Id: Ieceacf18f1bf3c7a7555205a140b738daa92bd04
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
|
|
|
|
|
|
|
|
| |
qlistview.cpp:1836:6: error: unused parameter ‘step’ [-Werror=unused-parameter]
Change-Id: I8c2d16bd794204adafcf2dc049c04601506e7734
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
|
|
|
|
|
|
|
|
| |
Ask for an uninitialized byte array, since we're about to memset(3) it
anyway. And don't overwrite the initial byte either.
Change-Id: I2caa2ef395ad5684416e6cd336c0444de7787b5d
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
|
| |
It took me several minutes reading the code to figure out why it was
there. It wasn't immediately obvious.
Change-Id: Ic36b3fd24ce84a1b08c73986d3b7ab8a5bfff133
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This actually looks very wrong. First, it would try to read bits for
len == 0, which means it was actually reading the implicit NUL from
QByteArray (so valgrind would never catch the error).
Second, there was a corner case for testing the 8th bit (bit 7) in the
last byte. For len == 8 or 16 at the beginning of the last loop, it
would read bits[len / 8], which is again the implicit NUL from
QByteArray.
Compare to testBit (simplified):
return d.constData()[1+(i>>3)] & (1 << (i & 7)) != 0;
Task-number: QTBUG-11625
Change-Id: Idb361163de596b629cab42f2367ddd09456c2a98
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The check is bogus anyway. It was bogus when it was added. The bug is
not because of "GCC on IRIX", it's simply a GCC bug and was probably
tied to some GCC versions. It should have been reported and followed up.
I don't even remember what GCC versions we had on the IRIX machines
(plastkrakk, I can't remember the other two machine names). But I could
bet they were GCC 3.4 or 4.0.
Change-Id: I84ce4e1ad68bb0520b63c210f841e0c604dbd03a
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
|
|
|
|
|
|
|
|
| |
The ! binds to a only, which is most likely wrong here.
Change-Id: I4aa09407a8acc68f97bef474781193774e4a7597
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
|
|
|
|
|
|
| |
Change-Id: I15273fa3f3ba323a835350153f2a20404f12420b
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before we went through non hidden indexes, but we never considered
the visual order. This patch fixes that issue.
Though it was wrong before, it probably never was a big problem
since it was unlikely that the tree (on logical index 0) was
swapped or hidden, but
658e42e77a00596b63823482c9b77644556b647c
makes it more likely that problems with wrong focus could occur.
Change-Id: Ic7b6cd2df1f8638be1a7c9e6df27f428685869fc
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
|
|
|
|
|
| |
Change-Id: Ia8ef11fce9326ed708bf2972514b46b9d105ad9e
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
| |
Change-Id: I8649bbe608cb2f79c721c900c03fd0139a8c0cd1
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
| |
Clang does not like this:-)
Change-Id: I9c65025d99d31b5ef1314dadf90eef02d23eacb0
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
Make the documented QScopedPointer functions that take rvalue
references visible in the documentation.
Task-number: QTBUG-32675
Change-Id: If65af91d9379a6c0486e43c33434cca8505fc5c3
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
qdoc interprets the double-ampersand in function parameters
using rvalue references (e.g. 'Type &&other') incorrectly
as a logical AND operator, resulting in a syntax error.
This change works around the issue by treating '&' the same
as '*', and defining Q_COMPILER_RVALUE_REFS for qdoc.
Task-number: QTBUG-32675
Change-Id: I499611f16f22c33ff5b878da0cd59d67ddf53d72
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The new Cocoa event dispatcher made apparent some deficiencies in the
way the dialog helpers were being hidden. In particular, we would not stop
a dialog helper's modal loop when closing the dialog, resulting in the
auto-tests hanging. Also, since the QApplication event loop is runnig with
[NSApp run] in the stack, the previous workarounds are no longer needed.
Task-number: QTBUG-24321
Change-Id: Ifba713c286638d78a699c319a15683d09714f06f
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
|
|
|
|
|
|
|
|
| |
Since we don't spin any QEventLoop, we need to make sure events posted
by the window system interface are processed.
Change-Id: I0e7b541d86a7a14f2ecd3702e7cbdbdee9920859
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We follow the same pattern as for iOS and Windows ports, making
sure the user's main() runs in a platform friendly environment. In
this particular case, it means calling the user's main() during the
call of NSApplicationMain(), and calling the user's main() function
(renamed to qMain() as in Windows) after receiving
NSApplicationDidFinishLaunchingNotification. In practice, this means
that NSApp is running when qMain() is called, and therefore when
QCoreApplication::exec() is called.
For those command-line utilities running on QGuiApplication, or any
deriving class, and that do not provide a bundle, we override the main
bundle's dictionary and get NSApplicationMain() to run as usual.
Added cocoa/cocoamain "subdir" to build libqtcocoamain.a (together with
cocoa/cocoaplugin -- plugins/platforms/cocoa is made a subdirs project).
This library is linked against all GUI Qt apps and provides the actual
main() function. It also catches the launching NSApplication notifications,
and calls the user's qMain() function. Note that this will happen in the
same cases when the user's application will run with the Cocoa QPA plugin.
Launch related code in QCocoaApplicationDelegate is moved to libqtcocoamain,
QNSApplication is removed (but sendEvent: redirection still there), and
code in QCocoaEventDispatcher dealing with calling [NSApp run] and related
has been removed since it's become unreachable.
ChangeLog: [Qt for Mac] Make QGuiApplication::exec() run within NSApplicationMain()
Change-Id: I790e5138c29aac2e0215a9147d0148fece40ca22
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently just a convenience method for setNameFilters(), it uses
QMimeType to create a name filter from the glob patterns and
description defined in each MIME type.
In the longer term, this API could be used to do proper mimetype-based
filtering using QMimeDatabase::mimeTypeForFile() in the builtin
QFileDialog (aka "not native"), instead of only looking at globs via the
name filters.
Change-Id: I0edccf5f30c514481b47cd100d743d1ed7a24024
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
=======
Qt User Interface Compiler version 5.2.0
Usage: uic [options] <uifile>
-h, -help display this help and exit
-v, -version display version
-d, -dependencies display the dependencies
-o <file> place the output into <file>
-tr <func> use func() for i18n
-p, -no-protection disable header protection
-n, -no-implicit-includes disable generation of #include-directives
for forms generated by uic3
-g <name> change generator
After:
======
Usage: uic [options] [uifile]
Qt User Interface Compiler version 5.2.0
Options:
-h, --help Displays this help.
-v, --version Displays version information.
-d, --dependencies Display the dependencies.
-o, --output <file> Place the output into <file>
-p, --no-protection Disable header protection.
-n, --no-implicit-includes Disable generation of #include-directives.
--postfix <postfix> Postfix to add to all generated classnames.
--tr, --translate <function> Use <function> for i18n.
-g, --generator <java|cpp> Select generator.
Arguments:
[uifile] Input file (*.ui), otherwise stdin.
Notes:
* "-dependencies" etc. still work.
* -n option still has effect, but technically not only for ui3 files
* the fact that the <uifile> parameter is optional wasn't documented
* -postfix option was undocumented
* -translate alternative for -tr was undocumented
The last two points show the benefit of using QCommandLineParser.
Change-Id: Ie05cfb9bbe50f4ac2788aa7b6011b2daa1acde6a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
=======
Qt resource compiler
Usage: rcc [options] <inputs>
Options:
-o file write output to file rather than stdout
-name name create an external initialization function with name
-threshold level threshold to consider compressing files
-compress level compress input files by level
-root path prefix resource access path with root path
-no-compress disable all compression
-binary output a binary file for use as a dynamic resource
-namespace turn off namespace macros
-project Output a resource file containing all
files from the current directory
-version display version
-help display this information
Undocumented: -verbose and -list !
After:
======
Usage: rcc [options] inputs
Qt Resource Compiler version 5.2.0
Options:
-h, --help Displays this help.
-v, --version Displays version information.
-o, --output <file> Write output to <file> rather than stdout.
--name <name> Create an external initialization function with <name>.
--root <path> Prefix resource access path with root path.
--compress <level> Compress input files by <level>.
--no-compress Disable all compression.
--threshold <level> Threshold to consider compressing files.
--binary Output a binary file for use as a dynamic resource.
--namespace Turn off namespace macros.
--verbose Enable verbose mode.
--list Only list the files, do not generate code.
--project Output a resource file containing all files from the current directory.
Arguments:
inputs Input files (*.qrc).
Change-Id: If20958afd6c01df5d0d755e13e8581bc1cb9af51
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add convenience methods for fromMSecsSinceEpoch() and
fromTime_t() to enable direct creation of other time specs
than LocalTime without the overhead of unncessary conversions.
For example instead of:
QDateTime dt = fromMSecsSinceEpoch(12345).toUtc();
the following saves two conversions:
QDateTime dt = fromMSecsSinceEpoch(12345, Qt:UTC);
This will improve the performance of the new QTimeZone class.
[ChangeLog][QtCore][QDateTime] Added convenience methods for
fromMSecsSinceEpoch() and fromTime_t() to take time spec to be used in
returned datetime.
Change-Id: I133635bfe3d35ee496a287257e13b2d600225a38
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Qt::OffsetFromUtc TimeSpec was made public in Qt 4.4 but the access
methods were never made public in the apidox effectively meaning the
feature was never used. The implementation was also incomplete and
inconsistent.
This change cleans up the implementation and exports new public API for
using the TimeSpec using new method names consistent with the new
QTimeZone support.
This change increases the QDataStream Version number for Qt 5.2 to 15.
The behavior of one constructor has changed slightly to be consistent
with the rest of the feature, but this behavior was never documented.
[ChangeLog][QtCore][QDateTime] Fully implement support for Qt::TimeSpec
of Qt::OffsetFromUTC, added new methods for offsetFromUTC(),
toTimeSpec(), and toOffsetFromUTC().
Task-number: QTBUG-26161
Task-number: QTBUG-29666
Change-Id: If3cc7fc9778ca2b831644408ae749448d5975a3a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Maliit upstream has its own IC which is more advanced than this one, as well as
being supported.
Change-Id: I4b820fc7f39468e53c113699c4c43c75d490f65b
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The application state is tied to the QtActivity lifecycle.
Mapping of states between Android and Qt is as follows:
onResume --> ApplicationActive
onPause --> ApplicationInactive
onStop --> ApplicationSuspended
Change-Id: Iefef08d6c7a7fde28fba1f4886882458cda6a0c0
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QButtonGroup emits signals on clicked, pressed and released for
buttons in the group, but for some (insuffienct) reason it did
not emit anything for toggle (the only signal that it didn't emit
anything for).
This patch changes that, by adding handling of that signal to
QButtonGroup.
Task-number: QTBUG-14857
Change-Id: I88bcd7b060b78c7ff05ea1adf7baaddfe6d463be
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
|
|
|
|
|
| |
Change-Id: I861758746eca954cf074893b0241fd66c2ff39d2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Starting with Windows Vista, we can control the compositing window
manager using the DWM APIs. This allows us to make truly transparent
OpenGL windows.
We also have to detect and listen if compositing is enabled, otherwise
enabling transparency will cause glitches all over the place.
This (partially) fixes
Task-number: QTBUG-28214
Change-Id: I0fe1ec7adec8181b788c32de03c59142731d9e7f
Done-with: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
|
|
|
|
|
|
|
|
|
| |
Commit 93ffb81df6e2cdc57ac8f70c6578f132024d7117 introduced this bug. As
it is in the header, it affects downstreams.
Change-Id: I02e86927e648153ca7c0b66ac945a7f99cc4cd89
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
| |
Change-Id: I06fbf58131ebce51ce95921d8dfd65dd3d3e236f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
| |
Change-Id: Ib956adb0ab7bcfba3ce73acf7c19bda815d6eb73
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
| |
Change-Id: Ia786d4fab64da974bb60f24c05325925d42a1e70
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's a nice feature to have.
MSVC also complains about using doubles to create enum values, so
the ugly workaround is:
enumValue = MyEnum(qRound(json["myEnumValue"].toDouble()));
[ChangeLog][QtCore][QJsonValue]Added QJsonValue::toInt().
Change-Id: I1a200b912abf66b2e96390b1980caff26cfa2685
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
| |
Controlling the layout from different functions is not easy, so
lets move it to the setupLayout function.
Change-Id: I3120a2e98b2f8425befa135595d4ad7ce1b8ca56
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
|
|
|
|
|
|
|
| |
Makes it possible for QElapsedTimer to be non-POD.
Change-Id: I5ffc59c7a93c187a4a814e6959f8383fa8d4cc44
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we're compiling for Pentium or better CPUs, then we know that the
CPUID instruction is present (I think it was introduced in late 486s,
actually). So don't try to detect it. Simply assume it's there and then
execute it.
This means that if you compile Qt for Pentium (or higher) and run it on
an i386 or i486, you'll get a SIGILL (or whatever your OS produces for
an #UD processor exception). If the CPU detection code even got run --
SIGILL might happen for any other instructions found along the way.
Change-Id: Iacd4a94a51363a609a61fc2bfd2e218fb290272d
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The documentation says that we scroll one pixel
Quote:
"QAbstractItemView::ScrollPerPixel (value 1)"
"The view will scroll the contents one pixel at a time."
However until now Qt has tried to be smarter than the
documentation, but is actually getting in the way of the user,
where a manual set value to setSingleStep will continuingly
be overwritten (on e.g resize).
This patch ensures the behavior described in the documentation
for the vertical headers - and leaves the control to the user.
[ChangeLog][QtWidgets][QAbstractItemView] QTBUG-7232 - In ItemViews
scrollbars will now by default only scroll 1 pixel when scrollMode
is set to scrollPerPixel. That is it will (when scrollMode is
scrollPerPixel) do what is stated in the documentation, and no
longer automatically adjust the scrollbars singleStep. The user
can now control that value.
Task-number: QTBUG-7232
Change-Id: I8a61d3100be65d0c4ee32aad58caed019aa2669c
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of using the fake "outputdir" to force qdoc
to generate a relative path to the actual output dir,
it now uses the value of HTML.outputsubdir, or just
"html" if HTML.outputsubdir is not specified.
Task-number: QTBUG-32580
Change-Id: I45c79a788e102213e6d343a7ed108a3d17d94759
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The QCommandLineParser class provides a means for handling the command line options.
QCoreApplication provides the command-line arguments as a simple list of strings.
QCommandLineParser provides the ability to define a set of options, parse the
command-line arguments, and store which options have actually been used, as
well as option values.
Done-with: Laszlo Papp <lpapp@kde.org>
Change-Id: Ic7bebc10b3f8d8dd06ad0f4bb897c51d566e3b7c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
| |
It's not clear why they were added, but they aren't needed anymore.
Change-Id: I1d919deefdbd6a71fa255eeac1a8543c33ba390d
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
| |
Before a call to erase on a shared instance would imply that the
item was inserted into the shared data (i.e all instances)
Change-Id: I655ccf04b1ad9bf82e6bfade58929538fa7df000
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
| |
This patch ensures correct detach when insert with an iterator is
called on a shared instance (i.e same behavior as QVector)
Change-Id: Id660eacd3cc7b633456dfa989997bbad747e1df2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Before a call to erase on a shared instance would imply that the
item was removed from the shared data (i.e all instances)
This patch improves the behavior to detach and erase the item
specified by the iterator (i.e same behavior as QVector)
Change-Id: Ib3cfb5363c86b400886c80b75b0c20ca854ce801
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before calls to erase on a shared instance would in release mode
imply that items were removed from the shared data (i.e all instances).
In debug mode it would assert.
This patch improves the behavior to detach and erase items
specified by the iterator(s) (i.e same behavior as QVector)
Change-Id: I89b69446cb1ffd43a98402b7ab1ec9a59bceb8e6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Before a call to erase on a shared instance would imply that the
item was removed from the shared data (i.e all instances)
This patch improves the behavior to detach and erase the item
specified by the iterator (i.e same behavior as QVector)
Change-Id: Ia44db84fc1388d92308bf0d2b32539ac4d53850b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before a call to erase on a shared instance would imply that the
item was removed from the shared data (i.e all instances)
This patch improves the behavior to detach and erase the item
specified by the iterator (i.e same behavior as QVector)
Since QSet uses QHash it improves QSet the same way.
Change-Id: I850b1efcf7bdfc85ceddb23128b048af95f75063
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QTBUG-21051 has a testcase where activeThreadCount() could actually
end up at -1 (converted to an autotest in this commit).
The reason was: start() calls tryStart() which returns false due to
too many active threads (reserveThread() causes this), so it calls
enqueueTask() - which actually wakes up the waiting thread, but
it didn't decrement the number of waiting threads.
Note that tryStart() is "if I can grab a waiting thread, enqueue task and wake it"
while start(), in case tryStart() fails, wants to "enqueue, and then if I can grab
a waiting thread, wake it". This is why enqueue shouldn't wake; waking must happen
only if we can grab a thread (d->waitingThreads > 0).
Task-number: QTBUG-21051
Change-Id: I3d98337103031c9bdf0bf365295f245be0c66aa7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|