summaryrefslogtreecommitdiffstats
path: root/src/gui/text/qfontdatabase_s60.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Don't crash when cleaning the uninitialized fontdatabase (Symbian)Alessandro Portale2010-06-241-0/+2
| | | | | | | | | | | | Applications that do not render fonts will not cause a call to initializeDb(). In that case, there will be no creation of QSymbianFontDatabaseExtras. This fix adds a NULL-pointer check before cleaning the QSymbianFontDatabaseExtras instance. Task-number: QTBUG-11683 Reviewed-by: Miikka Heikkinen
* Fix a crash on exit. Destruction order in font database. (Symbian^4)Alessandro Portale2010-06-221-6/+15
| | | | | | | | | | | | | | | The implementation for the QT_2746 task had a wrong destruction order of font database elements. The 'QSymbianTypeFaceExtras' in Symbian^4 hold a CFont which is retrieved from the Symbian ScreenDevice. They have to be released by the same ScreenDevice. The error was that the release was attempted after the connection to the ScreenDevice was closed. This fix causes an earlier destruction of all 'QSymbianTypeFaceExtras' and the removal of their their CFonts in qt_cleanup. While the connection to the ScreenDevice is still alive. Task-number: QT_2746
* Prospective S60 build fixSimon Hausmann2010-06-131-3/+3
| | | | | | QS60Data::screenDevice() has moved from being process global to being thread local, therefore it must be accessed through the S60 macro that returns the thread-local data.
* Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt into qt-4.7-from-4.6Simon Hausmann2010-06-131-6/+8
|\ | | | | | | | | | | | | | | | | | | | | | | src/3rdparty/webkit merged with checkout --ours Conflicts: src/3rdparty/webkit/VERSION src/3rdparty/webkit/WebCore/ChangeLog src/3rdparty/webkit/WebCore/platform/text/qt/TextBreakIteratorQt.cpp src/gui/kernel/qt_s60_p.h src/gui/text/qfontdatabase_s60.cpp src/script/api/qscriptengine.cpp
| * Thread safety for QFontEngineS60Shane Kearns2010-06-111-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On symbian, creating fonts requires a connection to the window server. Window server sessions are not sharable across threads. To avoid QFont crashing when used outside the GUI thread, we construct a private session to the window server when the shared CONE session is not available. (CCoeEnv::Static() uses TLS, so it returns null outside of GUI thread) The private session and screen device are stored in QThreadStorage, so they are automatically deleted when the QThread exits. Task-number: QTBUG-8874 Reviewed-by: mread
* | Using Symbian's future font table getter ApiAlessandro Portale2010-06-031-17/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt requires raw access to the font tables of used fonts, for a variety of reasons. Until Symbian^4, it is/was not possible to access the font tables of the fonts which are stored in Symbians Font and Bitmap Server. That's why Qt for Symbian's FontDataBase created an own TFontStore where it loaded in all installed fonts. While accessing the font tables via the own TFontStore it still uses the rasterization and metrics from the FBS, which has public Api for those things. However, loading all fonts in the own TFontStore for each Qt Gui process slows down the program startup. Symbian's future font table setter Api is very welcome and this implemets it's usage. This patch lets Qt use the new font API on Symbain^4. The font tables are retrieved via RFontTable. Task-number: QT-2746 Reviewed-by: Jason Barron
* | Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Olivier Goffart2010-05-171-0/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: demos/demos.pro mkspecs/features/resources.prf mkspecs/features/uic.prf src/corelib/io/qurl.cpp src/corelib/tools/qlocale_symbian.cpp src/gui/graphicsview/qgraphicsscene.cpp src/gui/graphicsview/qgraphicswidget_p.cpp src/gui/graphicsview/qgraphicswidget_p.h src/gui/util/qsystemtrayicon_win.cpp src/multimedia/audio/qaudioinput.cpp tests/auto/qhostinfo/qhostinfo.pro
| * Support linked fonts (.ltt) from standard font locations.Alessandro Portale2010-05-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The internal font database was only populated with .ttf and .ccc files. This patch adds .ltt as file type. Without complete font type coverage in the fontstore, we may get a mismatch in the internal association of font table and fontfamily. Most probably, this will also fix the crash on SSE Satio's. SSE seems to use .ltt files already on S60 5.0. An improvement needs to be verified by an owner of such a device, however. Task-number: QTBUG-8905 Reviewed-by: Aleksandar Sasha Babic
* | Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Thiago Macieira2010-05-011-17/+40
|\ \ | |/
| * Fix bold text rendering of Thai and Vietnamese on SymbianAlessandro Portale2010-04-301-17/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Symbian Qt font database made the wrong assumption that a font face name maps one to one to a font. That led to a mismaptch between actual font face variants (bold) versus the retrieved font tables. S60, usually comes with two 'Series 60 Sans' font files where one is semi bold. The rasterizer plugin merges both fonts to one and returns the semi bold font if a bold font is requested, otherwise it returns the normal font. Both font files have slight differences in the cmap. Qt's font implementation always retrieved the font tables for the normal font even if it drew the bold font. That led to wrong glyphs in some languages (Thai, Vietnamese), thanks to the cmap differences. This fix makes sure that when retrieving the font tables, bold and italic are considered. It avoids innecessary double allocations of MOpenFontTrueTypeExtension instances. Also the ChunkHeap size of m_heap does now depend on the number of loaded font files. Task-number: QTBUG-6812 Reviewed-by: Aleksandar Sasha Babic
* | Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Thiago Macieira2010-04-291-23/+23
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | All EGL-related changes from 4.6 were discarded. Conflicts: src/gui/egl/egl.pri src/gui/egl/qegl.cpp src/gui/egl/qegl_p.h src/gui/egl/qegl_stub.cpp src/gui/egl/qeglproperties_p.h src/gui/egl/qeglproperties_stub.cpp src/gui/gui.pro src/multimedia/multimedia/audio/qaudioinput_win32_p.h src/s60installs/bwins/QtGuiu.def src/s60installs/eabi/QtGuiu.def
| * Renaming a few unexported, private symbolsAlessandro Portale2010-04-281-23/+23
| | | | | | | | | | | | | | | | That reduces the delta between 4.6/4.7 and a patch that I am pre- paring for Symbian^4. The renaming will help me a lot when main- taining font issues on 4.6 and 4.7 and different Symbian versions. Reviewed-by: trustme
* | Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Thiago Macieira2010-03-301-0/+5
|\ \ | |/ | | | | | | | | Conflicts: src/s60installs/bwins/QtGuiu.def src/s60installs/eabi/QtGuiu.def
| * Adding QFontDatabase::removeAllApplicationFonts()Alessandro Portale2010-03-291-0/+5
| | | | | | | | | | | | | | | | It was missing and not covered by the standard autotests, so its missing was not detected for quite some time. Task-number: QTBUG-8423 Reviewed-By: Shane Kearns
| * Fixed filename cases to support building Qt for Symbian in LinuxMiikka Heikkinen2010-03-121-1/+1
| | | | | | | | | | | | | | Part of QtP delta reduction effort. Task-number: QT-3055 Reviewed-by: Janne Koskinen
* | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qtaxis2010-02-121-6/+5
|\ \ | |/ | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/common/symbian/symbian.conf qmake/generators/makefile.cpp qmake/generators/symbian/symmake.cpp src/3rdparty/webkit/WebCore/WebCore.pro Conflict resolution was heavily based on manual application of commit 9cc4ae77a73bd28ff495f36f26dd87c78b76b976.
| * Fixed casual crash in initializeDb (Symbian)Alessandro Portale2010-02-051-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dynamic_cast should be used carefully with rvct before version 4. We found that out after the a dynamic (down)-cast from CFont* to CFbsFont* in QtGui suddenly failed. We test for (TypeUid() == KCFbsFontUid), before doing the cast. So, a static_cast is safe in this case. Also the other two dynamic_casts in qfontdatabase_s60.cpp were changed to static_cast. http://bugreports.qt.nokia.com/browse/QTBUG-7963 Task-number: QTBUG-7963 Reviewed-by: lars modified: src/gui/text/qfontdatabase_s60.cpp
* | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-publicaxis2010-01-211-1/+1
|\ \ | |/ | | | | | | Conflicts: mkspecs/features/symbian/platform_paths.prf
| * Update copyright year to 2010Jason McDonald2010-01-061-1/+1
| | | | | | | | Reviewed-by: Trust Me
* | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-s60-publicaxis2009-12-181-3/+29
|\ \ | |/ | | | | | | | | Conflicts: configure src/gui/text/qfontdatabase_s60.cpp
| * Update include path for Symbian^3Iain2009-12-031-0/+3
| | | | | | | | | | | | | | | | In Symbian^3, public and platform headers have been split. Since we're using a platform header, we need to include the new header file on Symbian versions where the new header structure is in use Reviewed-by: TrustMe
| * Fix typo in license headerAlessandro Portale2009-11-121-1/+1
| | | | | | | | | | | | The word 'module' was missing. Reviewed-By: TrustMe
| * Qt covers BC break in SymbianAlessandro Portale2009-11-101-2/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Workaround: fntstore.h has an inlined function 'COpenFont* CBitmapFont::OpenFont()' that returns a private data member. The header will change between minor SDK versions, thus break BC. But Qt has to build on any SDK version and run on other versions of Symbian OS. Also Qt does not want to deliver that BC to Qt based apps. This hack performs the needed pointer arithmetic to get the right COpenFont* pointer, no matter if the 'Flexible Memory Model' is already supported or not. The author is not proud of this commit. Task-number: QT-2250 Reviewed-by: Iain Reviewed-by: Shane Kearns modified: src/gui/text/qfontdatabase_s60.cpp
* | Various header file inclusion fixes for rvct on linux using a case-sensitive ↵Simon Hausmann2009-10-231-3/+3
|/ | | | file system.
* Introduce native Symbian bitmap support to QPixmapJani Hautakangas2009-09-181-3/+7
| | | | | | | | | This is done to reduce heap consumption and to give a possibility to share bitmaps across process. QPixmap maps to Symbian CFbsBitmap which is stored in Symbian font and bitmap server. Reviewed-by: Jason Barron
* S60 font db more tolerant of failuremread2009-09-101-1/+6
| | | | | | | This now loads the fonts it can and asserts that at least one is loaded, rather than requiring all fonts to load. Reviewed-by: Alessandro Portale
* Merge branch '4.6' of git@scm.dev.troll.no:qt/qt into 4.6Janne Anttila2009-09-091-4/+4
|\
| * Update license headers again.Jason McDonald2009-09-091-4/+4
| | | | | | | | Reviewed-by: Trust Me
* | Fixed 'use of function is deprecated' warnings reported by RVCTJanne Anttila2009-09-091-1/+1
|/ | | | | Task-number: 241223 Reviewed-by: Janne Koskinen
* Update tech preview license header for files that are new in 4.6.Jason McDonald2009-08-311-13/+13
| | | | Reviewed-by: Trust Me
* Deleting the CFontStore without a crashmread2009-08-281-3/+8
| | | | | | | CFontStore deletion crashes if there are any open fonts in it. These are now all deleted before the store is deleted. Reviewed-by: aportale
* Changed names and URLs to reflect name change.axis2009-08-191-1/+1
| | | | RevBy: Trust me
* Changing names of Symbian leave <-> qt throw translation functionsmread2009-08-131-1/+1
| | | | due to http://qt-reviews.europe.nokia.com/r/67/
* Update license headers according to commit 858c70f768e.axis2009-08-061-3/+3
| | | | RevBy: Trust me
* Replaced $MODULE$ with hardcoded module names.axis2009-08-061-1/+1
| | | | RevBy: Trust me
* Fix linking of applications that use QFontDatabase::removeApplicationFont.Simon Hausmann2009-08-061-0/+6
| | | | | | | | | | | Application font support requires the platform to implement the private registerFont() function, but it is also necessary to implement the public QFontDatabase::removeApplicationFont() function in the platform fontdatabase. The former is implemented as a stub, indicating an error to the caller. The latter was missing as a stub, causing link errors in WebKit. Reviewed-by: Jason Barron
* Trailing whitespace and tab/space fixes for src/guiJanne Anttila2009-08-041-2/+2
|
* Squashed commit of the topic/exceptions branch.Harald Fernengel2009-08-031-7/+10
| | | | | Contains some smaller fixes and renaming of macros. Looks big, but isn't scary at all ;)
* Loading fonts from other /resource/fonts folders than the one on Z:Alessandro Portale2009-06-041-4/+40
| | | | | | Order is 'soft to hard' W:, X: ... A:, Z: Duplicated font file names are ignored. That should imitate the font loading behaviour in the fbSrv.
* Fixed incorrect headers.axis2009-06-031-1/+31
|
* Long live Qt for S60!axis2009-04-241-0/+348