Fix for issue #429 : Segfault with Ctrl+/- with current git version

This commit is contained in:
ManoloFLTK 2022-04-14 11:07:12 +02:00
parent 1e99a00c65
commit d83d89679b
4 changed files with 6 additions and 6 deletions

View File

@ -50,8 +50,8 @@ public:
Fl_Bitmap(const char *bits, int W, int H) :
Fl_Image(W,H,0), array((const uchar *)bits), alloc_array(0), id_(0), cache_w_(0),cache_h_(0) {data((const char **)&array, 1);}
virtual ~Fl_Bitmap();
virtual Fl_Image *copy(int W, int H);
Fl_Image *copy() { return Fl_Image::copy(); }
virtual Fl_Image *copy(int W, int H) const;
Fl_Image *copy() const { return Fl_Image::copy(); }
virtual void draw(int X, int Y, int W, int H, int cx=0, int cy=0);
void draw(int X, int Y) {draw(X, Y, w(), h(), 0, 0);}
virtual void label(Fl_Widget*w);

View File

@ -63,8 +63,8 @@ public:
/** The constructors create a new pixmap from the specified XPM data. */
explicit Fl_Pixmap(const uchar* const * D) : Fl_Image(-1,0,1), alloc_data(0), id_(0), mask_(0) {set_data((const char*const*)D); measure();}
virtual ~Fl_Pixmap();
virtual Fl_Image *copy(int W, int H);
Fl_Image *copy() { return Fl_Image::copy(); }
virtual Fl_Image *copy(int W, int H) const;
Fl_Image *copy() const { return Fl_Image::copy(); }
virtual void color_average(Fl_Color c, float i);
virtual void desaturate();
virtual void draw(int X, int Y, int W, int H, int cx=0, int cy=0);

View File

@ -55,7 +55,7 @@ void Fl_Bitmap::label(Fl_Menu_Item* m) {
m->label(FL_IMAGE_LABEL, (const char*)this);
}
Fl_Image *Fl_Bitmap::copy(int W, int H) {
Fl_Image *Fl_Bitmap::copy(int W, int H) const {
Fl_Bitmap *new_image; // New RGB image
uchar *new_array; // New array for image data

View File

@ -125,7 +125,7 @@ void Fl_Pixmap::copy_data() {
alloc_data = 1;
}
Fl_Image *Fl_Pixmap::copy(int W, int H) {
Fl_Image *Fl_Pixmap::copy(int W, int H) const {
Fl_Pixmap *new_image; // New pixmap
if (!data()) { // happens with bad pixmap data
return new Fl_Pixmap((char *const*)0);