From 80600b5d57c18dcbd48c6373b9c147e96a8c329f Mon Sep 17 00:00:00 2001 From: zeljko Date: Sat, 14 Jul 2007 12:48:41 +0000 Subject: [PATCH] * BUGFIX: CPU eating while modal forms running. * Speed up TQtWidgetSet.DCSetPixel(), also pen color is correct now. git-svn-id: trunk@11503 - --- lcl/interfaces/qt/qtobject.inc | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/lcl/interfaces/qt/qtobject.inc b/lcl/interfaces/qt/qtobject.inc index 3ca81b3a57..c6f46afdb8 100644 --- a/lcl/interfaces/qt/qtobject.inc +++ b/lcl/interfaces/qt/qtobject.inc @@ -125,7 +125,9 @@ end; ------------------------------------------------------------------------------} procedure TQtWidgetSet.AppProcessMessages; begin - QCoreApplication_processEvents(); + if QCoreApplication_hasPendingEvents + then + QCoreApplication_processEvents(); end; {------------------------------------------------------------------------------ @@ -198,29 +200,23 @@ end; procedure TQtWidgetSet.DCSetPixel(CanvasHandle: HDC; X, Y: integer; AColor: TGraphicsColor); var + ASavedColor: TQColor; Color: TQColor; - Pen, APen: QPenH; + Pen: QPenH; Painter: QPainterH; begin if IsValidDC(CanvasHandle) then begin //WriteLn('TQtWidgetSet.DCSetPixel X=',X,' Y=',Y, ' AColor=',dbghex(AColor)); - //TODO: First compare color if same, draw point with current pen - Painter :=TQtDeviceContext(CanvasHandle).Widget; Pen := QPainter_Pen(Painter); - APen := QPen_Create(Pen); - - QPen_color(APen,@Color); + QPen_color(Pen, @ASavedColor); + QPen_color(Pen, @Color); ColorRefToTQColor(AColor, Color); - QPen_setColor(Apen, @Color); - - Qpainter_SetPen(Painter, APen); + QPen_setColor(Pen, @Color); QPainter_DrawPoint(Painter, X,Y); - QPainter_SetPen(Painter, Pen); - - QPen_Destroy(APen); + QPen_setColor(Pen, @ASavedColor); end; end;