Bug#463438: Is the following (kspread) code correct?
Assuming that qt knows about the difference between a printer and a screen
QPainter instance, the reported bug might be caused by accidentially using a
screen QPainter instead of a printer one. This would cause (for a given
DisplaySize parameter in Xorg.conf) a wrong printer layout as observed. In
koffice 1.5 I found in kspread_sheetprint.cc the following code at
SheetPrint::print() :
QPixmap *p = new QPixmap( zoomRect.size() );
QPainter painter(p);
Do the authors intend to cache all objects to be printed in Pixmaps? Later the
painter object is passed downward to render the object content. But this
might cause the bug: for the static QPainter instance Qt might assume that it
is a screen context, the DisplaySize is in effect. Later the QPixmap will be
copied to the print context but this will spoil the layout (printer doesn't
know about DisplaySize).
Reply to: