diff options
Diffstat (limited to 'src/kernel/qpainter_x11.cpp')
-rw-r--r-- | src/kernel/qpainter_x11.cpp | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/kernel/qpainter_x11.cpp b/src/kernel/qpainter_x11.cpp index 2aea6bc..b939848 100644 --- a/src/kernel/qpainter_x11.cpp +++ b/src/kernel/qpainter_x11.cpp @@ -1856,16 +1856,24 @@ void QPainter::drawWinFocusRect( int x, int y, int w, int h, RasterOp old_rop = (RasterOp)rop; if ( xorPaint ) { - if ( QColor::numBitPlanes() <= 8 ) + if ( QColor::numBitPlanes() <= 8 ) { setPen( QPen(color1, 0, Qt::FineDotLine) ); - else + } + else if ( QColor::numBitPlanes() <= 8 ) { setPen( QPen(white, 0, Qt::FineDotLine) ); + } + else { + setPen( QPen(QColor(qRgba(255,255,255,0)), 0, Qt::FineDotLine) ); + } setRasterOp( XorROP ); - } else { - if ( qGray( bgColor.rgb() ) < 128 ) + } + else { + if ( qGray( bgColor.rgb() ) < 128 ) { setPen( QPen(white, 0, Qt::FineDotLine) ); - else + } + else { setPen( QPen(black, 0, Qt::FineDotLine) ); + } } if ( testf(ExtDev|VxF|WxF) ) { @@ -1893,6 +1901,7 @@ void QPainter::drawWinFocusRect( int x, int y, int w, int h, XSetLineAttributes( dpy, gc, 1, LineOnOffDash, CapButt, JoinMiter ); XDrawRectangle( dpy, hd, gc, x, y, w-1, h-1 ); + XSetLineAttributes( dpy, gc, 0, LineSolid, CapButt, JoinMiter ); setRasterOp( old_rop ); setPen( old_pen ); |