diff options
| author | Manolo Gouy <Manolo> | 2016-03-04 08:20:55 +0000 |
|---|---|---|
| committer | Manolo Gouy <Manolo> | 2016-03-04 08:20:55 +0000 |
| commit | d1d57d12532cd0dedccb6f776063c47b8874f9f2 (patch) | |
| tree | 331efdf45bd79310ad74274a1ede4efe40424e3f /src/drivers | |
| parent | 750c372b29f703b10d4689bb22a783101dc934f7 (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')
| -rw-r--r-- | src/drivers/Xlib/Fl_Xlib_Graphics_Driver_image.cxx | 14 |
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_) { |
