summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Switch to raster also when last window is destroyed (on MeeGo).Samuel Rødal2011-03-171-1/+38
| | | | | | | This will save GPU resources for applications that are in the background for most of the time and only show a window now and then. Reviewed-by: Armin Berres
* Clipboard/Windows: Fix a hang when sending to non-responsive clients.Friedemann Kleint2011-03-171-2/+13
| | | | | | | | | | Check if clipboard viewer is responsive before sending the contents. This prevents Qt Creator from hanging when copying text while a debugging session with a crashed/stopped debuggee is in progress. Reviewed-by: Prasanth Ullattil <prasanth.ullattil@nokia.com> Task-number: QTBUG-17465
* QMeeGoLivePixmapData : when creating QImage, use constructor with pitch.Tapani Pälli2011-03-161-1/+1
| | | | | | | | | As the data may be aligned/padded by the X driver. Fixes: NB#231246 : Incorrect stride used when QMeeGoLivePixmap width not multiple of eight Merge-request: 1115 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Added automatic graphicssystem switching on meego when app is minimized.Samuel Rødal2011-03-167-58/+249
| | | | | | | | | | | When all top-level widgets are minimized we switch to raster to reduce GPU memory consumption. We switch back to graphicssystem meego when at least one top-level widget is shown normally again. The switching only applies when the runtime graphicssystem is being used. The switching only applies when the runtime graphicssystem is being used. Task-number: QTBUG-18013 Reviewed-by: Armin Berres
* Designer: Fix a bug affecting tab reordering of promoted tab widgets.Friedemann Kleint2011-03-151-2/+4
| | | | | | | | | | Event filter was added twice due to widget initialization being done twice caused by recursion of WidgetFactory::createWidget() in the case of a fallback to promotion when a custom widget plugin is missing. Task-number: QTBUG-18121 Reviewed-by: Jarek Kobus <jaroslaw.kobus@nokia.com>
* Designer: Fix a bug clearing the Z-Order when adding a new widget.Friedemann Kleint2011-03-151-1/+1
| | | | | | | Wrong list was used when adding widgets. Task-number: QTBUG-18120 Reviewed-by: Jarek Kobus <jaroslaw.kobus@nokia.com>
* Adjust right bearing when breaking with line separatorsJiang Jiang2011-03-152-22/+42
| | | | | | | | | | If we found a forced line break with line separator (e.g. '\n'), take the right bearing of previous glyph into account, otherwise the resulting text width will be slightly smaller than the one without a line separator. Task-number: QTBUG-17020 Reviewed-by: Eskil
* Prevented infinite recursion in QPainterPath::contains().Samuel Rødal2011-03-142-4/+9
| | | | | | | | Limit the amount of recursions in qt_painterpath_isect_curve to prevent a crash. Task-number: QTBUG-16422 Reviewed-by: Kim
* Fix QGraphicsScene returning incorrect focus item.Yoann Lopes2011-03-104-4/+43
| | | | | | | | | | | When the scene was losing and regaining focus, it was incorrectly setting the focus on any item that had its focus previously explicitly cleared. Autotest included. Task-number: QTBUG-16401 Reviewed-by: TrustMe
* Not requiring valid QTextBlock in previous()Jiang Jiang2011-03-102-1/+8
| | | | | | | | | | Commit 64852122ba7 introduced a regression in QTextBlock::previous(), programs that do doc.end().previous() will not be able to retrieve the last valid block. Revert this change so that we can keep the behavior consistent with previous versions. Task-number: QTBUG-18026 Reviewed-by: Eskil
* Partial update window surfaces always need a repaint before flush.Samuel Rødal2011-03-091-0/+5
| | | | | | | | When we get an Expose, we need to repaint the window surface before we can flush if the window surface doesn't support partial updates, otherwise we'll end up with garbage on the screen. Reviewed-by: Bjørn Erik Nilsen
* Fixed memory leak in GL texture cache with QRuntimePixmapData.Samuel Rødal2011-03-071-1/+1
| | | | | | | | The cached texture is associated with the QRuntimePixmapData, not to the proxied QPixmapData. Task-number: QT-4655 Reviewed-by: Gunnar Sletta
* Invalidate the EGL surface of QMeeGoLivePixmapData when switching to RasterPauli Nieminen2011-03-077-1/+48
| | | | | | | | | | | | | | | QMeeGoLivePixmap fails to lock the EGL surface and texture after switch to raster graphics system. The EGL surface is invalid after eglTerminate call in switch. But QMeeGoLivePixmapData doesn't know about the switch. Marking EGL surfaces and texture invalid after switch makes live pixmap automatically recreate the surface when next time requiring live pixmap. Signed-off-by: Pauli Nieminen <ext-pauli.nieminen@nokia.com> Merge-request: 2571 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Added image conversion flag to prevent conversions.Samuel Rødal2011-03-044-2/+10
| | | | | | | | This is needed in the meego graphics system to support the shared image fallback path (when using the raster graphicssystem). The flag is internal. Reviewed-by: Gunnar Sletta
* Fix Mac synthesized italic fonts clipping issue for QGLWidgetJiang Jiang2011-02-281-5/+10
| | | | | | | Backport 43d5a0757d857c2a6694ae81d6b70c04ef876aff from 4.8. Task-number: QTBUG-16954 Reviewed-by: Eskil
* Merge branch 'graphics-team-text-4.7' into 4.7Eskil Abrahamsen Blomfeldt2011-02-282-3/+14
|\
| * Fix cursor position adjustment when removing stringsJiang Jiang2011-01-252-1/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 0ba1b4d0 introduced a regression to QTextDocument: it postponed cursor position adjustment until the move operation is done, but contentsChanged will be triggered by finishEdit() in this move operation, thus cursor positions in this signal handler will be in inconsistent states (normally we should first update cursor position then trigger contentsChanged). In this case we should also postpone finishEdit() handling after cursor positions have been adjusted, then the states expose to applications will be consistent. Task-number: QTBUG-15857 Reviewed-by: Eskil
| * Fix out of bounds handling in Mac shaperJiang Jiang2011-01-142-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After ensure space, local QGlyphLayout variable should be updated to the moved address. stringToCMap returns true for success, so stringToCMapFailed should be the reverse of the return value. Out of bounds happened quite often in all situations using the QStackedTextEngine, because the memory allocated at the first time is usually not much, making it easier to trigger out of bounds in shaping. But it can also happen when using normal QTextLayout. Test it by comparing the width returned by normal QTextLayout and the width returned by QTextLayout created from QStackedTextEngine via QFontMetricsF. Task-number: QTBUG-16648 Reviewed-by: Eskil
* | QSortFilterProxyModel::reset() should invalidate.Olivier Goffart2011-02-253-7/+66
| | | | | | | | | | | | | | | | | | | | | | | | This was broken by: d149a3faca9b97ce806249bc7ef73fe2f59589d5 The connection was removed in that commit because we did not want the layoutChanged signal to be emitted. So instead of calling invalidate(), we call clearMapping() directly. In order to do that, clear_mapping has been turned into a private slot Task-number: QTBUG-17812 Reviewed-by: Gabriel
* | QRuntimeWindowSystem: Track window size properlySami Kyostila2011-02-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The runtime window system has a 'proxy' window surface which wraps the currently active window surface. When the window geometry changes, the new geometry is properly communicated to the wrapped window surface. However, the new geometry is not updated into the runtime window surface proxy itself, which means that when queried, the geometry for the window surface will always be invalid. This patch fixes the issue. Fixes: QT-4588 Merge-request: 1098 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* | Prevent infinite loop in raster engine on zero dash pattern length.Samuel Rødal2011-02-222-0/+29
| | | | | | | | | | Task-number: QTBUG-17053 Reviewed-by: Kim
* | Added test case for corrupt pixel count in XPM image.Samuel Rødal2011-02-182-0/+14
| | | | | | | | | | | | Fixed by merge request 1080. Task-number: QTBUG-17254
* | QImage crash when invalid XPM is read.Niklas Kurkisuo2011-02-181-1/+1
| | | | | | | | | | | | | | | | | | | | Add sanity check for cpp, which would otherwise lead to a segfault later in the code. Task-number: QTBUG-17254 Merge-request: 1080 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* | Fix an issue with removing rows in a table model.Michael Goddard2011-02-183-3/+24
| | | | | | | | | | | | | | | | | | | | Tables with nulls in a row were not being deleted properly in some cases. Made sure the responsible function no longer has default parameters so this doesn't happen again. Change-Id: I479121172d5ac172ca49da78638b9353d7a67548 Task-number: QTBUG-16007, QTBUG-15979 Reviewed-by: Charles Yin
* | RGBA32 -> RGB565 dithering in Meego Graphicssystem,Tero Tiittanen2011-02-171-95/+52
| | | | | | | | | | | | | | | | | | | | | | Dithering in QMeeGoPixmapData::imageToEGLSharedImage is now done using Ordered Dithering, not anymore Floyd-Steinberg dithering. This provides better overall results. Fixes: NB#208927 - X dithering looks better than meego graphicssystem one Merge-request: 1079 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* | QStyleSheetStyle: dont crash in PE_WIDGET when widget is nullOlivier Goffart2011-02-142-1/+20
| | | | | | | | | | Reviewed-by: Gabriel Task-number: QTBUG-15910
* | Fixed tst_qpixmap::toImageDeepCopy autotest for GL graphicssystem.Samuel Rødal2011-02-091-0/+6
| | | | | | | | | | | | We need to copy the image if painting is active. Reviewed-by: Jani Hautakangas
* | Move the QtHelp tests in its own profileOlivier Goffart2011-02-043-10/+9
| | | | | | | | Reviewed-by: Sergio Ahumada
* | Namespace compilation - OCI typedefs should be outside Qt namespace.Michael Goddard2011-02-041-3/+3
| | | | | | | | | | | | | | | | psql, sqlite2 drivers already do this correctly. Change-Id: I1f02401432d5c39fa1572e2f6255941b8a67e591 Task-number: QTBUG-17076 Reviewed-by: Charles Yin
* | Fix some removeRows issues with QSqlTableModel.Michael Goddard2011-02-042-24/+158
| | | | | | | | | | | | | | | | Added some better unit testing around the problem areas. Change-Id: Ie4749da298aebbae6aec9558ebe8c8f2196c705f Task-number: QTBUG-14916 Reviewed-by: Charles Yin
* | Mention the requirement for OCI when building the SQL oracle driver.Michael Goddard2011-02-041-1/+3
| | | | | | | | | | | | | | | | As suggested by Jean-Louis Mounier. Change-Id: I2284d00453ddcb981fe3e1b710d4453323fe1e9e Task-number: QTBUG-8875 Reviewed-by: Charles Yin
* | Try to document that invalid database arguments use the default database.Michael Goddard2011-02-042-2/+4
| | | | | | | | | | | | | | | | Some places documented this, some didn't. Change-Id: Id66678dbcd9af6ec9687db745ba6f5506e951d1d Task-number: QTBUG-3240 Reviewed-by: Charles Yin
* | Update some documentation about what happens with select()/setQuery().Michael Goddard2011-02-042-0/+4
| | | | | | | | | | | | Change-Id: I5f1afada766d40273526f2cd7537ad68d5f9d09a Task-number: QTBUG-12094 Reviewed-by: Charles Yin
* | Make sure that setRecord emits dataChanged() with OnManualSubmit.Michael Goddard2011-02-042-2/+10
| | | | | | | | | | | | | | | | | | Since the change is immediately visible through data(), this is needed so that QSortFilterProxyModel etc work correctly. Change-Id: Ied7afce2e6a1f516b502d3501f9d214df54e52f2 Task-number: QTBUG-14831 Reviewed-by: Charles Yin
* | QSqlTableModel/QSqlQueryModel and insertColumns problem.Michael Goddard2011-02-045-14/+223
| | | | | | | | | | | | | | | | | | | | | | | | | | | | After inserting a column, fetching data through QSqlTableModel was off by one or more, since it passed the indexInQuery through to QSQM. Also, the headerData would sometimes return a blank string for an inserted column, and sometimes the column number. The autotests have been beefed up a little to check insertRows and insertColumns play nicely. Change-Id: I7399d4c4d94f958884b67ab9b39b5cf2485d8416 Task-number: QTBUG-12626 Reviewed-by: Charles Yin
* | tst_qsvgrenderer: works on shadowbuildOlivier Goffart2011-02-032-2/+9
| |
* | Fix QMutex can deadlock when calling tryLockOlivier Goffart2011-02-022-1/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | in the unix code, if the QMutexPrivate::wait() with a timeout expires in the same moment that the mutex is released, wakeup would be set, but would be then ignored. (reset to false quickly after) If we waken up between the timeout and the re-aquisition of the internal mutex, we consider that the mutex has been locked. Reviewed-by: brad Task-number: QTBUG-16115
* | Fixed missing text when using static text items in GL 2 engine.Samuel Rødal2011-02-023-5/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the context is destroyed and recreated, we end up with a new glyph cache, but we only recreate the vertex arrays for the very first static text item. We need to keep track of the glyph cache in each text item, so that we can recreate the vertex arrays and re-populate the cache accordingly. As the pointer might be the same after the glyph cache is recreated, we need to use serial numbers instead. We also need to re-create the cache when the context pointer has been invalidated, so that the static text items also get invalidated, and the texture glyph cache gets repopulated. Reviewed-by: Eskil Abrahamsen Blomfeldt
* | Prevent recursion when creating window surface.Samuel Rødal2011-02-021-1/+7
| | | | | | | | | | | | | | | | | | If we can't access the qt_gl_share_widget() we should just create a raster window surface. This might happen when creating the share widget itself leads to creation of a window surface (which isn't really going to be used anyways). Reviewed-by: Michael Dominic K
* | Fixed es2 configure when both EGL/egl.h and GLES/egl.h are present.Samuel Rødal2011-02-021-7/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change e0c2861976e06658a1d651941310407c15b0bcde fixed es1 configure by only picking EGL/egl.h if GLES/egl.h is not found. This broke es2 configure on platforms where both EGL/egl.h and GLES/egl.h are present, by picking GLES/egl.h instead of EGL/egl.h, which implicitly pulled in the GLES/gl.h header as well, causing inconsistent declarations due to both GLES2/gl2.h and GLES/gl.h getting included. Instead, we need to prioritize depending on whether we're using es1 or es2. For es1, we prefer GLES/egl.h, and for es2, we prefer EGL/egl.h. If only one of the headers is found we still use it unconditionally, to preserve the existing behaviour and minimize the risk of breaking other platforms. Reviewed-by: Ritt Konstantin Reviewed-by: Marius Storm-Olsen
* | document that QThread::exit will exit future event loopsOlivier Goffart2011-02-021-4/+6
| | | | | | | | Reviewed-by: Brad
* | Revert "Restore Qt 4.6 behaviour: exec() always enters the event loop."Olivier Goffart2011-02-022-138/+58
| | | | | | | | | | | | | | | | | | | | | | This reverts commit 2e72a8b19ea6c674fb4777860dac50faa5d387e6. The behavour in Qt 4.6 was wrong. And even if it was not documented, it is too late to change the behaviour back at this point. The tests for QEventLoop and QCoreApplication have not been reverted Reviewed-by: Brad
* | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2011-02-015-11/+24
|\ \ | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Don't ignore source-text when generating qsTrId translations for QML Fix a crash when undoing form layout
| * | Don't ignore source-text when generating qsTrId translations for QMLTor Arne Vestbø2011-02-013-1/+9
| | | | | | | | | | | | Reviewed-by: ossi
| * | Fix a crash when undoing form layoutJarek Kobus2011-02-012-10/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In a rare case when breaking a layout might make widgets overlap, the internal heuristic failed when recreating an original layout during undo. Some widgets were removed from the grid. The patch fixes this heuristic (makes sure we don't remove other widgets). Creating a form layout from overlapping widgets works better now. Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Task-number: QTCREATORBUG-3616
* | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2011-01-3015-179/+358
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Fix potential networking crash due to null-pointer dereference Revert "Improve timer ID safety by using a serial counter per ID." Invalidate QScriptPrograms when engine is destroyed Fix alignment issue causing crash in QtScript/JavaScriptCore Restore Qt 4.6 behaviour: exec() always enters the event loop. Make syncqt not complain about missing header macros.
| * | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2011-01-2915-179/+358
| |\ \ |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Fix potential networking crash due to null-pointer dereference Revert "Improve timer ID safety by using a serial counter per ID." Invalidate QScriptPrograms when engine is destroyed Fix alignment issue causing crash in QtScript/JavaScriptCore Restore Qt 4.6 behaviour: exec() always enters the event loop. Make syncqt not complain about missing header macros.
| * | Fix potential networking crash due to null-pointer dereferenceSimon Hausmann2011-01-281-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An internal bug report suggests that we unconditionally dereference the backend pointer in QNetworkReplyImpl when checking for the synchronity of the originating request. The dereferencing code was introduced in commit ad1e82323225e996720136e8b2d669166b8d8441. Unfortunately the report does not detail where/how the crash happened, but it appears plausible that the backend pointer became null, and the surrounding code that has extra checks suggests this, too. In an attempt of defensive programming this patch introduces the missing check in the reported line 112 as well as in other places where it seems appropriate. Reviewed-by: Peter Hartmann
| * | Revert "Improve timer ID safety by using a serial counter per ID."Thiago Macieira2011-01-281-24/+6
| | | | | | | | | | | | | | | This reverts commit 121e2b39043a4ffc6583f250aebb9a3a746076c1. It was considered too dangerous for 4.7.
| * | Invalidate QScriptPrograms when engine is destroyedKent Hansen2011-01-284-7/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the engine is destroyed before the program, the program must be invalidated; otherwise the program destructor will access a stale engine pointer, which can cause a crash (it crashes on Symbian, but "only" gives a Valgrind warning on Linux for our autotests). We need to keep track of all associated programs, just like we already do for values and strings. This fix follows the exact same pattern, but uses a QSet to keep the patch minimal. No new tests, but the evaluateProgram() test runs successfully on Symbian now, and there are no more Valgrind warnings. Task-number: QTBUG-16987 Reviewed-by: Olivier Goffart