summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fixed crash in QPixmap::fromImage with an Indexed8 without a colortable.Gunnar Sletta2009-11-031-4/+8
| | | | Reviewed-by: Trond
* Remove partial shader support from QGLShader/QGLShaderProgramRhys Weatherley2009-11-012-185/+6
| | | | Reviewed-by: trustme
* Fix some test failures in the qgl test on 16 bit servers.Trond Kjernåsen2009-10-301-0/+22
| | | | | | | These tests are designed to run in 24 or 32 bit mode, and won't work unless they do.. Reviewed-by: Samuel
* Implement a simple caching algorithm for shader programs.Tom Cooksey2009-10-302-31/+53
| | | | | | | | | | When the number of programs held in the cache exceeds a threshold, the least frequantly used programs get deleted. This also covers programs with custom snippets of code. As a conequence, when a QGLCustomShaderStage gets deleted, any programs using that code will (eventually) be freed. Reviewed-By: Samuel Rødal
* Rename qglEngineShaderSourceCode to qShaderSnippetsTom Cooksey2009-10-302-71/+93
| | | | This patch also adds a "snippetNameStr" helper for debugging.
* Refactor of shader manager to not use partial shadersTom Cooksey2009-10-304-217/+211
| | | | | | | | | This is a first step towards supporting binary shaders. Note: This change will introduce a (rare) leak of shader objects, as the shaders will never be kicked out from the cache (because the cache is still a QList) :-) This will be corrected by the next patch. Reviewed-By: Samuel
* Lazily construct QPixmapData's for null pixmapsGunnar Sletta2009-10-308-38/+75
| | | | Reviewed-by: Trond
* Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-graphics-team into 4.6Gunnar Sletta2009-10-308-45/+76
|\
| * Avoid infinite loop when laying out text with unconvertible charsEskil Abrahamsen Blomfeldt2009-10-292-38/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the stringToCMap() fails, it can be because it did not have enough space in the layout, or it can because of other errors. In order to implement "try-again" processing in a simple way, we had an infinite loop which assumed that stringToCMap() would always succeed in the second run (which would be the case if the only possible error was "not enough space".) Since there are other possible failures not related to the number of glyphs, you could easily get into an infinite loop here, e.g. when laying out text that contains the Byte Order Mark. The fix changes the implementation to explictly try stringToCMap() twice at max, and is also how it's implemented in the default qtextengine.cpp. Task-number: QTBUG-4680 Reviewed-by: Trond
| * Added QImagePixmapCleanupHooks functions for enabling hooks.Samuel Rødal2009-10-296-7/+28
| | | | | | | | | | | | | | Better than having to befriend QPixmapData and setting is_cached manually. Reviewed-by: Tom Cooksey
* | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6Gunnar Sletta2009-10-3053-634/+1891
|\ \ | |/ |/|
| * Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt into 4.6Morten Johan Sørvig2009-10-3094-846/+22694
| |\
| | * OpenVG pixmap filter classes don't need to be exported.Rhys Weatherley2009-10-301-4/+4
| | | | | | | | | | | | Reviewed-by: trustme
| | * Remove drawCursorImage() from the OpenVG composition helperRhys Weatherley2009-10-302-37/+33
| | | | | | | | | | | | | | | | | | | | | The drawCursorPixmap() function is more efficient and can render the QImage form of the QPixmap directly if necessary. Reviewed-by: trustme
| | * Make it possible to set the OpenVG swap intervalRhys Weatherley2009-10-301-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | The QT_VG_SWAP_INTERVAL environment variable can be used to specify a value for eglSwapInterval(). Task-number: QT-2409 Reviewed-by: trustme
| | * Fix wrong version number in Assistant internal help.kh12009-10-291-0/+0
| | | | | | | | | | | | | | | Task-number: QT-1522 Reviewed-by: kh
| | * do not crashOswald Buddenhagen2009-10-293-5/+34
| | |
| | * Compile fix until configure.exe is rebuilt for WindowsThiago Macieira2009-10-291-1/+2
| | |
| | * Merge branch '4.5' into 4.6Thiago Macieira2009-10-291-0/+2
| | |\
| | | * Plug some autorelease pool leaks.Norwegian Rock Cat2009-10-291-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling QWidget::setCursor() outside of the event loop causes a memory leak in Cocoa. Adding an autorelease pool plugs it. Merge-request: 1791 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
| | | * Memory of fixedKernel is never returned, found by cppcheck.Daniël2009-10-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Cherry-picked from d8a2e52e Merge-request: 419 Reviewed-by: Olivier
| | * | Autotest: add a few more tests for Unicode (IDN) supportThiago Macieira2009-10-291-2/+5
| | | |
| | * | Autotest: add one test that was in the previous implementation but missing hereThiago Macieira2009-10-291-0/+1
| | | |
| | * | Autotest: use example.org and example.netThiago Macieira2009-10-291-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | No need to publicise real sites and email addresses. Also, don't use 8-bit data. C escape sequences are ok.
| | * | Import a new implementation of fromUserInput.Thiago Macieira2009-10-292-0/+117
| | | | | | | | | | | | | | | | | | | | | | | | Imported from http://github.com/icefox/guessurlfromstring Licensed under the 3-clause BSD license by the copyright holder.
| | * | Remove the fromUserInput implementation and tests.Thiago Macieira2009-10-292-128/+46
| | | | | | | | | | | | | | | | Reviewed-by: Trust Me
| | * | Also change the configure.exe to ensure that the necessary new configsThiago Macieira2009-10-291-1/+23
| | | | | | | | | | | | | | | | | | | | | | | | are generated Reviewed-By: Daniel Molkentin
| | * | Add the Qt Evaluation message to the hidden libQtCore.so boilerplate.Thiago Macieira2009-10-291-0/+8
| | | | | | | | | | | | | | | | Reviewed-By: Trust Me
| | * | Part 2 of the Evaluation notice feature, now for QtGui.Thiago Macieira2009-10-293-8/+32
| | | | | | | | | | | | | | | | Reviewed-by: Daniel Molkentin
| | * | Readd the Qt Evaluation timebomb, step 1.Thiago Macieira2009-10-295-1/+585
| | | | | | | | | | | | | | | | | | | | | | | | This is the QtCore part of the timebomb. Reviewed-by: Daniel Molkentin
| | * | Cache a state's parent stateKent Hansen2009-10-293-2/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QAbstractState::parentState() is called heavily by the state machine algorithm. The parent state is obtained by qobject_cast'ing QObject::parent(). qobject_cast() is expensive. This commit introduces caching of the result in order to improve performance. We expect that the cache won't be invalidated much since the parent-child relationship of states usually doesn't change after the state machine is started. Reviewed-by: Eskil Abrahamsen Blomfeldt
| | * | doc: Remove \internal tag from QStateMachine::configuration()Kent Hansen2009-10-291-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This function is useful for debugging, if nothing else, and has been requested by users. We also refer to it in one of our blog posts, so there's little point in trying to hide it any longer. Reviewed-by: Eskil Abrahamsen Blomfeldt
| | * | Make QStateMachine event posting functions thread-safeKent Hansen2009-10-293-17/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By popular demand on the Qt Labs blog. This makes it possible to readily use QStateMachine with e.g. worker threads that post events to the machine. Reviewed-by: Eskil Abrahamsen Blomfeldt
| | * | Test that we gracefully handle event posting after the state machine is stoppedKent Hansen2009-10-291-0/+17
| | | | | | | | | | | | | | | | | | | | The internal slot _q_process() should never be called if the machine is not in the Running state.
| | * | Cache QState's child statesKent Hansen2009-10-292-10/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the same type of optimization as that done for transitions in commit 5d8dcd57cd13fdd9c8643fa3bdda9f197a4351ff. The idea is to avoid calling qobject_cast() because it's very expensive. Obtaining child states needs to be as fast as possible because it's in the critical path of the state machine algorithm; it's called by a ton of internal functions, like isCompound(), isAtomic(), isInFinalState(). It's also called heavily for parallel state groups. Reviewed-by: Eskil Abrahamsen Blomfeldt
| | * | QStateMachine::event() should call QState::event()Kent Hansen2009-10-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Since QStateMachine inherits QState now. Reviewed-by: Eskil Abrahamsen Blomfeldt
| | * | doc typoWarwick Allison2009-10-291-1/+1
| | | |
| | * | Change all valid Task-Tracker references to bugreports.qt.nokia.com reference.Warwick Allison2009-10-294-4/+4
| | | |
| | * | Remove shader/program binary support for nowRhys Weatherley2009-10-282-222/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After API review discussions, it was decided to remove shader binary support until we have a better handle on what we need. Applications can directly load shader binaries on the shaderId() using glShaderBinary() directly so they aren't prevented from using the feature. Reviewed-by: trustme
| | * | Remove QVGEGLWindowSurfaceQImage from QtOpenVGRhys Weatherley2009-10-283-80/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rendering into a QImage as a window backing store isn't very efficient and isn't needed by any of our current platforms. If a specific graphics system needs it in the future, it can implement it directly. Reviewed-by: trustme
| | * | make magic comment parsing stricterOswald Buddenhagen2009-10-281-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | there must be a space after the //: and similar comments, otherwise harmless comments of the sort of //====== foo here ===== will be parsed as message ids, etc.
| | * | QSslError: Actually make strings show up in the ts fileMarkus Goetz2009-10-281-29/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I suspect because of missing quotation marks those strings were not showing up. Also, wrapping QT_TRANSLATE_NOOP inside a tr() call makes no sense. Also changed the class from QObject to QSslSocket. Task-number: QTBUG-5059 Reviewed-by: ossi
| | * | QNativeSocketEngine: Actually use translationsMarkus Goetz2009-10-281-26/+26
| | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-4984 Reviewed-by: Thiago
| | * | Delete the tst_QWebFrame::setHtmlWithBaseURL test until its fixedJocelyn Turcotte2009-10-281-23/+0
| | | | | | | | | | | | | | | | | | | | | | | | upstream. Reviewed-by: TrustMe
| | * | Greatly improve the performance of obtaining a state's transitionsKent Hansen2009-10-282-8/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Transitions are children of their source state. We use QObject::children() and qobject_cast() each child to a QAbstractTransition to see if it is indeed a transition. However, calling qobject_cast() is very expensive. This commit introduces a cached list of transitions. The list is invalidated after a child object has been added or removed. In the typical case we expect the object hierarchy to remain fairly constant once the state machine has been started (states, child states and transitions are usually "static"), in other words the cached list is not likely to be invalidated much. Obtaining a state's transitions needs to be as fast as possible because it's in the critical path of the state machine algorithm. Reviewed-by: Eskil Abrahamsen Blomfeldt
| | * | Make Qt on QNX compile againHarald Fernengel2009-10-282-3/+3
| | | | | | | | | | | | | | | | Fix a typo, update the tmp path to match current qws behavior.
| | * | Say hello to QScriptProgram :-)Kent Hansen2009-10-2810-59/+763
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QScriptProgram encapsulates a Qt Script program (AKA a script). It retains the compiled representation of the script, so that repeated evaluation of the same script becomes faster. An overload of QScriptEngine::evaluate() that takes a QScriptProgram has been added. Reviewed-by: Olivier Goffart
| | * | Fix namespace buildRichard Moe Gustavsen2009-10-282-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | Looks like a couple of files missed the namespace macro... Rev-By: gunnar
| | * | Fix namespace build.Richard Moe Gustavsen2009-10-281-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At least Qt fails building with a namespace on Mac without this change. What happends is that inserting a namespace before the includes, will add the namespace twize if the included files also inserts the namespace. Rev-By: Alexis
| * | | Fix the combobox popup 1-second fadeout regression on Carbon.Morten Johan Sørvig2009-10-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Regression caused by b946da648af0c5fa1c73fe1e57b0b1e08fb14d13. Prior to that commit, the default duration for macWindowFade was 0, but there was code in the implementation that set it to 0.15 in that case. Set the default duration to 0.15. This matches the old behavior when calling macWindowFade without specifying a duration, and makes it clearer what the default really is.