summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBill Spitzak <spitzak@gmail.com>1999-08-09 06:19:33 +0000
committerBill Spitzak <spitzak@gmail.com>1999-08-09 06:19:33 +0000
commit7508ce1e31fb3ab2d6699a95ffb7711e74a2516e (patch)
tree06c4034668186381ac9d5d348de405d72166f374 /src
parent467e73ed0b946bf882479c941bf666716482de7e (diff)
It crashed when a group with exactly 1 child was deleted.
Overlay on a single buffered Fl_Gl_Window is faked more accurately when there is no overlay hardware. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@639 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src')
-rw-r--r--src/Fl_Gl_Window.cxx8
-rw-r--r--src/Fl_Group.cxx6
-rw-r--r--src/Fl_Menu.cxx15
3 files changed, 18 insertions, 11 deletions
diff --git a/src/Fl_Gl_Window.cxx b/src/Fl_Gl_Window.cxx
index ef21b9107..7b1a21ebb 100644
--- a/src/Fl_Gl_Window.cxx
+++ b/src/Fl_Gl_Window.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_Gl_Window.cxx,v 1.12.2.1 1999/03/18 20:04:12 bill Exp $"
+// "$Id: Fl_Gl_Window.cxx,v 1.12.2.2 1999/08/09 06:19:32 bill Exp $"
//
// OpenGL window code for the Fast Light Tool Kit (FLTK).
//
@@ -255,9 +255,7 @@ void Fl_Gl_Window::flush() {
} else { // single-buffered context is simpler:
- // this faking of the overlay is incorrect but worked good for
- // one in-house program:
- if (overlay != this || damage()!=FL_DAMAGE_OVERLAY || !Fl::pushed()) draw();
+ draw();
if (overlay == this) draw_overlay();
glFlush();
@@ -328,5 +326,5 @@ void Fl_Gl_Window::draw_overlay() {}
#endif
//
-// End of "$Id: Fl_Gl_Window.cxx,v 1.12.2.1 1999/03/18 20:04:12 bill Exp $".
+// End of "$Id: Fl_Gl_Window.cxx,v 1.12.2.2 1999/08/09 06:19:32 bill Exp $".
//
diff --git a/src/Fl_Group.cxx b/src/Fl_Group.cxx
index 0d81124bc..8ff018746 100644
--- a/src/Fl_Group.cxx
+++ b/src/Fl_Group.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_Group.cxx,v 1.8.2.2 1999/07/22 21:37:03 bill Exp $"
+// "$Id: Fl_Group.cxx,v 1.8.2.3 1999/08/09 06:19:32 bill Exp $"
//
// Group widget for the Fast Light Tool Kit (FLTK).
//
@@ -259,7 +259,7 @@ void Fl_Group::clear() {
int old_children = children();
// clear everything now, in case fl_fix_focus recursively calls us:
children_ = 0;
- array_ = 0;
+ // array_ = 0; dont do this, it will clobber old_array if only one child
savedfocus_ = 0;
resizable_ = this;
init_sizes();
@@ -503,5 +503,5 @@ void Fl_Group::draw_outside_label(const Fl_Widget& w) const {
}
//
-// End of "$Id: Fl_Group.cxx,v 1.8.2.2 1999/07/22 21:37:03 bill Exp $".
+// End of "$Id: Fl_Group.cxx,v 1.8.2.3 1999/08/09 06:19:32 bill Exp $".
//
diff --git a/src/Fl_Menu.cxx b/src/Fl_Menu.cxx
index 11d7437e3..d2a9290d0 100644
--- a/src/Fl_Menu.cxx
+++ b/src/Fl_Menu.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_Menu.cxx,v 1.18.2.1 1999/04/26 06:45:27 bill Exp $"
+// "$Id: Fl_Menu.cxx,v 1.18.2.2 1999/08/09 06:19:33 bill Exp $"
//
// Menu code for the Fast Light Tool Kit (FLTK).
//
@@ -536,7 +536,16 @@ int menuwindow::handle(int e) {
// the second click (not the one that popped up the menu):
if (!Fl::event_is_click() || p.state == PUSH_STATE ||
p.menubar && p.current_item && !p.current_item->submenu() // button
- ) p.state = DONE_STATE;
+ ) {
+#if 0 // makes the check/radio items leave the menu up
+ const Fl_Menu_Item* m = p.current_item;
+ if (m && button && (m->flags & (FL_MENU_TOGGLE|FL_MENU_RADIO))) {
+ ((Fl_Menu_*)button)->picked(m);
+ p.p[p.menu_number]->redraw();
+ } else
+#endif
+ p.state = DONE_STATE;
+ }
return 1;
}
return Fl_Window::handle(e);
@@ -719,5 +728,5 @@ const Fl_Menu_Item* Fl_Menu_Item::test_shortcut() const {
}
//
-// End of "$Id: Fl_Menu.cxx,v 1.18.2.1 1999/04/26 06:45:27 bill Exp $".
+// End of "$Id: Fl_Menu.cxx,v 1.18.2.2 1999/08/09 06:19:33 bill Exp $".
//