Details
-
Bug
-
Resolution: Done
-
P0: Blocker
-
4.7.2
-
48629ab39aa4e20b21a359dc251569a98606983d
Description
While searching for the reason of QTBUG-17628 (huge fonts in some cases), I found that QS60PixmapData::metric(QPaintDevice::PdmDpiY) always returns MAXINT.
The reason seems to be that QS60PixmapData::cfbsBitmap.SizeInTwips() returns 0 which gets divided by another value to get the dpi, resulting in 0/x == MAXINT. The dpi value on an XM5800 should be 231, instead if MAXINT(2147483647). Huge Dpi's lead to huge fonts, if the font size is defined in points (QTBUG-17628).
QImage::logicalDpiY() always returns the correct value.
Edit: This only happens with graphicssystem "raster". So, on Symbian^3 it only happens when forcing the usage of raster.
See the snippet (output of the attached test program):
QImage im(100, 100); im.logicalDpiX(); // 231 im.logicalDpiY(); // 231 QPixmap pm(100, 100); pm.logicalDpiX(); // 2147483647 pm.logicalDpiY(); // 2147483647
Btw.: A very esoteric fact is that 2^31 - 1 == 2147483647 (231 == dpi on XM5800). So, the returned dpi by QPixmap::logicalDpiY() is somehow related to the expected 231
Attachments
Issue Links
- is required for
-
QTBUG-17628 BallZ Free: The fonts in screen get messed when launch the application in Nokia 5230/5250
- Closed