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;
openSUSE Build Service is sponsored by