File xdrawchem-fix-crash-after-text-tool.patch of Package xdrawchem
Index: xdrawchem-2.0/xdrawchem/render2d_text.cpp
===================================================================
--- xdrawchem-2.0.orig/xdrawchem/render2d_text.cpp
+++ xdrawchem-2.0/xdrawchem/render2d_text.cpp
@@ -554,40 +554,32 @@ QString Render2D::EditText( QPoint origi
int Render2D::GetTextHeight( QFont fn )
{
- QPainter p( this );
-
- p.setFont( fn );
- QFontMetrics fm = p.fontMetrics();
+ painter->setFont( fn );
+ QFontMetrics fm = painter->fontMetrics();
return fm.ascent();
}
int Render2D::GetTextFullHeight( QFont fn )
{
- QPainter p( this );
-
- p.setFont( fn );
- QFontMetrics fm = p.fontMetrics();
+ painter->setFont( fn );
+ QFontMetrics fm = painter->fontMetrics();
return fm.height();
}
int Render2D::GetCharWidth( QChar ch, QFont fn )
{
- QPainter p( this );
-
- p.setFont( fn );
- QFontMetrics fm = p.fontMetrics();
+ painter->setFont( fn );
+ QFontMetrics fm = painter->fontMetrics();
return fm.width( ch );
}
int Render2D::GetStringWidth( QString ch, QFont fn )
{
- QPainter p( this );
-
- p.setFont( fn );
- QFontMetrics fm = p.fontMetrics();
+ painter->setFont( fn );
+ QFontMetrics fm = painter->fontMetrics();
return fm.width( ch );
}
@@ -601,11 +593,9 @@ QRect Render2D::GetTextDimensions( QStri
}
- QPainter p( this );
-
- p.setFont( fn );
+ painter->setFont( fn );
int maxwidth, lwidth, linecount, height;
- QFontMetrics fm = p.fontMetrics();
+ QFontMetrics fm = painter->fontMetrics();
QTextStream t( &txt, QIODevice::ReadOnly );
linecount = 1;