Fixed OpenGL hide/show issue in OS X (STR #2260)

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7831 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Matthias Melcher 2010-11-14 17:28:48 +00:00
parent 6d2f0273f3
commit 6e863f844d
3 changed files with 25 additions and 1 deletions

View File

@ -1,5 +1,6 @@
CHANGES IN FLTK 1.3.0
- Fixed OpenGL hide/show issue in OS X (STR #2260)
- Added visual feedback for button shortcuts (STR #2372)
- Fixed internationalisation of menus using FLuid (STR #2246)
- Fixed blinking of selection when the mouse was dragged

View File

@ -87,7 +87,8 @@ public:
void flush();
void hide();
void resize(int,int,int,int);
int handle(int);
/**
Is turned off when FLTK creates a new context for this window or
when the window resizes, and is turned on \e after draw() is called.

View File

@ -522,6 +522,28 @@ void Fl_Gl_Window::draw_overlay() {}
void Fl_Gl_Window::draw() {
Fl::fatal("Fl_Gl_Window::draw() *must* be overriden. Please refer to the documentation.");
}
/**
Handle some FLTK events as needed.
*/
int Fl_Gl_Window::handle(int event)
{
#if (__APPLE_QUARTZ__)
if (event==FL_HIDE) {
// if we are not hidden, just the parent was hidden, so we must throw away the context
if (!visible_r())
context(0); // remove context wthout setting the hidden flags
}
if (event==FL_SHOW) {
// if we are not hidden, just the parent was shown, so we must create a new context
if (visible_r())
show(); //
}
#endif
return Fl_Window::handle(event);
}
//
// End of "$Id$".
//