| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
master-integration
* 'master' of scm.dev.nokia.troll.no:qt/berlin-staging-1:
clean up x11 desktop detection
avoid double reallocations in inserting operations
create temporaries more intelligently
do not protect against self-assignment in QList::replace()
make queues to which only lists are appended not blow the memory
optimize queue-like structures
remove more pointless recalculations
Fix compilation with namespace.
Fix compilation with namespace.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
KDE_FULL_SESSION is reliable since kde 2.x or so.
DESKTOP_SESSION is not reliable, unless one uses a new gnome.
GNOME_DESKTOP_SESSION_ID was temporarily unreliable. the two together
should be reliable.
copy the xfce4 detection from the xdg-open tool. assumed to be reliable.
remove the window manager hacks, as they are redundand with the
asssumedly reliable detection methods above.
Reviewed-by: jbache
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
operator+=() and co. would first detach, and then realloc if they found
the reservation too small. in particular, appending anything to an empty
list would trigger this double reallocation (first copy shared_null,
then grow the copy).
entirely rewritten take 3, this time without memory corruption or
exhaustion ... :)
Reviewed-by: joao
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
we already know that we are dealing with a movable type, so it is safe
to keep a temporary copy of the raw data instead of going through the
copy c'tor.
this way we save a pretty useless ref()/deref() pair for each and every
insertion of an implicitly shared type into a QList.
the QtPodForSize class is somewhat ugly. we should use QIntegerForSize,
but that's not possible without having separate template
specializations, which is not possible without some bigger changes to
the qt type info system. it will be beautified in due time. :)
Reviewed-by: joao
|
| |
| |
| |
| |
| |
| | |
it's not the task of the container class to do so.
Reviewed-by: joao
|
| |
| |
| |
| |
| |
| |
| |
| | |
append2(list) didn't use the array shifting logic the append() for
single elements does. this would cause the list to grow endlessly
despite leading elements being removed if only lists were ever appended.
Reviewed-by: joao
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
a list to which we append after we took something from the beginning
is most likely a queue, and it seems unlikely that we would suddenly
start prepending to it. consequently, optimizing the prepending case
by leaving the first third of the allocation free just increases the
number of times the array needs to be shifted down.
Reviewed-by: joao
|
| |
| |
| |
| | |
Reviewed-by: joao
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
master-integration
* 'master' of scm.dev.nokia.troll.no:qt/berlin-staging-1:
Fix compilation with namespace.
Fix compilation with namespace.
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \ |
|
| |\ \ \
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
master-integration
* 'master' of scm.dev.nokia.troll.no:qt/qt-qml:
Replace QmlList* and QList* support with a single QmlListProperty type
Rename MouseRegion -> MouseArea
Update QmlChanges with animation API changes.
Document the default velocity of EaseFollow
Remove use of unexprted private classes.
Fix compile error on Solaris
Increase durations when testing Behaviors.
Add cached path rounded rect painting benchmark.
Remove use of direct event posting. Use QTest::keyClick() for keys.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
As a value type QmlListProperty doesn't consume any memory in the object.
It also has a companion QmlListReference class that is part of the public
API for C++ developers to interact with that also manages memory issues
that existed with previous solutions (if the containing QObject was
destroyed it left a dangling pointer).
|
| |\ \ \
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | | |
into master-integration
* 'master' of scm.dev.nokia.troll.no:qt/qt-multimedia-staging:
Documentation fixes.
Add a qRegisterQmlElements function to QtMultimedia
|
| | | |
| | | |
| | | |
| | | | |
Reviewed-by: Nicholas Young
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Avoid exposing private classes.
Reviewed-by: Bill King
|
| |\ \ \
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | | |
master-integration
* 'master' of scm.dev.nokia.troll.no:qt/berlin-staging-1:
QtMultimedia: Fix compilation of qml/qsoundeffect_pulse on 64 bit.
|
| | |\ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
master-integration
* 'master' of scm.dev.nokia.troll.no:qt/berlin-staging-1:
QtMultimedia: Fix compilation of qml/qsoundeffect_pulse on 64 bit.
|
| | | | | |
|
| |\ \ \ \
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
master-integration
* 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-2:
Compile fix for symbian
license doc updated for libtiff 3.9.2
Our configuration and build modifications to libtiff
Add libtiff 3.9.2
Update license doc, .pro file and qjpeghandler for libjpeg 8
Our configuration and build modifications to libjpeg
Add libjpeg 8
Delete libjpeg 6b
Delete libtiff 3.8.2
|
| | |\ \ \ |
|
| | | |\ \ \
| | | | |/ /
| | | |/| |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
master-integration
* 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-2:
license doc updated for libtiff 3.9.2
Our configuration and build modifications to libtiff
Add libtiff 3.9.2
Update license doc, .pro file and qjpeghandler for libjpeg 8
Our configuration and build modifications to libjpeg
Add libjpeg 8
Delete libjpeg 6b
Delete libtiff 3.8.2
|
| | | |/ /
| | |/| |
| | | | |
| | | | | |
Reviewed-by: trust me
|
| | |\ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Conflicts:
doc/src/legal/3rdparty.qdoc
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This is a clean copy of libtiff 3.9.2, except that contrib, tools,
config and other unneeded stuff have been removed, as usual. Our
configuration build modifications will follow in a separate commit.
|
| | | | | | |
|
| | |\ \ \ \ |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
In libjpeg versions >= 7, the default unit-scaling when decompressing
is given as 8/8 instead of 1/1.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This commit is the combination of earlier Qt patches to libpng,
reapplied here after the upgrade to version 8.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This is a clean copy of libjpeg , except that some build scripts, test
images etc. have been removed, as usual. Our configuration
modifications will follow in a separate commit.
|
| | | | | | | |
|
| |\ \ \ \ \ \
| | | |_|_|/ /
| | |/| | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Conflicts:
configure.exe
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
src/opengl/qgl.cpp
|
| | |\ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
master-integration
* 'master' of scm.dev.nokia.troll.no:qt/berlin-staging-1: (25 commits)
Add convenience function QTextCursor::positionInBlock()
Fixed URL in Russian translation.
Designer/Resourceview: Suppress warning about QFileInfo on empty path.
optimize qstring::simplified()
Revert optimizations to QString::append
unbreak QList::append() and co. again
Implement bookmark manager widget.
optimization: use QList::reserve() and QVector::reserve()
amend "purge msvc.net and msvc2002 makespecs"
Added QPlainTextEditor::anchorAt(const QPoint &pos)
Fix memmory leak.
Fix spacing.
Prevent renaming the bookmarks menu root item, it's just a placeholder.
Fix broken set last shown pagen when the last page was about:blank.
Move launch with external app in base class.
Make sure the bookmarks menu updates on add/ remove as well.
Fix broken Drag&Drop, reset and clear the model if we set new bookmarks.
avoid double reallocations in appending operations
avoid double reallocation in string-growing replace() case
optimize qHash() some more
...
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
We have a missleading function QTextCursor::columnNumber() since 4.2,
which almost never returns what you want.
The pattern cursor.position() - cursor.block().position() is used
frequently in code using QTextCursor.
Reviewed-by: Roberto Raggi
|
| | | |\ \ \ \ \
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
master-integration
* 'master' of scm.dev.nokia.troll.no:qt/berlin-staging-1: (22 commits)
optimize qstring::simplified()
Revert optimizations to QString::append
unbreak QList::append() and co. again
Implement bookmark manager widget.
optimization: use QList::reserve() and QVector::reserve()
amend "purge msvc.net and msvc2002 makespecs"
Added QPlainTextEditor::anchorAt(const QPoint &pos)
Fix memmory leak.
Fix spacing.
Prevent renaming the bookmarks menu root item, it's just a placeholder.
Fix broken set last shown pagen when the last page was about:blank.
Move launch with external app in base class.
Make sure the bookmarks menu updates on add/ remove as well.
Fix broken Drag&Drop, reset and clear the model if we set new bookmarks.
avoid double reallocations in appending operations
avoid double reallocation in string-growing replace() case
optimize qHash() some more
optimize QList::mid()
optimization: use QList::reserve() in QSet::toList()
add QList::reserve()
...
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
- avoid detaching if the string is already simplified
- avoid calling isSpace() multiple times on the same character
Reviewed-by: joao
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
This reverts commit 03ac778172b783d26bb1c7c5d92bdedd045fcc92 and
commit 02135be18f3c4b1d1525aff6dfe96c9c8521084d. They broke qt
on all platforms (e.g. qmake didn't compile on Windows any more).
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
make sure that the detached object is always at least as big as the
original one. that may be somewhat wasteful, but it is no worse than
before the detach() optimization. one may consider improvements later.
Reviewed-by: joao
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Co-authored-by: denis
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
The equivalent of QTextEdit::anchorAt.
Done-with: mae
|
| | | | |\ \ \ \ \
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
master-integration
* 'master' of scm.dev.nokia.troll.no:qt/berlin-staging-1:
avoid double reallocations in appending operations
avoid double reallocation in string-growing replace() case
optimize qHash() some more
optimize QList::mid()
optimization: use QList::reserve() in QSet::toList()
add QList::reserve()
optimization: get rid of QString::fromUtf16() usage, part 2
add QString(const QChar *) c'tor
|
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
operator+=() and co. would first detach, and then realloc if they found
the reservation too small. in particular, appending anything to an empty
list would trigger this double reallocation (first copy shared_null,
then grow the copy).
Reviewed-by: joao
Reviewed-by: denis
|
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
detach() followed by resize() is suboptimal, as it first creates an
identically sized copy, and then a differently sized one.
Reviewed-by: joao
Reviewed-by: denis
|
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
on modern architectures, a longer data dependency chain is worse than a
slightly bigger instruction.
as it happens, the code is also clearer. would you have guessed that
qHash() is only 28 bits wide?
Reviewed-by: joao
Reviewed-by: denis
|
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
instead of append()ing each element separately, reserve enough space and
do a low-level node copy.
obviously, the gain for small simple types is the biggest.
Reviewed-by: joao
Reviewed-by: denis
|
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Reviewed-by: Denis
Reviewed-by: Joao
|
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
while this reserves memory "only" for the pointer list, this still
amounts to 100% of the re-allocs for small simple types. for
big/complex/static types the gain is lower, but still.
Reviewed-by: Denis
Reviewed-by: Joao
|