Mac OS: Fixed bug where gl_draw() would fail after deletion of an Fl_GL_Window.

The fix invalidates the pile of string textures after each Fl_Gl_Window deletion.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8536 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Manolo Gouy 2011-03-26 14:37:28 +00:00
parent 3b7ff83e04
commit a58a2ed9fb
2 changed files with 11 additions and 0 deletions

View File

@ -34,6 +34,9 @@ static int temp = fl_gl_load_plugin;
#include <FL/Fl.H>
#include <FL/x.H>
#ifdef __APPLE__
#include <FL/gl.H>
#endif
#include "Fl_Gl_Choice.H"
#include <FL/Fl_Gl_Window.H>
#include <stdlib.h>
@ -469,6 +472,10 @@ void Fl_Gl_Window::hide() {
Fl_Gl_Window::~Fl_Gl_Window() {
hide();
// delete overlay; this is done by ~Fl_Group
#ifdef __APPLE__
// resets the pile of string textures used to draw strings
gl_texture_pile_height(gl_texture_pile_height());
#endif
}
void Fl_Gl_Window::init() {

View File

@ -559,6 +559,10 @@ void gl_texture_pile_height(int max)
/** @} */
#elif defined(__APPLE__)
// used only if __ppc__
int gl_texture_pile_height(void) {return 0;}
void gl_texture_pile_height(int max) {}
#endif // GL_DRAW_USES_TEXTURES
#endif // HAVE_GL