Browse Source

Hopefully fix the WIN32 resize on move bug.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2063 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
pull/168/head
Michael R Sweet 24 years ago
parent
commit
bab08d8347
  1. 2
      CHANGES
  2. 13
      src/Fl_win32.cxx

2
CHANGES

@ -1,5 +1,7 @@
CHANGES IN FLTK 1.1.0b13 CHANGES IN FLTK 1.1.0b13
- Windows resized by a program would revert to their
original size when moved under WIN32.
- Cygwin can only compile the new WIN32 drag-n-drop code - Cygwin can only compile the new WIN32 drag-n-drop code
using GCC 3.x. using GCC 3.x.
- Tooltips now appear for inactive and output widgets. - Tooltips now appear for inactive and output widgets.

13
src/Fl_win32.cxx

@ -1,5 +1,5 @@
// //
// "$Id: Fl_win32.cxx,v 1.33.2.37.2.23 2002/04/07 18:31:55 easysw Exp $" // "$Id: Fl_win32.cxx,v 1.33.2.37.2.24 2002/04/09 21:17:01 easysw Exp $"
// //
// WIN32-specific code for the Fast Light Tool Kit (FLTK). // WIN32-specific code for the Fast Light Tool Kit (FLTK).
// //
@ -868,8 +868,12 @@ void Fl_Window::resize(int X,int Y,int W,int H) {
int is_a_resize = (W != w() || H != h()); int is_a_resize = (W != w() || H != h());
int resize_from_program = (this != resize_bug_fix); int resize_from_program = (this != resize_bug_fix);
if (!resize_from_program) resize_bug_fix = 0; if (!resize_from_program) resize_bug_fix = 0;
if (X != x() || Y != y()) set_flag(FL_FORCE_POSITION); if (X != x() || Y != y()) {
else {if (!is_a_resize) return; flags |= SWP_NOMOVE;} set_flag(FL_FORCE_POSITION);
} else {
if (!is_a_resize) return;
flags |= SWP_NOMOVE;
}
if (is_a_resize) { if (is_a_resize) {
Fl_Group::resize(X,Y,W,H); Fl_Group::resize(X,Y,W,H);
if (shown()) {redraw(); i->wait_for_expose = 1;} if (shown()) {redraw(); i->wait_for_expose = 1;}
@ -879,6 +883,7 @@ void Fl_Window::resize(int X,int Y,int W,int H) {
} }
if (!border()) flags |= SWP_NOACTIVATE; if (!border()) flags |= SWP_NOACTIVATE;
if (resize_from_program && shown()) { if (resize_from_program && shown()) {
if (!resizable()) size_range(w(),h(),w(),h());
int dummy, bt, bx, by; int dummy, bt, bx, by;
//Ignore window managing when resizing, so that windows (and more //Ignore window managing when resizing, so that windows (and more
//specifically menus) can be moved offscreen. //specifically menus) can be moved offscreen.
@ -1157,5 +1162,5 @@ void Fl_Window::make_current() {
} }
// //
// End of "$Id: Fl_win32.cxx,v 1.33.2.37.2.23 2002/04/07 18:31:55 easysw Exp $". // End of "$Id: Fl_win32.cxx,v 1.33.2.37.2.24 2002/04/09 21:17:01 easysw Exp $".
// //

Loading…
Cancel
Save