summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Add eglnullws QScreen driverJames Perrett2010-07-089-0/+332
| | | | | | | | | | | This QScreen driver can be used for embedded Qt applications that draw everything within a single full-screen QGLWidget. It uses underlying support for a null window system (NullWS) such as is present in PowerVR systems. It offers performance and stability improvements over the powervr QScreen driver for applications that do not need full QWS windowing support. Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Merge branch 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-07-0827-271/+436
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-2: (29 commits) Fixes the double spinbox not updating geometry when suffix is changed Made QGL2GradientCache thread safe. Add QItemSelectionRange::operator<() Don't call GetDC() nedlessly. Make QScriptAnalysis fit in two bytes again QGLPixelBuffer should not rely on temporary QGLWidgets. Initialize pex. Remove warning. Fix the tests for the internal GL resource system. Rework how QGLTextureGlyphCache makes use of the resource system. The group pointer should no longer be a part of the 64 bit int. Enable glyph uploads from a thread in the X11 font engine. Make qt_pixmap_serial thread-safe. Clean up debug output. Clarification regarding the WA_X11InitThreads flag. Rework the internal GL resource system yet again. Check Qt::AA_X11InitThreads to determine pixmap usage in threads. Add an application attribute to control XInitThreads(). Unnecessary alloc + remove unused headers. QGLPixelBuffer should manage its own paint engines. ...
| * Fixes the double spinbox not updating geometry when suffix is changedThierry Bastian2010-07-071-0/+3
| | | | | | | | | | | | patch was found in the task and looks good. Task-number: QTBUG-9530
| * Made QGL2GradientCache thread safe.Trond Kjernåsen2010-07-072-7/+26
| | | | | | | | | | This can be improved by using a QReadWriteLocker, but it means restructuring the find/insert code. Use a QMutex for now.
| * Add QItemSelectionRange::operator<()Stephen Kelly2010-07-071-0/+24
| | | | | | | | | | Reviewed-by: Olivier Goffart Merge-Request: 688
| * Don't call GetDC() nedlessly.Trond Kjernåsen2010-07-061-1/+1
| | | | | | | | | | | | | | | | | | | | It seems that the CS_OWNDC class style flag only returns the same DC when GetDC() is called in the same thread that created the window. This in turn generates a bad DC resource leak if you have a rendering thread with one or more GL context switches, so just call GetDC() when you actually need to. Reviewed-by: Kim
| * Make QScriptAnalysis fit in two bytes againEskil Abrahamsen Blomfeldt2010-07-061-1/+1
| | | | | | | | | | | | | | | | When the size of the "flags" variable was increased, the bit field was expanded to be three bytes. Since the "script" variable does not use its full eight bits, we reduce it by one to compensate. Reviewed-by: Simon Hausmann
| * Merge branch 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-07-0623-266/+385
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-2: (24 commits) QGLPixelBuffer should not rely on temporary QGLWidgets. Initialize pex. Remove warning. Fix the tests for the internal GL resource system. Rework how QGLTextureGlyphCache makes use of the resource system. The group pointer should no longer be a part of the 64 bit int. Enable glyph uploads from a thread in the X11 font engine. Make qt_pixmap_serial thread-safe. Clean up debug output. Clarification regarding the WA_X11InitThreads flag. Rework the internal GL resource system yet again. Check Qt::AA_X11InitThreads to determine pixmap usage in threads. Add an application attribute to control XInitThreads(). Unnecessary alloc + remove unused headers. QGLPixelBuffer should manage its own paint engines. Remove the DDS texture cache. Make the GL texture cache share textures between shared contexts. Redesigned how GL resource management works. Don't use the QGLSignalProxy to clean up the thread-local shaders. Simplify how the QGLEngineSharedShaders object is cleaned up. ...
| | * QGLPixelBuffer should not rely on temporary QGLWidgets.Trond Kjernåsen2010-07-053-19/+24
| | | | | | | | | | | | | | | | | | | | | | | | Use QGLTemporaryContext instead. Also, to re-use already registered window classes for the temporary native window, make qt_reg_wndclass() register a QWidget default class if it's passed a 0 pointer. Reviewed-by: Gunnar
| | * Initialize pex.Trond Kjernåsen2010-07-021-0/+1
| | | | | | | | | | | | This got lost in a conflict resolving session.
| | * Remove warning.Trond Kjernåsen2010-07-021-1/+1
| | |
| | * Fix the tests for the internal GL resource system.Trond Kjernåsen2010-07-021-2/+2
| | |
| | * Rework how QGLTextureGlyphCache makes use of the resource system.Trond Kjernåsen2010-07-024-56/+77
| | | | | | | | | | | | | | | | | | Separate out the GL objects (the texture and the fbo) that needs to be tracked into a QGLGlyphTexture structure and make that accessible via a QGLContextGroupResource object.
| | * The group pointer should no longer be a part of the 64 bit int.Trond Kjernåsen2010-07-021-2/+2
| | | | | | | | | | | | | | | The group is now a proper part of the QGLTextureCacheKey, and it's no longer necessary with this hack.
| | * Enable glyph uploads from a thread in the X11 font engine.Trond Kjernåsen2010-07-021-1/+1
| | | | | | | | | | | | Note: this doesn't necessarily mean it's thread-safe yet.
| | * Make qt_pixmap_serial thread-safe.Trond Kjernåsen2010-07-021-6/+6
| | |
| | * Clean up debug output.Trond Kjernåsen2010-07-024-13/+33
| | |
| | * Clarification regarding the WA_X11InitThreads flag.Trond Kjernåsen2010-07-021-1/+2
| | |
| | * Rework the internal GL resource system yet again.Trond Kjernåsen2010-07-028-108/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of having to sub-class QGLContextResource, we now have two template classes: 1. 'QGLContextResource' to handle context specific resources that are *not* shared in a group, even though the context itself is in a sharing group 2. 'QGLContextGroupResource' to handle resources shared in a context group. Classes used as the template class type must have a constructor with the following signature: T(const QGLContext *); The resources that the templates wrap are freed up when the context or context group it is tied to is destroyed. The resource is also freed when the QGLContext<Group>Resource object is destroyed, which might lead to context switches, depending on where and in how many non-sharing contexts the resource is used. The templates wrap some boiler plate code that were common for all the use cases.
| | * Check Qt::AA_X11InitThreads to determine pixmap usage in threads.Trond Kjernåsen2010-07-021-6/+7
| | |
| | * Add an application attribute to control XInitThreads().Trond Kjernåsen2010-07-024-2/+9
| | | | | | | | | | | | | | | | | | | | | In order to make Xlib thread-safe XInitThreads() needs to be the first Xlib call issued. This attribute controls this behavior. Having Xlib thread-safe will most likely incur some overhead, which is why this is not done by default.
| | * Unnecessary alloc + remove unused headers.Trond Kjernåsen2010-07-021-6/+2
| | |
| | * QGLPixelBuffer should manage its own paint engines.Trond Kjernåsen2010-07-022-3/+0
| | |
| | * Remove the DDS texture cache.Trond Kjernåsen2010-07-022-29/+0
| | | | | | | | | | | | | | | It has no practical use and is a leftover from when pixmap/image textures and dds textures used the same cache.
| | * Make the GL texture cache share textures between shared contexts.Trond Kjernåsen2010-07-021-2/+3
| | | | | | | | | | | | | | | | | | Up until now the GL 2 engine texture cache did not share glyph textures between sharing contexts, which is bad. Fix this by using the context group's context as the cache key.
| | * Redesigned how GL resource management works.Trond Kjernåsen2010-07-0211-185/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The usage of QGLContextResource has changed: You're now have to subclass QGLContextResource and reimplement the freeResource() function and add your cleanup code there instead of using a plain callback function. It's now also possible to delete a QGLContextResource *before* the QGLContextGroup it refers to is destroyed, as the resource will remove itself from the context groups it's a member of. The QGLTextureGlyphCache is no longer a QObject, and it no longer depends on the aboutToDestroyContext() signal. That concept doesn't work in a threaded environment, as it relies on an eventloop to dispatch the signal to the thread. It's common to *not* have an eventloop running in a thread, which means the signal might never be delivered. QGLTextureGlyphCache now inherits from QGLContextResource, and gets cleaned up correctly when the group context is destroyed. Note that up until now the glyph cache has never been shared among sharing contexts for the GL 2 engine. Made the gradient and pixmap blur caches use the new QGLContextResource scheme. Added a template that wraps the common init code for paintEngine() function implementations for QGLWidget, QGLPixelBuffer and QGLFramebufferObject. Fixed a bug in QFontCache where the font caches weren't cleared when a thread other than the main thread exited (backported to 4.6.3), which caused resource leaks.
| | * Don't use the QGLSignalProxy to clean up the thread-local shaders.Trond Kjernåsen2010-07-023-17/+43
| | | | | | | | | | | | | | | | | | After much back and forth I think we can use this approach for cleaning up thread-local, shared resources. Main problem has been dealing with dangling pointers and references, but they should be solved now.
| | * Simplify how the QGLEngineSharedShaders object is cleaned up.Trond Kjernåsen2010-07-021-35/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are two things that needs to be done when cleaning up those objects: 1) if the context is destroyed before the specific thread exits, the shaders that is allocated within that context needs to be cleanup before the context is destroyed. 2) if the thread exits before the context is destroyed, the thread needs to clean up the shaders and then delete the QGLEngineSharedShaders object. We can't use a QGLContextResouce for that because a) we don't know if our context ptrs are valid, b) QGLContextResource doesn't remove themselves from the QGLContextGroups internal list when destroyed, so we might get a free() call *after* the resource had been destroyed. Use the contextDestroyed() signal from QGLSignalProxy() instead, which is cleaner and actually works..
| | * Make it possible to call QWidget::metric() from a different thread.Trond Kjernåsen2010-07-021-3/+2
| | | | | | | | | | | | Under Windows.
| | * Only use the texture_from_pixmap extension in the main thread.Trond Kjernåsen2010-07-021-1/+2
| | | | | | | | | | | | | | | | | | | | | It's not possible to bind several texture ids to the same surface that wraps a native X11 Pixmap, which means we can't use it reliably from more than one thread at a time. For now we limit the usage to the main thread.
| | * More work on GL threading.Trond Kjernåsen2010-07-026-36/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removed QObject inheritance from QGLEngineSharedShaders and made it thread-local, so that paintengines in different threads can use programs without clashing. Lifted some restrictions on QPixmap so that they may be used in threads when the GL2 engine is active. Made the QGLContextGroup a part of the pixmap and image cache keys.
| | * Make qt_gl_paint_engine() thread-safe.Trond Kjernåsen2010-07-021-7/+36
| | |
* | | fix qtconfig builds with drag and drop disabledJeremy Katz2010-07-061-1/+2
|/ / | | | | | | Reviewed By: Christian
* | Merge remote branch 'origin/4.7' into qt-master-from-4.7Thiago Macieira2010-07-01483-13979/+10435
|\ \ | |/ |/| | | | | | | | | | | | | Conflicts: bin/syncqt src/gui/text/qtextlayout.cpp tools/assistant/tools/assistant/helpviewer_qwv.cpp tools/assistant/tools/assistant/helpviewer_qwv.h tools/configure/configureapp.cpp
| * Updated WebKit to 0eee8df53d1873669a9dda8f9c0340543258a316Simon Hausmann2010-07-0114-35/+298
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Integrated changes: || <https://webkit.org/b/38597> || [Qt] QtTestBrowser does not have a "Load" button ; therefore, unable to load pages on touch only symbian devices (portrait mode). || || <https://webkit.org/b/40846> || [Qt] GraphicsLayerQt delay seems unnecessary. || || <https://webkit.org/b/41160> || Spatial Navigation: make elements in inner frames nested more than 1 level deep focusable || || <https://webkit.org/b/39019> || [Qt] Combobox doesn't close when scrolling in graphicsbased mode || || <https://webkit.org/b/41164> || [Qt] QtWebKit crashes if <select>'s render changes in its onchange event || || <https://webkit.org/b/41198> || [QT][S60] build-webkit scripts picks wrong make spec for windows build || || <https://webkit.org/b/41278> || [Qt] Replace single treat-as-space characters with normal space || || <https://webkit.org/b/37303> || [Qt] Application crash on exit if NPPlugin is loaded || || <https://webkit.org/b/40378> || [Qt] When any geometry change happens to a node it will resize the backing cache || || <https://webkit.org/b/40795> || [Qt] Crash when uploading document to Google Docs || || <https://webkit.org/b/40446> || [Qt] Only 10 websites can be loaded consecutively when using QtWebkit 2.0 ||
| * Reformat whitespace according to coding styleMark Brand2010-06-305-80/+80
| | | | | | | | | | | | | | | | Mostly indentation affected, but also standardized spaces adjacent to () in configureapp.cpp. Merge-request: 715 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
| * QGraphicsView: Handle wheelEvents correctly with Qt::Popup widgets.Jocelyn Turcotte2010-06-301-0/+19
| | | | | | | | | | | | | | | | | | This fixes an issue in QtWebKit where scrolling with the wheel while a combo box is opened cause the page to scroll while the popup don't move. This patch either ignore the event on Mac or close the popup on other platforms. Reviewed-by: Yoann Lopes
| * QGraphicsProxyWidget: Fixes QComboBox popup closing issue.Jocelyn Turcotte2010-06-302-2/+6
| | | | | | | | | | | | | | | | | | This happens when the QComboBox popup gets closed by QGraphicsScenePrivate::removePopup and then the QComboBox gets hidden. If the QComboBox gets shown again, the popup will be shown as well since it was not explicitly hidden. Reviewed-by: Yoann Lopes
| * Crash while changing the windows flags from a Qt::Drawer window on CocoaPrasanth Ullattil2010-06-301-3/+5
| | | | | | | | | | | | | | | | The crash was caused while checking the visibility of the toolbar inside a native cocoa window. There is no toolbar for a drawer window. Task-number: QTBUG-11138 Reviewed-by: Denis
| * Fix regression in popup behavior on WindowsJens Bache-Wiig2010-06-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | Popups without a parent would unintentionally deactivate their parents following af7d2b2127d. In order to avoid this, we do not activate popups when there is an active application window. System tray popups are still activated. Reviewed-by: denis Task-number: QTBUG-11061
| * SSL backend: correct ordering of root CA certificates in the storePeter Hartmann2010-06-301-2/+14
| | | | | | | | | | | | | | | | | | | | | | Some CAs have several root certificates with the same SubjectInfo, but different expiration date. This means that OpenSSL needs to choose the valid root certificate over the expired ones when verifying a certificate chain. Apparently, the certs added to the store first are the ones that get used first, so we add the expired ones at the end. Reviewed-by: Thiago Macieira Task-number: QTBUG-11664
| * Merge commit 'staging/4.7' into qt-3541Aaron McCarthy2010-06-307-3/+32
| |\
| | * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2010-06-292-1/+5
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: Fixed deployment paths for WebKit declarative plugin. Fix s60main linking issue with gcce applications Fixed deployment paths for the symbian/linux-armcc mkspec. Fixed a relative path problem in qml demos. Added the APP_PRIVATE_DIR_BASE variable. Various fixes to autotests when using the symbian/linux-armcc mkspec. Fixed Symbian resources not honoring TARGET with a path. Removed useless comments.
| | | * Fixed deployment paths for WebKit declarative plugin.axis2010-06-291-1/+1
| | | |
| | | * Fix s60main linking issue with gcce applicationsMiikka Heikkinen2010-06-291-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA must not be included in s60main build, otherwise some symbols will not be relocatable when linked against from gcce build. Task-number: QTBUG-11804 Reviewed-by: Alessandro Portale
| | * | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-webkit into 4.7-integrationQt Continuous Integration System2010-06-295-2/+27
| | |\ \ | | | | | | | | | | | | | | | | | | | | * '4.7' of scm.dev.nokia.troll.no:qt/qt-webkit: Updated WebKit to 38d650efc92427cd6452f6685d3c40d22428cdb7
| | | * \ Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-webkit into 4.7-integrationQt Continuous Integration System2010-06-295-2/+27
| | | |\ \ | | | | |/ | | | |/| | | | | | | | | | | * '4.7' of scm.dev.nokia.troll.no:qt/qt-webkit: Updated WebKit to 38d650efc92427cd6452f6685d3c40d22428cdb7
| | | | * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-webkit into 4.7-integrationQt Continuous Integration System2010-06-295-2/+27
| | | | |\ | | | | | | | | | | | | | | | | | | | | | | | | * '4.7' of scm.dev.nokia.troll.no:qt/qt-webkit: Updated WebKit to 38d650efc92427cd6452f6685d3c40d22428cdb7
| | | | | * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-webkit into 4.7-integrationQt Continuous Integration System2010-06-285-2/+27
| | | | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * '4.7' of scm.dev.nokia.troll.no:qt/qt-webkit: Updated WebKit to 38d650efc92427cd6452f6685d3c40d22428cdb7
| | | | | | * Updated WebKit to 38d650efc92427cd6452f6685d3c40d22428cdb7Simon Hausmann2010-06-285-2/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | || <https://webkit.org/b/40000> || [Qt] QGraphicsWebView crash when calling setScale() before setUrl() || || <https://webkit.org/b/38597> || [Qt] QtTestBrowser does not have a "Load" button ; therefore, unable to load pages on touch only symbian devices (portrait mode). ||