summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Revert binary search in QTextEngine::findItemJiang Jiang2011-07-281-12/+6
| | | | | | | | It's part of c9607f069f0fb98021daf0af9f1d1b2981018e0c which caused crash in certain cases. Task-number: QTBUG-17209 Reviewed-by: Gunnar Sletta
* Save previous font engine for right bearing adjustmentJiang Jiang2011-07-271-5/+15
| | | | | | | | | | | | | | | In last fix I forgot that fd818312 was for saving and restoring the right bearing (of last visible glyph) when a LineSeparator was hit (which can have a different font engine but usually not visble), thus we can't reset previousGlyph in that case. To make sure we still get correct right bearing from the font engine used to shape previousGlyph, we need to save that font engine as well. It does make the code more complicated than simply saving the right bearing when a QScriptItem boundary is hit, so hopefully it's an optimization worth to be made (following e1915815). Task-number: QTBUG-20423 Reviewed-by: Eskil
* Fix compilation under OSX 10.7 or using llvm-gcc.Mike McQuaid2011-07-261-4/+4
| | | | | | | | Use correct error codes instead of type errors. Thanks to Dylan Luke <lukes.dylan@gmail.com> for this patch. Merge-request: 1304 Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* Fix typo in QFontDialog docsJiang Jiang2011-07-251-1/+1
| | | | Reviewed-by: TrustMe
* Reset previousGlyph once we reached a new text itemJiang Jiang2011-07-251-0/+1
| | | | | | | | | | | The bug was introduced in fd818312. Before that, previousGlyph is only saved in the same text item. After we moved it to LineBreakHelper struct, it will cause crash if the font engine in the new text item no longer contains the sub engine required by previousGlyph. Task-number: QTBUG-20243 Reviewed-by: Eskil
* Fixed crash when loading 16 bits-per-pixel grayscale TIFs.Kim Motoyoshi Kalland2011-07-201-11/+20
| | | | | | | | Use the fallback path when encountering 16 bits-per-pixel grayscale TIFs. Also fixed potential memory leak. Task-number: QTBUG-19878 Reviewed-by: Samuel
* Check for buffer overflow in Lookup_MarkMarkPosJiang Jiang2011-07-191-0/+3
| | | | | | | | That may cause crash in this function with certain fonts. Task-number: QTBUG-17238 Done-by: Alberto Garcia <agarcia@igalia.com> Reviewed-by: Jiang Jiang
* Prevent failed rendering for NPOT textures in GLES2.Samuel Rødal2011-07-181-1/+3
| | | | | | | Shouldn't use the (default) GL_REPEAT wrap mode on GLES2 unless GL_OES_texture_npot is present. Reviewed-by: Kim
* Don't use GL_REPEAT for NPOT textures in GLES2.Samuel Rødal2011-07-181-1/+12
| | | | | | | | | | | | | | | We already handle NPOT textures correctly by calling fract() on the texture coordinates in the fragment shader, but we also need to make sure not to set GL_REPEAT as the wrap mode, because the GLES2 spec says that the driver should return (0, 0, 0, 1) if an NPOT texture has wrap mode different from GL_CLAMP_TO_EDGE. Previous GLES2-implementations we've tested on have thus not been GLES2-compliant (or supported GL_OES_texture_npot). Partial back-port / modification of c5a377e944f9a87c372ff8371c66b03d861803a6 in 4.8. Reviewed-by: Kim
* Fixes leaking X11 SyncCounter when widgets get open/destroyedAleksandar Stojiljkovic2011-07-181-0/+6
| | | | | | | xmeminfo showed leaking memory and unreleased X11 SyncCounter for test application opening and destroying one QWidget. It was not that critical: on 1000+ openings, heap grew ~4MB. This patch fixes the leak. Reviewed-by: Samuel Rødal
* Fix potential crash when clicking in a text editEskil Abrahamsen Blomfeldt2011-07-131-0/+1
| | | | | | | | | Since the attributes() call might resize the layout and therefore delete the previous data, the logClusters pointer might be dangling at this point. We need to reget it to make sure it's valid. Task-number: QTBUG-20310 Reviewed-by: Jiang Jiang
* Compensate for different rounding rule in CG engineJiang Jiang2011-07-121-2/+8
| | | | | | | | | | After we switched to fractional metrics, Core Graphics engine always put text at floored vertical postion, while underlines will be rounded after 0.75. Ceiling the underline position will make sure it will always leave the underline pixels given. Task-number: QTBUG-19959 Reviewed-by: Eskil
* Check engine existence before increasing reference countJiang Jiang2011-07-121-3/+6
| | | | | Reviewed-by: TrustMe (cherry picked from commit 244620438700464a862ceab7c881974a5b1d1fea)
* Keep reference count for cached font engines in QTextEngineJiang Jiang2011-07-111-0/+15
| | | | | | | | | So that if these font engines are deallocated elsewhere (by QFontCache for instance), we can still access them in QTextEngine. Task-number: QTBUG-17603 Reviewed-by: Eskil (cherry picked from commit 6e23fb69e441871829765ff512e90fed17b6798d)
* Optimize text layout.Michael Brasser2011-07-113-25/+71
| | | | | | | | | | | | | | | | When laying out text, a significant amount of time was being spent querying for the font engine. This patch: * changes the layout to only query for the engine when a new script item is encountered. * adds an internal cache of the previous result to QTextEngine::fontEngine(). This catches the important case of multiline text with few font engine changes. With these changes layout costs are now approximately 60% of what they were previously, as measured by the text layout benchmarks. Reviewed-by: Eskil Abrahamsen Blomfeldt (cherry picked from commit 0c56bef89b6e3fe4c9fb32eb8b51a6ea316a89fa)
* Fix crash when app font is addedJiang Jiang2011-07-113-19/+28
| | | | | | | | | | | | | | Loading app fonts will clear the application font cache, but QFontPrivate::engineWithScript will try to load the font again, in Mac the font engine used here must be the one used for shaping, because subsequent sub font engines may be added to it during the shaping process (QCoreTextFontEngineMulti::stringToCMap). That is why we need to fetch the font engine directly from QTextEngine's fontEngine cache instead of QFontCache. Task-number: QTBUG-20250 Reviewed-by: Eskil (cherry picked from commit 1f90ae36cff8acf581d1624bf011fe3a55c623c0)
* Fix bidi reordering when part of text is rendered by fallback fontEskil Abrahamsen Blomfeldt2011-07-061-1/+13
| | | | | | | | | If the fallback font is used for part of a RTL text, we need to position the different text items accordingly, subtracting the advance instead of adding it. Task-number: QTBUG-17117 Done-with: Lars
* Fixes switching runtime graphics system when the maximized window is shown ↵Stanislav Ionascu2011-07-051-0/+8
| | | | | | | or hidden. Merge-request: 1287 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Fix horizontal center alignment with trailing spaceJiang Jiang2011-07-041-1/+1
| | | | | | | | | | | | | | | | | | | | | Text drawn with horizontal center alignment (AlignHCenter) and QTextOption::IncludeTrailingSpaces flag as off should consider the trailing space width (leading space width for RTL lines), because textAdvance here ignores the space. Disregard that space width here in alignLine will make RTL lines aligned a bit to the right. In short, for something like this: |w1|space|text|w2| |<- totalWidth ->| we want to have w1 + spaceWidth = w2 = (totalWidth - textWidth)/2, so that the actual rendered text will appear at the center of the bounding rect. Task-number: QTBUG-18303 Reviewed-by: Eskil
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2011-07-0111-499/+1023
|\ | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: QS60Style: provide more standard icons Update QtOpenGL section in Symbian platform notes. The qmlshadersplugin deployment must be scoped same as its building Do not try to open VKB if it is already open in Symbian Introduce QPixmap::fromSymbianRSgImage(RSgImage*) to GL engine
| * QS60Style: provide more standard iconsSami Merila2011-07-014-6/+638
| | | | | | | | | | | | | | | | Add custom standard icons for Symbian iconography. Additionally, map few existing standard icon enums to new icons. Task-number: QT-5116 Reviewed-by: Miikka Heikkinen
| * The qmlshadersplugin deployment must be scoped same as its buildingMiikka Heikkinen2011-06-301-4/+8
| | | | | | | | | | | | | | | | | | The check "contains(QT_CONFIG, opengl)" is used to include shaders subdir, so the same check needs to be used when defining deployment for shaders in s60installs.pro Task-number: QTBUG-20192 Reviewed-by: TrustMe
| * Do not try to open VKB if it is already open in SymbianMiikka Heikkinen2011-06-301-18/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | If QEvent::RequestSoftwareInputPanel was handled when there was already an active virtual keyboard that had a child dialog open such as symbol or writing language selection dialog, the VKB would be brought to foreground on top of the child dialog, causing several problems, such as options menu and letter keys no longer working in VKB. Fixed by checking if VKB is already open before opening it again. Task-number: QT-5133 Reviewed-by: Sami Merila
| * Introduce QPixmap::fromSymbianRSgImage(RSgImage*) to GL engineJani Hautakangas2011-06-305-471/+336
| | | | | | | | | | | | | | | | Initial implementation of QPixmap::fromSymbianRSgImage(RSgImage*) on OpenGL graphics system. Task-number: QTBUG-15254 Reviewed-by: Laszlo Agocs
* | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2011-07-0113-225/+225
|\ \ | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Re-apply licenseheader text in source files for qt4.7
| * | Re-apply licenseheader text in source files for qt4.7Jyri Tahtela2011-07-0113-225/+225
| | | | | | | | | | | | | | | | | | Fixed license text in files having old license. Reviewed-by: Trust Me
* | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2011-06-291-4/+19
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: Fix QWidget::palettePropagation2() autotest on Symbian (part 2) Fix QWidget::palettePropagation2() autotest on Symbian
| * | Fix QWidget::palettePropagation2() autotest on Symbian (part 2)Sami Merila2011-06-291-0/+1
| | | | | | | | | | | | | | | | | | | | | Add also include to QS60Style to avoid build failure. Task-number: QT-5011 Reviewed-by: Miikka Heikkinen
| * | Fix QWidget::palettePropagation2() autotest on SymbianSami Merila2011-06-291-4/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Autotest fails since calling QApplication::setPalette() clears away QPalette hash (class specific palette information). QS60Style tries to re-set theme-specific hash after updating application palette with real theme background, but does not take into account that application might have defined own custom palette hash data. As a fix, store the previously set palette hash information and restore it after calling QApplication::setPalette(). Additionally, remove the palette change event sending, since QApplication will post that event anyway when palette is updated. Task-number: QT-5011 Reviewed-by: Miikka Heikkinen
* | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2011-06-293-10/+17
|\ \ \ | |/ / |/| | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Fix text color in some cases of QML and QStaticText
| * | Fix text color in some cases of QML and QStaticTextEskil Abrahamsen Blomfeldt2011-06-293-10/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts 518c2a58ed6fdfd7449cb4476aa8ea0d32ad16e3 which caused a regression. When writing systems are mixed and an underline is set on the font, QPainter will set a pen with the current color and a new width on itself before drawing the decoration. This would cause the recorder in QStaticText to mark the pen as dirty, saving the current pen color in all subsequent text items. The effect was e.g. that in QML the cached color would override the current one, making it impossible to change the color on the text without forcing a relayout somehow. The right fix is to only mark the pen as dirty when its color actually changes. Task-number: QTBUG-20159 Reviewed-by: Jiang Jiang
* | | Added qmlshadersplugin to Symbian s60installs.pro-file.Marko Niemelä2011-06-291-1/+4
| | | | | | | | | | | | | | | Task-number: QTBUG-18346 Reviewed-by: Sami Merila
* | | Fix KERN-EXEC 0 errors in symbian bearer pluginShane Kearns2011-06-282-4/+19
| |/ |/| | | | | | | | | | | | | | | The plugin was ignoring errors when opening a handle, and as a result crashed if the handle was invalid. Error checking / handle validity checks added. Task-number: QTBUG-18572 Reviewed-by: mread
* | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2011-06-231-7/+0
|\ \ | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: Use numeric virtual keyboard for all number entry modes.
| * | Use numeric virtual keyboard for all number entry modes.Miikka Heikkinen2011-06-231-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Qt::DialableCharactersOnly and Qt::ImhFormattedNumbersOnly now use numeric mode virtual keyboard as they are supposed to. '*' and '#' keys can be used to enter the non-digit characters allowed in these modes. Task-number: QT-5085 Reviewed-by: Sami Merila
* | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2011-06-232-9/+30
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: QTBUG-17776, reporting terminated threads as not running on Symbian Splitview - Auto-translation rules changed
| * | QTBUG-17776, reporting terminated threads as not running on Symbianmread2011-06-231-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Symbian app shutdown all threads are terminated and their stack memory is released, but there is no time for notification of exit of these threads. So any attempt to access stack data in such a thread from static data destruction will cause a crash. This was happening with the XmlQuery thread. It was testing if the thread was still running, and QThread thought it was because there was no notification. So when the XmlQuery thread was asked to exit, and QThread::exit tried to access a stack based QEventLoop, there was a crash. By adding a test if the thread has been terminated to QThread::isRunning(), clients can now rely on this to know that it is safe to call exit() on a thread. The existing code is made safe again. Task-number: QTBUG-17776 Reviewed-by: Shane Kearns
| * | Splitview - Auto-translation rules changedSami Merila2011-06-231-9/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using "splitview" (virtual keyboard with non-fullscreen editing mode), it is currently auto-translating the cursor to the center of the screen if possible. It would be preferable, if the translation would only be minimal, just enough for cursor to be visible. This makes scrolling of input widget (i.e. large editor) easier to use, as text flows naturally (row-by-row) and not in "jumps" like it used to do. Additionally, limit the translation to the end of input widget boundary. Task-number: QTBUG-20034 Reviewed-by: Miikka Heikkinen
* | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2011-06-232-0/+12
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: Support clipboard function on Symbian Added qmlshadersplugin to Symbian qt.iby-file.
| * | Support clipboard function on SymbianGuoqing Zhang2011-06-231-0/+9
| | | | | | | | | | | | | | | Task-number: QTBUG-19996 Reviewed-by: Sami Merila
| * | Added qmlshadersplugin to Symbian qt.iby-file.Marko Niemelä2011-06-231-0/+3
| | | | | | | | | | | | | | | Task-number: QTBUG-18346 Reviewed-by: Sami Merila
* | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2011-06-2248-317/+360
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: (23 commits) Workaround webkit deadlock on macos x Disable antialiasing for tiled image drawing. Ensure visibility of input widget in QML app when doing layout switch Def update for gui, openvg, and opengl. Revert "Def update." Fix trailing whitespace Remove unnecessary resizes during orientation change Revert "Symbian: Fix QFontInfo::pixelSize()" Improving warning messages in QVolatileImage. Proper naming for raster pixmap and paintengine on Symbian. Def update. Handle QVolatileImage-backed pixmaps optimally in drawPixmap(). Resizable graphicsview's background is drawn incorrectly in splitview Add inputcontext reset to orientation switch in Symbian QS60Style: QGroupBox is drawn as white box in upcoming Symbian release Symbian: Fix QFontInfo::pixelSize() Drop-down menu position is altered when Partial VKB is invoked Fix SVG icons on softkeys in new Symbian devices Fix screen dimensions after orientation change in split screen mode. Qmlshadersplugin examples added. ...
| * | Workaround webkit deadlock on macos xShane Kearns2011-06-221-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The webkit AtomicallyInitializedStatic and Qt's Q_GLOBAL_STATIC can deadlock on the Mac, as the mac compiler inserts calls to __cxa_guard_acquire and __cxa_guard_release around initialisation of local statics. In Q_GLOBAL_STATIC case, this is the QGlobalStaticDeleter local static Whereas webkit AtomicallyInitializedStatic is a local static variable in any case. Problem is triggered because webkit constructs QNetworkConfigurationManager inside the constructor of a local static - networkStateNotifier And the generic bearer plugin calls QNetworkInterface::allInterfaces in the bearer thread, which needs an initialised Q_GLOBAL_STATIC. Reviewed-by: Laszlo Agocs
| * | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt into 4.7Laszlo Agocs2011-06-2041-251/+317
| |\ \
| * | | Disable antialiasing for tiled image drawing.Laszlo Agocs2011-06-201-1/+8
| | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-19821 Reviewed-by: Jani Hautakangas
| * | | Ensure visibility of input widget in QML app when doing layout switchSami Merila2011-06-171-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When QML application changes orientation, it usually switches to a new layout that lays out widgets differently (ie. in portrait, one vertical column; in landscape, horizontal multi-column layout). This easily breaks splitview translation logic, since it tries to ensure the visibility of the input widget before the new layout has been applied. Additionally, the logic failed, when connected signal was fired, since it assumed that the new translation would have translated the view above from where it started from (i.e. window below the translated view would have been exposed) and thus, it didn't do anything. As a fix, when translation logic seems to indicate that the translation would fail (and thus previously wouldn't do anything), reset the existing translation and try again. Task-number: QTBUG-16785 Reviewed-by: Miikka Heikkinen
| * | | Def update for gui, openvg, and opengl.Laszlo Agocs2011-06-175-0/+7
| | | |
| * | | Revert "Def update."Laszlo Agocs2011-06-178-24/+0
| | | | | | | | | | | | | | | | This reverts commit cf429b48cf144a4f6fa1b7e96ed00f5ce3fe085b.
| * | | Fix trailing whitespaceJani Hautakangas2011-06-171-1/+1
| | | | | | | | | | | | | | | | Reviewed-by: TRUSTME
| * | | Remove unnecessary resizes during orientation changeJani Hautakangas2011-06-173-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Orientation change causes unnecessary resize to top level window on Symbian. This causes recreation of EGL surfaces which is not wanted. Task-number: QTBUG-19911 Reviewed-by: Sami Merila