diff --git a/src/modules/font/freetype/Font.h b/src/modules/font/freetype/Font.h index b50469573..f8dfa6231 100644 --- a/src/modules/font/freetype/Font.h +++ b/src/modules/font/freetype/Font.h @@ -73,4 +73,4 @@ namespace freetype } // font } // love -#endif // LOVE_FONT_FREETYPE_FONT_H +#endif // LOVE_FONT_FREETYPE_FONT_H \ No newline at end of file diff --git a/src/modules/font/freetype/TrueTypeRasterizer.cpp b/src/modules/font/freetype/TrueTypeRasterizer.cpp index e00428a62..ce5a0e2a1 100644 --- a/src/modules/font/freetype/TrueTypeRasterizer.cpp +++ b/src/modules/font/freetype/TrueTypeRasterizer.cpp @@ -51,15 +51,10 @@ namespace freetype metrics.ascent = s.ascender >> 6; metrics.descent = s.descender >> 6; metrics.height = s.height >> 6; - - ref = WeakReference::obtain(this); } TrueTypeRasterizer::~TrueTypeRasterizer() { - ref->destroy(); - ref->release(); - FT_Done_Face(face); data->release(); } @@ -121,4 +116,4 @@ namespace freetype } // freetype } // font -} // love +} // love \ No newline at end of file diff --git a/src/modules/font/freetype/TrueTypeRasterizer.h b/src/modules/font/freetype/TrueTypeRasterizer.h index d16e69ce5..6fc13db0b 100644 --- a/src/modules/font/freetype/TrueTypeRasterizer.h +++ b/src/modules/font/freetype/TrueTypeRasterizer.h @@ -24,7 +24,6 @@ // LOVE #include #include -#include // TrueType2 #include @@ -52,8 +51,6 @@ namespace freetype // File data Data * data; - - WeakReference * ref; public: TrueTypeRasterizer(FT_Library library, Data * data, int size); @@ -70,4 +67,4 @@ namespace freetype } // font } // love -#endif // LOVE_FONT_FREETYPE_TRUE_TYPE_RASTERIZER_H +#endif // LOVE_FONT_FREETYPE_TRUE_TYPE_RASTERIZER_H \ No newline at end of file diff --git a/src/modules/font/freetype/wrap_Font.cpp b/src/modules/font/freetype/wrap_Font.cpp index 6bd88aeb1..e04d52978 100644 --- a/src/modules/font/freetype/wrap_Font.cpp +++ b/src/modules/font/freetype/wrap_Font.cpp @@ -49,7 +49,7 @@ namespace freetype int size = luaL_checkint(L, 2); t = instance->newRasterizer(d, size); } - + luax_newtype(L, "Rasterizer", FONT_RASTERIZER_T, t); return 1; } diff --git a/src/modules/graphics/opengl/Font.cpp b/src/modules/graphics/opengl/Font.cpp index bfb50fe6a..10046413e 100644 --- a/src/modules/graphics/opengl/Font.cpp +++ b/src/modules/graphics/opengl/Font.cpp @@ -40,9 +40,9 @@ namespace opengl { Font::Font(love::font::Rasterizer * r, const Image::Filter& filter) - : height(r->getHeight()), lineHeight(1), mSpacing(1), filter(filter) + : rasterizer(r), height(r->getHeight()), lineHeight(1), mSpacing(1), filter(filter) { - rasterizer = WeakReference::obtain(r); + r->retain(); love::font::GlyphData * gd = r->getGlyphData(32); type = (gd->getFormat() == love::font::GlyphData::FORMAT_LUMINANCE_ALPHA ? FONT_TRUETYPE : FONT_IMAGE); delete gd; @@ -51,7 +51,6 @@ namespace opengl Font::~Font() { - rasterizer->destroy(); rasterizer->release(); unloadVolatile(); } @@ -84,15 +83,13 @@ namespace opengl Font::Glyph * Font::addGlyph(int glyph) { - if (!rasterizer->isValid) return 0; - love::font::Rasterizer *r = (love::font::Rasterizer*) rasterizer->getData(); Glyph * g = new Glyph; g->list = glGenLists(1); if (g->list == 0) { // opengl failed to generate the list delete g; return NULL; } - love::font::GlyphData *gd = r->getGlyphData(glyph); + love::font::GlyphData *gd = rasterizer->getGlyphData(glyph); g->spacing = gd->getAdvance(); int w = gd->getWidth(); int h = gd->getHeight(); diff --git a/src/modules/graphics/opengl/Font.h b/src/modules/graphics/opengl/Font.h index 680efc0c1..ef4d44a8e 100644 --- a/src/modules/graphics/opengl/Font.h +++ b/src/modules/graphics/opengl/Font.h @@ -28,7 +28,6 @@ // LOVE #include -#include #include #include @@ -57,7 +56,7 @@ namespace opengl int spacing; }; - WeakReference *rasterizer; + love::font::Rasterizer * rasterizer; int height; float lineHeight; diff --git a/src/scripts/boot.lua b/src/scripts/boot.lua index c91da091c..bd5e3286d 100644 --- a/src/scripts/boot.lua +++ b/src/scripts/boot.lua @@ -321,7 +321,6 @@ function love.init() for i, v in ipairs(love._version_compat) do if c.version == v then compat = true - break end end if not compat then diff --git a/src/scripts/boot.lua.h b/src/scripts/boot.lua.h index 0398c1e38..88ac8841c 100644 --- a/src/scripts/boot.lua.h +++ b/src/scripts/boot.lua.h @@ -544,7 +544,6 @@ const unsigned char boot_lua[] = 0x09, 0x09, 0x69, 0x66, 0x20, 0x63, 0x2e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x3d, 0x20, 0x76, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09, 0x09, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x0a, - 0x09, 0x09, 0x09, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x0a, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65,