QMacStyle: save context state before changing to avoid crash
qt_drawFocusRingOnPath was saving the graphics state after setting a new context. This leads to zombie NSBitmapGraphicsContext access with QFileDialog. Task-number: QTBUG-41879 Change-Id: I7fc7d959d2b0f01cb3491d639023083f1b46d175 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
This commit is contained in:
parent
26fbeecfa5
commit
2b4cda3852
@ -1102,9 +1102,9 @@ static QAquaWidgetSize qt_aqua_guess_size(const QWidget *widg, QSize large, QSiz
|
||||
static void qt_drawFocusRingOnPath(CGContextRef cg, NSBezierPath *focusRingPath)
|
||||
{
|
||||
CGContextSaveGState(cg);
|
||||
[NSGraphicsContext saveGraphicsState];
|
||||
[NSGraphicsContext setCurrentContext:[NSGraphicsContext
|
||||
graphicsContextWithGraphicsPort:(CGContextRef)cg flipped:NO]];
|
||||
[NSGraphicsContext saveGraphicsState];
|
||||
NSSetFocusRingStyle(NSFocusRingOnly);
|
||||
[focusRingPath setClip]; // Clear clip path to avoid artifacts when rendering the cursor at zero pos
|
||||
[focusRingPath fill];
|
||||
|
Loading…
Reference in New Issue
Block a user