Improved use of the gl_texture_reset() function:

it is necessary only if all GL windows have been deleted.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10848 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Manolo Gouy 2015-08-31 16:43:41 +00:00
parent 529927e0b8
commit feab968e26
2 changed files with 6 additions and 9 deletions

View File

@ -29,7 +29,9 @@
# ifdef WIN32
void fl_save_dc(HWND, HDC);
# endif
#elif defined(__APPLE__)
extern void gl_texture_reset();
#endif
static Fl_Gl_Choice *first;
@ -239,6 +241,9 @@ GLContext fl_create_gl_context(Fl_Window* window, const Fl_Gl_Choice* g, int lay
GLContext fl_create_gl_context(Fl_Window* window, const Fl_Gl_Choice* g, int layer) {
GLContext context, shared_ctx = 0;
if (context_list && nContext) shared_ctx = context_list[0];
// resets the pile of string textures used to draw strings
// necessary before the first context is created
if (!shared_ctx) gl_texture_reset();
context = Fl_X::create_GLcontext_for_window(g->pixelformat, shared_ctx, window);
if (!context) return 0;
add_context((GLContext)context);

View File

@ -20,9 +20,6 @@
#if HAVE_GL
extern int fl_gl_load_plugin;
#ifdef __APPLE__
extern void gl_texture_reset();
#endif
#include <FL/Fl.H>
#include <FL/x.H>
@ -189,11 +186,6 @@ void Fl_Gl_Window::make_current() {
context_ = fl_create_gl_context(this, g);
valid(0);
context_valid(0);
#ifdef __APPLE__
// resets the pile of string textures used to draw strings
// necessary when the context is renewed
gl_texture_reset();
#endif
}
fl_set_gl_context(this, context_);