diff --git a/CHANGES b/CHANGES index 612f20ef2..ae9403753 100644 --- a/CHANGES +++ b/CHANGES @@ -2,6 +2,8 @@ CHANGES IN FLTK 1.1.7 - Documentation fixes (STR #648, STR #692, STR #730, STR #744, STR #745) + - FLUID windows that are resized through the widget panel + now remain resizable by the window manager. - Increased the size of the background image used by the plastic scheme to reduce the CPU load of redraws (STR #769) diff --git a/fluid/Fl_Widget_Type.cxx b/fluid/Fl_Widget_Type.cxx index af8331d45..5557eb679 100644 --- a/fluid/Fl_Widget_Type.cxx +++ b/fluid/Fl_Widget_Type.cxx @@ -423,7 +423,11 @@ void x_cb(Fl_Value_Input *i, void *v) { if (o->selected && o->is_widget()) { Fl_Widget *w = ((Fl_Widget_Type *)o)->o; w->resize((int)i->value(), w->y(), w->w(), w->h()); - if (w->window()) w->window()->redraw(); + if (w->window()) w->window(); + if (o->is_window()) { + ((Fl_Window *)w)->size_range(gridx, gridy, Fl::w(), Fl::h(), + gridx, gridy, 0); + } } } } @@ -441,6 +445,10 @@ void y_cb(Fl_Value_Input *i, void *v) { Fl_Widget *w = ((Fl_Widget_Type *)o)->o; w->resize(w->x(), (int)i->value(), w->w(), w->h()); if (w->window()) w->window()->redraw(); + if (o->is_window()) { + ((Fl_Window *)w)->size_range(gridx, gridy, Fl::w(), Fl::h(), + gridx, gridy, 0); + } } } } @@ -458,6 +466,10 @@ void w_cb(Fl_Value_Input *i, void *v) { Fl_Widget *w = ((Fl_Widget_Type *)o)->o; w->resize(w->x(), w->y(), (int)i->value(), w->h()); if (w->window()) w->window()->redraw(); + if (o->is_window()) { + ((Fl_Window *)w)->size_range(gridx, gridy, Fl::w(), Fl::h(), + gridx, gridy, 0); + } } } } @@ -475,6 +487,10 @@ void h_cb(Fl_Value_Input *i, void *v) { Fl_Widget *w = ((Fl_Widget_Type *)o)->o; w->resize(w->x(), w->y(), w->w(), (int)i->value()); if (w->window()) w->window()->redraw(); + if (o->is_window()) { + ((Fl_Window *)w)->size_range(gridx, gridy, Fl::w(), Fl::h(), + gridx, gridy, 0); + } } } }