summaryrefslogtreecommitdiff
path: root/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_image.cxx
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2016-03-04 08:20:55 +0000
committerManolo Gouy <Manolo>2016-03-04 08:20:55 +0000
commitd1d57d12532cd0dedccb6f776063c47b8874f9f2 (patch)
tree331efdf45bd79310ad74274a1ede4efe40424e3f /src/drivers/Xlib/Fl_Xlib_Graphics_Driver_image.cxx
parent750c372b29f703b10d4689bb22a783101dc934f7 (diff)
Fix Fl_Xlib_Graphics_Driver::draw(Fl_RGB_Image *,...) that was incompletely changed in earlier commit.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11280 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/drivers/Xlib/Fl_Xlib_Graphics_Driver_image.cxx')
-rw-r--r--src/drivers/Xlib/Fl_Xlib_Graphics_Driver_image.cxx14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_image.cxx b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_image.cxx
index f9cc87c82..d466153cc 100644
--- a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_image.cxx
+++ b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_image.cxx
@@ -714,7 +714,7 @@ void Fl_Xlib_Graphics_Driver::draw(Fl_RGB_Image *img, int XP, int YP, int WP, in
return;
}
if (!img->id_) {
- Fl_Image_Surface *surface;
+ Fl_Image_Surface *surface = NULL;
int depth = img->d();
if (depth == 1 || depth == 3) {
surface = new Fl_Image_Surface(img->w(), img->h());
@@ -723,11 +723,13 @@ void Fl_Xlib_Graphics_Driver::draw(Fl_RGB_Image *img, int XP, int YP, int WP, in
surface = new Fl_Image_Surface(pixmap, img->w(), img->h());
depth |= FL_IMAGE_WITH_ALPHA;
}
- surface->set_current();
- fl_draw_image(img->array, 0, 0, img->w(), img->h(), depth, img->ld());
- surface->end_current();
- img->id_ = surface->get_offscreen_before_delete();
- delete surface;
+ if (surface) {
+ surface->set_current();
+ fl_draw_image(img->array, 0, 0, img->w(), img->h(), depth, img->ld());
+ surface->end_current();
+ img->id_ = surface->get_offscreen_before_delete();
+ delete surface;
+ }
}
if (img->id_) {
if (img->mask_) {