X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fbctexture.C;h=59e21810d50ba64ffd07c23ebb4ca240592b4d11;hb=8bd72f90925843be9ab9182c89761ee0640e7873;hp=b527b4e137327ab853a7528958907338d30b56d2;hpb=02a79c110b1bce1d500849c82b2098863cd60424;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/guicast/bctexture.C b/cinelerra-5.1/guicast/bctexture.C index b527b4e1..59e21810 100644 --- a/cinelerra-5.1/guicast/bctexture.C +++ b/cinelerra-5.1/guicast/bctexture.C @@ -33,7 +33,6 @@ BC_Texture::BC_Texture(int w, int h, int colormodel) this->h = h; this->colormodel = colormodel; texture_id = -1; - texture_id = -1; texture_w = 0; texture_h = 0; texture_components = 0; @@ -247,11 +246,14 @@ void BC_Texture::write_tex(const char *fn) #ifdef HAVE_GL int prev_id = -1; glGetIntegerv(GL_ACTIVE_TEXTURE, &prev_id); - glActiveTexture(this->texture_id); + glActiveTexture(GL_TEXTURE31); + glBindTexture(GL_TEXTURE_2D, texture_id); + glEnable(GL_TEXTURE_2D); int w = get_texture_w(), h = get_texture_h(); - uint8_t img[w*h*3]; + uint8_t *img = new uint8_t[w*h*3]; glGetTexImage(GL_TEXTURE_2D, 0, GL_RGB, GL_UNSIGNED_BYTE, img); write_ppm(img, w, h, "%s", fn); + delete img; glActiveTexture(prev_id); #endif }