메뉴 건너뛰기

창작에 관련된 질문이나 간단한 팁, 예제를 올리는 곳

만약 CocoStudio로 UI를 만든 후
GUIReader를 써서 지정 폰트를 불러오면
엔진 버그로 인해서 메모리 누수가 생긴다.
이걸 고치려면 LabelBMFont.cpp를 아래와 같이 수정해야 한다.

void LabelBMFont::setFntFile(const char *fileName)
{
    if (!fileName || strcmp(fileName, "") == 0)
    {
        return;
    }

    _fntFileName = fileName;
    _labelBMFontRenderer->initWithString("", fileName);
    _labelBMFontRenderer->setFntFile(fileName);
    updateAnchorPoint();
    labelBMFontScaleChangedWithSize();
    _fntFileHasInit = true;
    setText(_stringValue.c_str());
}

initWithString을 지우고
SetFntFile을 집어넣는다.

원래대로라면 Init를 두번하는 셈이 되므로
이 경우 TextAtlas가 중복 생성되서 메모리 누수가 발생한다.

일단 cocos2d-x의 CCLabelBMFont는 두번 init를 허용하지 않는데
왜 이렇게 두번 init하게 프로그램을 짜놨는지 모르겠다.
실수겠지...
조회 수 :
783
등록일 :
2014.03.10
02:21:11 (*.75.34.131)
엮인글 :
게시글 주소 :
https://hondoom.com/zbxe/index.php?mid=study&document_srl=769819

clans

2014.05.24
11:26:02
(*.197.153.233)

좋은정보 퍼가요 제블로그에 출처 남겨둘게요.^^

sunghoon

2014.05.31
19:30:24
(*.177.106.187)

좋은 정보 감사합니다. 퍼갈게요

List of Articles
번호 제목 글쓴이 날짜 조회 수sort
185 자동화된 Lua 스크립트의 문서화 - LDoc 노루발 2021-01-11 43225
184 VC++ 2008 Express Edition에서 문D라이브 링크 [2] A.미스릴 2008-04-17 13090
183 cocos2d-x 터치와 업데이트 활성화 시키기 똥똥배 2011-10-27 10656
182 문D 질문 #2 [1] A.미스릴 2008-06-01 8797
181 MFC 더블 버퍼링 질문 [2] A.미스릴 2008-06-13 6602
180 문D라이브로 만드는 더블드래곤.. 질문입니다 [4] 하와이안 2009-01-15 5550
179 임의의 점이 다각형 내부에 있는지 검사하는 함수 똥똥배 2008-04-14 5358
178 문D라이브로 더블드래곤을 만들자(11) file 똥똥배 2008-05-17 4647
177 문D라이브로 더블드래곤을 만들자(1) [2] file 똥똥배 2008-04-16 4479
176 씨언어 질문 (내일 시험 ㄷㄷ) [1] 쿠로쇼우 2008-06-17 4331
175 문D라이브도 더블버퍼링이 필요한가요? [3] A.미스릴 2008-06-28 4223
174 문D라이브로 더블드래곤을 만들자(10) file 똥똥배 2008-05-17 4065
173 #define에 대해 [1] A.미스릴 2008-05-19 4061
172 클레스들을 담은 헤더들의 혼란 [4] A.미스릴 2008-06-21 3892
171 srand에 관해서 [4] A.미스릴 2008-07-15 3867
170 문D 질문 [5] A.미스릴 2008-05-26 3847
169 흥크립트에 궁금한점 [4] 상상악수 2008-08-21 3835
168 C++ 질문 [1] A.미스릴 2008-12-21 3818
167 TinyXML의 한계 [2] 똥똥배 2011-12-11 3753
166 문D라이브 2008년 5월 19일 버전 [2] 혼돈 2008-06-02 3747