diff options
Diffstat (limited to 'src/drivers/Xlib')
| -rw-r--r-- | src/drivers/Xlib/Fl_Xlib_Copy_Surface_Driver.cxx | 3 | ||||
| -rw-r--r-- | src/drivers/Xlib/Fl_Xlib_Image_Surface_Driver.cxx | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/drivers/Xlib/Fl_Xlib_Copy_Surface_Driver.cxx b/src/drivers/Xlib/Fl_Xlib_Copy_Surface_Driver.cxx index c905dbbad..f60f748f5 100644 --- a/src/drivers/Xlib/Fl_Xlib_Copy_Surface_Driver.cxx +++ b/src/drivers/Xlib/Fl_Xlib_Copy_Surface_Driver.cxx @@ -78,7 +78,8 @@ void Fl_Xlib_Copy_Surface_Driver::set_current() { oldwindow = fl_window; fl_window = xid->offscreen(); #if FLTK_USE_CAIRO - ((Fl_X11_Cairo_Graphics_Driver*)driver())->set_cairo(cairo_); + Fl_Cairo_Graphics_Driver *dr = (Fl_Cairo_Graphics_Driver*)driver(); + if (!dr->cr()) dr->set_cairo(cairo_); #endif } diff --git a/src/drivers/Xlib/Fl_Xlib_Image_Surface_Driver.cxx b/src/drivers/Xlib/Fl_Xlib_Image_Surface_Driver.cxx index 2660dcda7..280ad234c 100644 --- a/src/drivers/Xlib/Fl_Xlib_Image_Surface_Driver.cxx +++ b/src/drivers/Xlib/Fl_Xlib_Image_Surface_Driver.cxx @@ -82,7 +82,8 @@ void Fl_Xlib_Image_Surface_Driver::set_current() { pre_window = fl_window; fl_window = offscreen; #if FLTK_USE_CAIRO - ((Fl_X11_Cairo_Graphics_Driver*)driver())->set_cairo(cairo_); + Fl_Cairo_Graphics_Driver *dr = (Fl_Cairo_Graphics_Driver*)driver(); + if (!dr->cr()) dr->set_cairo(cairo_); #endif } |
