diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Fl_cocoa.mm | 8 | ||||
| -rw-r--r-- | src/drivers/Quartz/Fl_Quartz_Graphics_Driver_rect.cxx | 5 |
2 files changed, 4 insertions, 9 deletions
diff --git a/src/Fl_cocoa.mm b/src/Fl_cocoa.mm index a4d3d499d..6c52ccb98 100644 --- a/src/Fl_cocoa.mm +++ b/src/Fl_cocoa.mm @@ -3325,14 +3325,6 @@ void Fl_X::q_fill_context() { fl_quartz_restore_line_style_(); } -// The only way to reset clipping to its original state is to pop the current graphics -// state and restore the global state. -void Fl_X::q_clear_clipping() { - if (!fl_gc) return; - CGContextRestoreGState(fl_gc); - CGContextSaveGState(fl_gc); -} - // Give the Quartz context back to the system void Fl_X::q_release_context(Fl_X *x) { if (x && x->gc!=fl_gc) return; diff --git a/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_rect.cxx b/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_rect.cxx index 686c66e5d..f06ef6f3d 100644 --- a/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_rect.cxx +++ b/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_rect.cxx @@ -269,7 +269,10 @@ void Fl_Quartz_Graphics_Driver::restore_clip() { fl_clip_state_number++; Fl_Region r = rstack[rstackptr]; if ( fl_window || fl_gc ) { // clipping for a true window or an offscreen buffer - Fl_X::q_clear_clipping(); + if (fl_gc) { + CGContextRestoreGState(fl_gc); + CGContextSaveGState(fl_gc); + } Fl_X::q_fill_context();//flip coords if bitmap context //apply program clip if (r) { |
