Index: ui/gfx/scoped_ns_graphics_context_save_gstate_mac.mm |
=================================================================== |
--- ui/gfx/scoped_ns_graphics_context_save_gstate_mac.mm (revision 95630) |
+++ ui/gfx/scoped_ns_graphics_context_save_gstate_mac.mm (working copy) |
@@ -4,20 +4,19 @@ |
#include "ui/gfx/scoped_ns_graphics_context_save_gstate_mac.h" |
-#import <AppKit/AppKit.h> |
+#include <AppKit/AppKit.h> |
-#include "base/logging.h" |
- |
namespace gfx { |
-ScopedNSGraphicsContextSaveGState::ScopedNSGraphicsContextSaveGState() |
- : context_([NSGraphicsContext currentContext]) { |
- [NSGraphicsContext saveGraphicsState]; |
+ScopedNSGraphicsContextSaveGState::ScopedNSGraphicsContextSaveGState( |
+ NSGraphicsContext* context) : context_([context retain]) { |
+ if (!context_) |
+ context_.reset([[NSGraphicsContext currentContext] retain]); |
+ [context_ saveGraphicsState]; |
} |
ScopedNSGraphicsContextSaveGState::~ScopedNSGraphicsContextSaveGState() { |
- [NSGraphicsContext restoreGraphicsState]; |
- DCHECK_EQ(context_, [NSGraphicsContext currentContext]); |
+ [context_ restoreGraphicsState]; |
} |
} // namespace gfx |