| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
It doesn't need to copy anything when pos is after size().
Task-number: QTBUG-19164
Reviewed-by: Oswald Buddenhagen
|
|
|
|
|
|
|
| |
Updated version of LGPL and FDL licenseheaders.
Apply release phase licenseheaders for all source files.
Reviewed-by: Trust Me
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
| |
Task-number: QTBUG-13079
Reviewed-by: Joao
|
|
|
|
|
|
|
| |
This avoids an unnecessary iterator creation, which can speed up some cases.
Merge-request: 2371
Reviewed-by: Andreas Kling <andreas.kling@nokia.com>
|
|
|
|
|
|
|
| |
instead of copying the original value and constructing a Node
later, construct a Node immediately and copy it later.
Reviewed-by: thiago
|
|
|
|
|
|
|
|
|
|
| |
invisible so far, but the next patch uncovers it.
this could be possibly optimized for more compilers.
however, i found no way to ask msvc whether it is doing an
optimized build.
Reviewed-by: thiago
|
|
|
|
| |
Reviewed-by: thiago
|
|
|
|
|
|
|
|
| |
if appending an empty lists, don't do anything.
if appending to an empty list, just assign.
this saves some needless detaches/reallocs.
Reviewed-by: joao
|
|
|
|
|
|
|
| |
the code as such is safe, as no aliasing can occur here. so it is just a
matter of making the compiler shut up.
Reviewed-by: Olivier Goffart
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
configure.exe
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
src/opengl/qgl.cpp
|
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| | |
| | |
| | |
| | | |
Conflicts:
tools/assistant/lib/qhelpsearchindexreader_clucene_p.h
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Virtual functions should not be used with copyable types due to
slicing.
This reverts commit c1db6c2c5a3bbe96a628207af169a032d535426f.
|
|\ \ \
| |/ /
| | /
| |/
|/| |
Conflicts:
src/corelib/codecs/qtextcodec.h
|
| |
| |
| |
| | |
Reviewed-by: TrustMe
|
| |
| |
| |
| | |
Reviewed-By: Bradley T. Hughes
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
bin/syncqt
doc/src/deployment/deployment.qdoc
src/corelib/io/qfsfileengine_win.cpp
src/corelib/xml/qxmlstream.cpp
src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h
tools/assistant/tools/assistant/centralwidget.cpp
tools/linguist/lupdate/main.cpp
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
these functions just compare the d pointers of two objects. this can be
used to verify the validity of cached data: you keep a copy of the
original data in your cache. consequently, any changes to the original
data must detach, so this function reflects whether the cached data is
still up-to-date.
of course, this is not thread safe, as the data might change right after
you check it, but that's a general problem of cache coherency which
needs to be handled further up the stack.
the functions are internal because the other detaching-related functions
are internal as well for reasons beyond me.
Reviewed-by: brad
|
|
|
|
|
|
|
|
|
|
|
|
| |
In order to detect "int foo = myQReal" mistakes, one needs to compile with -Wconversion.
However that flag triggers many warnings inside Qt. This commit fixes many of them, like
qchar.h:295: warning: conversion to 'ushort' from 'unsigned int' may alter its value
qglobal.h:1026: warning: conversion to 'qreal' from 'qint64' may alter its value
qbytearray.h:441: warning: conversion to 'char' from 'int' may alter its value
Other warnings remain (such as those coming from bitfields)
Merge-request: 1460
Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The refactoring of current++ and src++ out of the new line makes the
code easier to understand but it also seems to be significant at least
in the ::isComplex case. I suspect that the ordering increment
operations vs throw from new is not well defined, or not implemented as
you might hope (with the ++ happening very last).
The changes in the catch blocks mean that it deletes the created
objects, rather than trying with the first failed object.
The test code has been updated with a +=(Container) test, and to force
testing of both static and moveable types.
Reviewed-by: Harald Fernengel
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Attempting to make use of the inlined QList::node_copy without
including <string.h> or <cstring> with gcc 4.4 results in (e.g.)
/usr/lib64/qt4/include/QtCore/qlist.h: In member function "void QList<T>::node_copy(QList<T>::Node*, QList<T>::Node*, QList<T>::Node*) [with T = net::Port]":
/usr/lib64/qt4/include/QtCore/qlist.h:600: instantiated from "void QList<T>::detach_helper() [with T = net::Port]"
/usr/lib64/qt4/include/QtCore/qlist.h:121: instantiated from "void QList<T>::detach() [with T = net::Port]"
/usr/lib64/qt4/include/QtCore/qlist.h:462: instantiated from "void QList<T>::append(const T&) [with T = net::Port]"
/usr/src/ark/BUILD/kdenetwork/kget/transfer-plugins/bittorrent/libbtcore/net/portlist.cpp:54: instantiated from here
/usr/lib64/qt4/include/QtCore/qlist.h:388: error: "memcpy" was not declared in this scope
Task-number: reported, but not yet assigned a number
Merge-request: 1388
Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
demos/boxes/glshaders.cpp
demos/boxes/vector.h
demos/embedded/fluidlauncher/pictureflow.cpp
demos/embedded/fluidlauncher/pictureflow.h
doc/src/desktop-integration.qdoc
doc/src/distributingqt.qdoc
doc/src/examples-overview.qdoc
doc/src/examples.qdoc
doc/src/frameworks-technologies/dbus-adaptors.qdoc
doc/src/geometry.qdoc
doc/src/groups.qdoc
doc/src/objecttrees.qdoc
doc/src/platform-notes.qdoc
doc/src/plugins-howto.qdoc
doc/src/qt3support.qdoc
doc/src/qtdbus.qdoc
doc/src/qtdesigner.qdoc
doc/src/qtgui.qdoc
doc/src/qtmain.qdoc
doc/src/qtopengl.qdoc
doc/src/qtsvg.qdoc
doc/src/qtuiloader.qdoc
doc/src/qundo.qdoc
doc/src/richtext.qdoc
doc/src/topics.qdoc
src/corelib/tools/qdumper.cpp
src/gui/embedded/qkbdpc101_qws.cpp
src/gui/embedded/qkbdsl5000_qws.cpp
src/gui/embedded/qkbdusb_qws.cpp
src/gui/embedded/qkbdvr41xx_qws.cpp
src/gui/embedded/qkbdyopy_qws.cpp
src/gui/embedded/qmousebus_qws.cpp
src/gui/embedded/qmousevr41xx_qws.cpp
src/gui/embedded/qmouseyopy_qws.cpp
src/gui/painting/qpaintengine_d3d.cpp
src/gui/painting/qwindowsurface_d3d.cpp
src/opengl/gl2paintengineex/glgc_shader_source.h
src/opengl/gl2paintengineex/qglpexshadermanager.cpp
src/opengl/gl2paintengineex/qglpexshadermanager_p.h
src/opengl/gl2paintengineex/qglshader.cpp
src/opengl/gl2paintengineex/qglshader_p.h
src/opengl/util/fragmentprograms_p.h
src/plugins/kbddrivers/linuxis/linuxiskbdhandler.cpp
src/plugins/mousedrivers/linuxis/linuxismousehandler.cpp
src/script/parser/qscript.g
src/script/qscriptarray_p.h
src/script/qscriptasm_p.h
src/script/qscriptbuffer_p.h
src/script/qscriptclass.cpp
src/script/qscriptclassdata_p.h
src/script/qscriptcompiler.cpp
src/script/qscriptcompiler_p.h
src/script/qscriptcontext.cpp
src/script/qscriptcontext_p.cpp
src/script/qscriptcontext_p.h
src/script/qscriptcontextfwd_p.h
src/script/qscriptecmaarray.cpp
src/script/qscriptecmaarray_p.h
src/script/qscriptecmaboolean.cpp
src/script/qscriptecmacore.cpp
src/script/qscriptecmadate.cpp
src/script/qscriptecmadate_p.h
src/script/qscriptecmaerror.cpp
src/script/qscriptecmaerror_p.h
src/script/qscriptecmafunction.cpp
src/script/qscriptecmafunction_p.h
src/script/qscriptecmaglobal.cpp
src/script/qscriptecmaglobal_p.h
src/script/qscriptecmamath.cpp
src/script/qscriptecmamath_p.h
src/script/qscriptecmanumber.cpp
src/script/qscriptecmanumber_p.h
src/script/qscriptecmaobject.cpp
src/script/qscriptecmaobject_p.h
src/script/qscriptecmaregexp.cpp
src/script/qscriptecmaregexp_p.h
src/script/qscriptecmastring.cpp
src/script/qscriptecmastring_p.h
src/script/qscriptengine.cpp
src/script/qscriptengine_p.cpp
src/script/qscriptengine_p.h
src/script/qscriptenginefwd_p.h
src/script/qscriptextenumeration.cpp
src/script/qscriptextenumeration_p.h
src/script/qscriptextqobject.cpp
src/script/qscriptextqobject_p.h
src/script/qscriptextvariant.cpp
src/script/qscriptfunction.cpp
src/script/qscriptfunction_p.h
src/script/qscriptgc_p.h
src/script/qscriptmember_p.h
src/script/qscriptobject_p.h
src/script/qscriptprettypretty.cpp
src/script/qscriptprettypretty_p.h
src/script/qscriptvalue.cpp
src/script/qscriptvalueimpl.cpp
src/script/qscriptvalueimpl_p.h
src/script/qscriptvalueimplfwd_p.h
src/script/qscriptvalueiteratorimpl.cpp
src/script/qscriptxmlgenerator.cpp
src/script/qscriptxmlgenerator_p.h
tests/auto/linguist/lupdate/testdata/recursivescan/project.ui
tests/auto/linguist/lupdate/testdata/recursivescan/sub/finddialog.cpp
tests/auto/qkeyevent/tst_qkeyevent.cpp
tools/linguist/shared/cpp.cpp
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| |
| |
| |
| |
| | |
Add detach3 and append2, leaving the old functions as they were.
This ensures that new code will use the optimized version of QList,
and old code will just continue calling the old functions.
Reviewed-by: Thiago
|
| |
| |
| |
| | |
This reverts commit 10a0ed3f2e6a71eced5f470f1c3e09d7be58bbc9.
|
| |
| |
| |
| |
| |
| |
| | |
The previous commit reintroduced memcpy in detach2(). So we don't need
to do memcpy here.
Re-add the memcpy when detach3() is introduced.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
examples/opengl/samplebuffers/glwidget.cpp
src/corelib/io/qfsfileengine_unix.cpp
src/corelib/kernel/qobject.cpp
src/corelib/tools/qsharedpointer.cpp
src/gui/gui.pro
tests/auto/qhttp/tst_qhttp.cpp
tests/auto/qkeyevent/tst_qkeyevent.cpp
|
| |/
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| |
| | |
Contains some smaller fixes and renaming of macros. Looks big,
but isn't scary at all ;)
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.gitignore
configure.exe
src/corelib/concurrent/qtconcurrentthreadengine.h
src/corelib/global/qnamespace.h
src/gui/graphicsview/qgraphicssceneevent.h
src/gui/kernel/qapplication.cpp
src/gui/kernel/qapplication.h
src/gui/kernel/qapplication_p.h
src/gui/kernel/qapplication_qws.cpp
src/gui/kernel/qwidget.h
src/gui/painting/qpaintengine_raster.cpp
src/gui/text/qfontdatabase.cpp
src/network/access/qnetworkaccesshttpbackend.cpp
tests/auto/network-settings.h
tests/auto/qscriptjstestsuite/qscriptjstestsuite.pro
tests/auto/qvariant/tst_qvariant.cpp
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
|
|
|
|
|
|
| |
because of this.
Reviewed-by: Brad
|
|
|
|
|
|
|
|
| |
Squashed commit of the branch haralds-haralds-qt-s60-topics/topic/exceptions,
which also contains the full history.
Rev-By: Harald Fernengel
Rev-By: Ralf Engels
|
|
|